Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2609 → Rev 2610

/trunk/kernel/arch/sparc64/include/syscall.h
File deleted
/trunk/kernel/arch/sparc64/include/stack.h
46,10 → 46,26
#define STACK_WINDOW_SAVE_AREA_SIZE (16 * STACK_ITEM_SIZE)
 
/**
* Six extended words for first six arguments.
*/
#define STACK_ARG_SAVE_AREA_SIZE (6 * STACK_ITEM_SIZE)
 
/**
* By convention, the actual top of the stack is %sp + STACK_BIAS.
*/
#define STACK_BIAS 2047
 
/*
* Offsets of arguments on stack.
*/
#define STACK_ARG0 0
#define STACK_ARG1 8
#define STACK_ARG2 16
#define STACK_ARG3 24
#define STACK_ARG4 32
#define STACK_ARG5 40
#define STACK_ARG6 48
 
#endif
 
/** @}
/trunk/kernel/arch/sparc64/include/trap/syscall.h
45,10 → 45,8
#ifdef __ASM__
 
.macro TRAP_INSTRUCTION n
mov TT_TRAP_INSTRUCTION(\n), %g2
sethi %hi(syscall), %g1
ba trap_instruction_handler
or %g1, %lo(syscall), %g1
mov TT_TRAP_INSTRUCTION(\n) - TT_TRAP_INSTRUCTION(0), %g2
.endm
 
#endif /* __ASM__ */
/trunk/kernel/arch/sparc64/include/trap/trap_table.h
77,22 → 77,26
.endm
 
/*
* The following needs to be in sync with the
* definition of the istate structure.
* The following needs to be in sync with the definition of the istate
* structure. The one STACK_ITEM_SIZE is counted for space holding the 7th
* argument to syscall_handler (i.e. syscall number) and the other
* STACK_ITEM_SIZE is counted because of the required alignment.
*/
#define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE (STACK_WINDOW_SAVE_AREA_SIZE+(12*8))
#define SAVED_TSTATE -(1*8)
#define SAVED_TPC -(2*8)
#define SAVED_TNPC -(3*8) /* <-- istate_t begins here */
#define SAVED_Y -(4*8)
#define SAVED_I0 -(5*8)
#define SAVED_I1 -(6*8)
#define SAVED_I2 -(7*8)
#define SAVED_I3 -(8*8)
#define SAVED_I4 -(9*8)
#define SAVED_I5 -(10*8)
#define SAVED_I6 -(11*8)
#define SAVED_I7 -(12*8)
#define PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE \
(STACK_WINDOW_SAVE_AREA_SIZE + STACK_ARG_SAVE_AREA_SIZE + \
(2 * STACK_ITEM_SIZE) + (12 * 8))
#define SAVED_TSTATE -(1 * 8)
#define SAVED_TPC -(2 * 8)
#define SAVED_TNPC -(3 * 8) /* <-- istate_t begins here */
#define SAVED_Y -(4 * 8)
#define SAVED_I0 -(5 * 8)
#define SAVED_I1 -(6 * 8)
#define SAVED_I2 -(7 * 8)
#define SAVED_I3 -(8 * 8)
#define SAVED_I4 -(9 * 8)
#define SAVED_I5 -(10 * 8)
#define SAVED_I6 -(11 * 8)
#define SAVED_I7 -(12 * 8)
 
.macro PREEMPTIBLE_HANDLER f
sethi %hi(\f), %g1