6 inline static void *ucontext_stack_pointer(void *uap)
8 ucontext_t *ucontext = (ucontext_t *)uap;
9 return (void *)ucontext->uc_mcontext.gregs[15];
12 inline static unsigned int uap_fpu_status(void *uap)
14 ucontext_t *ucontext = (ucontext_t *)uap;
15 return ucontext->uc_mcontext.fpregs->swd
16 | ucontext->uc_mcontext.fpregs->mxcsr;
19 inline static void uap_clear_fpu_status(void *uap)
21 ucontext_t *ucontext = (ucontext_t *)uap;
22 ucontext->uc_mcontext.fpregs->swd = 0;
23 ucontext->uc_mcontext.fpregs->mxcsr &= 0xffffffc0;
26 #define UAP_PROGRAM_COUNTER(ucontext) \
27 (((ucontext_t *)(ucontext))->uc_mcontext.gregs[16])