/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,10 → 77,14 |
.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 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 */ |