1 typedef struct mcontext mcontext_t;
2 typedef struct ucontext ucontext_t;
9 ulong sp; /* callee saved: r1 */
10 ulong toc; /* callee saved: r2 */
11 ulong r3; /* first arg to function, return register: r3 */
12 ulong gpr[19]; /* callee saved: r13-r31 */
13 // XXX: currently do not save vector registers or floating-point state
15 // uvlong fpr[18]; /* callee saved: f14-f31 */
16 // ulong vr[4*12]; /* callee saved: v20-v31, 256-bits each */
29 void makecontext(ucontext_t*, void(*)(void), int, ...);
30 int getcontext(ucontext_t*);
31 int setcontext(ucontext_t*);
32 int swapcontext(ucontext_t*, ucontext_t*);
33 int _getmcontext(mcontext_t*);
34 void _setmcontext(mcontext_t*);