Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 665 → Rev 666

/kernel/trunk/arch/sparc64/src/context.S
61,6 → 61,8
stx %l5, [\r + OFFSET_L5]
stx %l6, [\r + OFFSET_L6]
stx %l7, [\r + OFFSET_L7]
rdpr %cleanwin, %g1
stx %g1, [\r + OFFSET_CLEANWIN]
.endm
 
.macro CONTEXT_LOAD r
82,6 → 84,8
ldx [\r + OFFSET_L5], %l5
ldx [\r + OFFSET_L6], %l6
ldx [\r + OFFSET_L7], %l7
ldx [\r + OFFSET_CLEANWIN], %g1
wrpr %g1, %g0, %cleanwin
.endm
 
context_save_arch:
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
37,7 → 37,12
* This arrangement is beneficial because kernel handlers stay on their
* link-time addresses which is good for debugging.
*/
 
.register %g2, #scratch
.register %g3, #scratch
.register %g6, #scratch
.register %g7, #scratch
 
.text
 
#include <arch/trap/trap_table.h>
202,3 → 207,20
.global trap_table_save
trap_table_save:
.space TABLE_SIZE, 0
 
 
/* Trap handler that explicitly saves global registers.
*
* Input registers:
* %l0 Address of function to call.
* Output registers:
* %l1 - %l7 Copy of %g1 - %g7
*/
.global saving_handler
saving_handler:
SAVE_GLOBALS
call %l0
nop
RESTORE_GLOBALS
restore /* matches the save instruction from the top-level handler */
retry
/kernel/trunk/arch/sparc64/src/panic.S
28,10 → 28,15
 
.text
 
#include <arch/stack.h>
 
.global panic_printf
panic_printf:
save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
call printf
nop
call halt
nop
/* Not reached. */
restore