Lines Matching defs:ucp
56 ctx_wrapper(ucontext_t *ucp, func_t func, uint64_t *args)
61 if (ucp->uc_link == NULL)
63 setcontext((const ucontext_t *)ucp->uc_link);
72 __makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
84 if (argc < 0 || argc > 8 || ucp == NULL ||
85 ucp->uc_stack.ss_sp == NULL || (ucp->uc_stack.ss_size & 15) ||
86 ((intptr_t)ucp->uc_stack.ss_sp & 15) ||
87 ucp->uc_stack.ss_size < MINSIGSTKSZ)
95 args = (uint64_t*)(ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size) - 8;
107 bsp = (uint64_t*)ucp->uc_stack.ss_sp;
108 bsp = spill(bsp, (intptr_t)ucp);
115 memset(&ucp->uc_mcontext, 0, sizeof(ucp->uc_mcontext));
116 ucp->uc_mcontext.mc_special.sp = (intptr_t)args - 16;
117 ucp->uc_mcontext.mc_special.bspstore = (intptr_t)bsp;
118 ucp->uc_mcontext.mc_special.pfs = (3 << 7) | 3;
119 ucp->uc_mcontext.mc_special.rsc = 0xf;
120 ucp->uc_mcontext.mc_special.rp = ((struct fdesc*)ctx_wrapper)->ip;
121 ucp->uc_mcontext.mc_special.gp = ((struct fdesc*)ctx_wrapper)->gp;
122 ucp->uc_mcontext.mc_special.fpsr = IA64_FPSR_DEFAULT;