/trunk/kernel/arch/sparc64/include/context_offset.h |
---|
47,6 → 47,5 |
#define OFFSET_L5 0x78 |
#define OFFSET_L6 0x80 |
#define OFFSET_L7 0x88 |
#define OFFSET_CLEANWIN 0x98 |
#endif |
/trunk/kernel/arch/sparc64/include/context.h |
---|
48,8 → 48,7 |
#define context_set(c, _pc, stack, size) \ |
(c)->pc = ((uintptr_t) _pc) - 8; \ |
(c)->sp = ((uintptr_t) stack) + ALIGN_UP((size), STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA); \ |
(c)->fp = -STACK_BIAS; \ |
(c)->cleanwin = 0 |
(c)->fp = -STACK_BIAS |
/* |
76,7 → 75,6 |
uint64_t l6; |
uint64_t l7; |
ipl_t ipl; |
uint64_t cleanwin; |
}; |
#endif |
/trunk/kernel/arch/sparc64/src/context.S |
---|
60,8 → 60,6 |
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 |
83,8 → 81,6 |
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: |