1 41b3e8b9 2020-01-20 rsc #include "threadimpl.h"
4 41b3e8b9 2020-01-20 rsc makecontext(ucontext_t *uc, void (*fn)(void), int argc, ...)
9 41b3e8b9 2020-01-20 rsc sp = USPALIGN(uc, 4);
10 41b3e8b9 2020-01-20 rsc va_start(arg, argc);
11 41b3e8b9 2020-01-20 rsc for(i=0; i<4 && i<argc; i++)
12 41b3e8b9 2020-01-20 rsc (&uc->uc_mcontext.arm_r0)[i] = va_arg(arg, uint);
14 41b3e8b9 2020-01-20 rsc uc->uc_mcontext.arm_sp = (uint)sp;
15 41b3e8b9 2020-01-20 rsc uc->uc_mcontext.arm_lr = (uint)fn;
19 41b3e8b9 2020-01-20 rsc swapcontext(ucontext_t *oucp, const ucontext_t *ucp)
21 41b3e8b9 2020-01-20 rsc if(getcontext(oucp) == 0)
22 41b3e8b9 2020-01-20 rsc setcontext(ucp);