CALLFRAMELEN
+ PAGE_SIZE - CALLFRAMELEN;
addi sp,er,-FRAMELEN-CALLFRAMELEN; /* stackpointer for lwp0 */ \
stptr tmp2,-CALLFRAMELEN(er); /* end of stack chain */ \
stptru tmp2,-CALLFRAMELEN(sp) /* end of stack chain */
#define FRAMELEN roundup(sizeof(struct ktrapframe), CALLFRAMELEN)
#define ktrapframe(l) ((struct ktrapframe *)(uvm_lwp_getuarea(l) + USPACE - CALLFRAMELEN - FRAMELEN))
#define SFRAMELEN roundup(sizeof(struct switchframe), CALLFRAMELEN)
cpu_hatch_stack = (uint32_t)hp + HATCH_STACK_SIZE - CALLFRAMELEN;
fp = (struct sigcontext *)((uintptr_t)(fp - 1) & -CALLFRAMELEN);
KASSERT((sip & (CALLFRAMELEN-1)) == 0);
KASSERT((ucp & (CALLFRAMELEN-1)) == 0);
sp -= CALLFRAMELEN;
CTASSERT((sizeof(siginfo_t) & (CALLFRAMELEN-1)) == 0);
CTASSERT((sizeof(ucontext_t) & (CALLFRAMELEN-1)) == 0);
sp &= ~(CALLFRAMELEN-1);
sp &= ~(CALLFRAMELEN-1);
for (i = 0; i < SFRAMELEN + CALLFRAMELEN + FRAMELEN;