| /* | |
| * Offsets into target signal frames for sh4 vdso. | |
| * | |
| * From linux-user/sh4/signal.c: | |
| * | |
| * struct target_sigcontext { | |
| * target_ulong oldmask; // 0 | |
| * target_ulong sc_gregs[16]; // 4 | |
| * target_ulong sc_pc; // 68 | |
| * target_ulong sc_pr; // 72 | |
| * target_ulong sc_sr; // 76 | |
| * target_ulong sc_gbr; // 80 | |
| * target_ulong sc_mach; // 84 | |
| * target_ulong sc_macl; // 88 | |
| * target_ulong sc_fpregs[16]; // 92 | |
| * target_ulong sc_xfpregs[16]; // 156 | |
| * unsigned int sc_fpscr; // 220 | |
| * unsigned int sc_fpul; // 224 | |
| * unsigned int sc_ownedfp; // 228 | |
| * }; // sizeof = 232 | |
| * | |
| * struct sigframe { sigcontext sc; ... } | |
| * struct rt_sigframe { siginfo info[128]; ucontext uc; } | |
| * ucontext = { flags[4], link[4], stack[12], sigcontext mcontext; ... } | |
| * => mcontext at rt_sigframe + 128 + 20 = rt_sigframe + 148 | |
| */ | |
| /* Offset of sigcontext within sigframe (CFA base for sigreturn). */ | |
| #define SIGFRAME_SC_OFFSET 0 | |
| /* Offset of tuc_mcontext within rt_sigframe (CFA base for rt_sigreturn). */ | |
| #define RT_SIGFRAME_SC_OFFSET 148 | |
| /* Offsets within struct sigcontext. */ | |
| #define SC_GREGS 4 | |
| #define SC_PC 68 | |
| #define SC_PR 72 | |
| #define SC_SR 76 | |
| #define SC_GBR 80 | |
| #define SC_MACH 84 | |
| #define SC_MACL 88 | |
| #define SC_FPREGS 92 | |
| #define SC_XFPREGS 156 | |
| #define SC_FPSCR 220 | |
| #define SC_FPUL 224 |