SA
/* [A,C] */ TNS("lodsb",SA), TS("lods",SA), TNS("scasb",AD), TS("scas",AD),
case SA:
(uintptr_t)sp->ss_sp != SA((uintptr_t)sp->ss_sp) ||
(uintptr_t)sp->ss_size != SA((uintptr_t)sp->ss_size)) {
#define CHECK_FOR_SIGFRAME(fp, oldctx) ((fp) + SA(sizeof (struct frame)) \
reserve = SA(MINFRAME);
reserve = SA(512);
char frame[SA(MINFRAME)];
SA(MINFRAME);
save %sp, -SA(MINFRAME), %sp; \
save %sp,-SA(MINFRAME),%sp; \
save %sp,-SA(MINFRAME),%sp; \
if (find_uclink(&ucl, sp + SA(sizeof (struct frame))) &&
SA(sizeof (struct frame))) == sizeof (uc)) {
if (find_uclink(&ucl, sp + SA(sizeof (struct frame))) &&
SA(sizeof (struct frame))) == sizeof (uc)) {
if (tmp != SA(tmp))
stksize -= SA(sizeof (kthread_t) + PTR24_ALIGN - 1);
stksize -= SA(sizeof (kthread_t));
INTR_STACK_SIZE - SA(MINFRAME);
write_reg(dev, SA, 0);
tmp = read_reg(dev, SA);
write_reg(dev, SA, tmp);
tmp = read_reg(dev, SA);
write_reg(dev, SA, tmp);
tmp = read_reg(dev, SA);
write_reg(dev, SA, tmp);
tmp = read_reg(dev, SA);
write_reg(dev, SA, tmp);
write_reg(dev, SA, 0);
set_reg_bits(dev, SA, 0, 0x100);
set_reg_bits(dev, SA, 0, 0x7);
clear_reg_bits(dev, SA, 0, 0x100);
clear_reg_bits(dev, SA, 0, 0x7);
write_reg(dev, SA, 0, 0);
SA(sp_color_stride)));
return (SA(P2PHASE(off, aslr_max_stack_skew)));
ASSERT(SA((uintptr_t)stackptr) == (uintptr_t)stackptr);
ASSERT(SA((uintptr_t)stackptr) == (uintptr_t)stackptr);
ASSERT(SA((uintptr_t)stackptr) == (uintptr_t)stackptr);
ASSERT(SA(t->t_sp) == t->t_sp);
ASSERT(SA((uintptr_t)stackptr) == (uintptr_t)stackptr);
return (stk - SA(MINFRAME));
stk -= SA(sizeof (struct regs) + SA(MINFRAME));
lwp->lwp_regs = (void *)(stk + SA(MINFRAME));
cp->cpu_intr_stack - (INTR_STACK_SIZE - SA(MINFRAME)));
stacktop = (struct frame *)(CPU->cpu_intr_stack + SA(MINFRAME));
stacktop = (struct frame *)(CPU->cpu_intr_stack + SA(MINFRAME));
stacktop = (struct frame *)(CPU->cpu_intr_stack + SA(MINFRAME));
minstacksz = sizeof (struct sigframe) + SA(sizeof (*uc));
minstacksz += SA(sizeof (siginfo_t));
xsave_size = SA(fpu_signal_size(lwp));
fp = (caddr_t)(SA((uintptr_t)lwp->lwp_sigaltstack.ss_sp) +
SA(lwp->lwp_sigaltstack.ss_size) - STACK_ALIGN);
fp -= SA(sizeof (siginfo_t));
framesz = SA(len);
argp = sp + SA(MINFRAME);
save %sp, -SA(MINFRAME), %sp; \
stacktop = (struct frame *)(CPU->cpu_intr_stack + SA(MINFRAME));
stacktop = (struct frame *)CPU->cpu_intr_stack + SA(MINFRAME);
*tinstr++ = FBT_SAVEIMM(FBT_REG_O6, -SA(MINFRAME), FBT_REG_O6);
-SA(MINFRAME), FBT_REG_O6);
*tinstr++ = FBT_SAVEIMM(FBT_REG_O6, -SA(MINFRAME), FBT_REG_O6);
#define SDT_SAVE (0x9de3a000 | (-SA(MINFRAME) & SDT_SIMM13_MASK))
stacktop = (struct frame *)(cpu->cpu_intr_stack + SA(MINFRAME));
stacktop = (struct frame *)(CPU->cpu_intr_stack + SA(MINFRAME));
framesz = SA(len);
argp = sp + SA(MINFRAME);
save %sp, -SA(MINFRAME), %sp; \
save %sp, -SA(MINFRAME), %sp; \
save %sp, -SA(MINFRAME), %sp; \
(caddr_t)fp + SA(minstacksz) >= p->p_usrstack) {
watched = watch_disable_addr((caddr_t)fp, SA(minstacksz), S_WRITE);
sp += SA(xregs_size);
sp += SA(gwin_size);
sp += SA(fpq_size);
watch_enable_addr((caddr_t)fp, SA(minstacksz), S_WRITE);
watch_enable_addr((caddr_t)fp, SA(minstacksz), S_WRITE);
minstacksz += SA(fpq_size);
minstacksz += SA(gwin_size);
minstacksz += SA(xregs_size);
(SA((uintptr_t)lwp->lwp_sigaltstack.ss_sp) +
SA((int)lwp->lwp_sigaltstack.ss_size) - STACK_ALIGN -
SA(minstacksz));
fp = (struct sigframe *)(tos - SA(minstacksz));
#define REGOFF SA(MINFRAME)
stk -= SA(sizeof (kfpu_t) + GSR_SIZE);
stk -= SA(sizeof (struct machpcb));
stk -= SA(sizeof (kfpu_t) + GSR_SIZE);
stk -= SA(MINFRAME);