1/* Linux-specific definitions: */ 2 3/* Define various structure offsets to simplify cross-compilation. */ 4 5/* The first three 64-bit words in a signal frame contain the signal 6 number, siginfo pointer, and sigcontext pointer passed to the 7 signal handler. We use this to locate the sigcontext pointer. */ 8 9#define LINUX_SIGFRAME_ARG2_OFF 0x10 10 11#define LINUX_SC_FLAGS_OFF 0x000 12#define LINUX_SC_NAT_OFF 0x008 13#define LINUX_SC_STACK_OFF 0x010 14#define LINUX_SC_IP_OFF 0x028 15#define LINUX_SC_CFM_OFF 0x030 16#define LINUX_SC_UM_OFF 0x038 17#define LINUX_SC_AR_RSC_OFF 0x040 18#define LINUX_SC_AR_BSP_OFF 0x048 19#define LINUX_SC_AR_RNAT_OFF 0x050 20#define LINUX_SC_AR_CCV 0x058 21#define LINUX_SC_AR_UNAT_OFF 0x060 22#define LINUX_SC_AR_FPSR_OFF 0x068 23#define LINUX_SC_AR_PFS_OFF 0x070 24#define LINUX_SC_AR_LC_OFF 0x078 25#define LINUX_SC_PR_OFF 0x080 26#define LINUX_SC_BR_OFF 0x088 27#define LINUX_SC_GR_OFF 0x0c8 28#define LINUX_SC_FR_OFF 0x1d0 29#define LINUX_SC_RBS_BASE_OFF 0x9d0 30#define LINUX_SC_LOADRS_OFF 0x9d8 31#define LINUX_SC_AR_CSD_OFF 0x9e0 32#define LINUX_SC_AR_SSD_OFF 0x9e8 33#define LINUX_SC_MASK 0xa50 34 35/* Layout of old Linux kernel interrupt frame (struct pt_regs). */ 36 37#define LINUX_OLD_PT_IPSR_OFF 0x000 38#define LINUX_OLD_PT_IIP_OFF 0x008 39#define LINUX_OLD_PT_IFS_OFF 0x010 40#define LINUX_OLD_PT_UNAT_OFF 0x018 41#define LINUX_OLD_PT_PFS_OFF 0x020 42#define LINUX_OLD_PT_RSC_OFF 0x028 43#define LINUX_OLD_PT_RNAT_OFF 0x030 44#define LINUX_OLD_PT_BSPSTORE_OFF 0x038 45#define LINUX_OLD_PT_PR_OFF 0x040 46#define LINUX_OLD_PT_B6_OFF 0x048 47#define LINUX_OLD_PT_LOADRS_OFF 0x050 48#define LINUX_OLD_PT_R1_OFF 0x058 49#define LINUX_OLD_PT_R2_OFF 0x060 50#define LINUX_OLD_PT_R3_OFF 0x068 51#define LINUX_OLD_PT_R12_OFF 0x070 52#define LINUX_OLD_PT_R13_OFF 0x078 53#define LINUX_OLD_PT_R14_OFF 0x080 54#define LINUX_OLD_PT_R15_OFF 0x088 55#define LINUX_OLD_PT_R8_OFF 0x090 56#define LINUX_OLD_PT_R9_OFF 0x098 57#define LINUX_OLD_PT_R10_OFF 0x0a0 58#define LINUX_OLD_PT_R11_OFF 0x0a8 59#define LINUX_OLD_PT_R16_OFF 0x0b0 60#define LINUX_OLD_PT_R17_OFF 0x0b8 61#define LINUX_OLD_PT_R18_OFF 0x0c0 62#define LINUX_OLD_PT_R19_OFF 0x0c8 63#define LINUX_OLD_PT_R20_OFF 0x0d0 64#define LINUX_OLD_PT_R21_OFF 0x0d8 65#define LINUX_OLD_PT_R22_OFF 0x0e0 66#define LINUX_OLD_PT_R23_OFF 0x0e8 67#define LINUX_OLD_PT_R24_OFF 0x0f0 68#define LINUX_OLD_PT_R25_OFF 0x0f8 69#define LINUX_OLD_PT_R26_OFF 0x100 70#define LINUX_OLD_PT_R27_OFF 0x108 71#define LINUX_OLD_PT_R28_OFF 0x110 72#define LINUX_OLD_PT_R29_OFF 0x118 73#define LINUX_OLD_PT_R30_OFF 0x120 74#define LINUX_OLD_PT_R31_OFF 0x128 75#define LINUX_OLD_PT_CCV_OFF 0x130 76#define LINUX_OLD_PT_FPSR_OFF 0x138 77#define LINUX_OLD_PT_B0_OFF 0x140 78#define LINUX_OLD_PT_B7_OFF 0x148 79#define LINUX_OLD_PT_F6_OFF 0x150 80#define LINUX_OLD_PT_F7_OFF 0x160 81#define LINUX_OLD_PT_F8_OFF 0x170 82#define LINUX_OLD_PT_F9_OFF 0x180 83 84/* Layout of new Linux kernel interrupt frame (struct pt_regs). */ 85 86#define LINUX_PT_B6_OFF 0 87#define LINUX_PT_B7_OFF 8 88#define LINUX_PT_CSD_OFF 16 89#define LINUX_PT_SSD_OFF 24 90#define LINUX_PT_R8_OFF 32 91#define LINUX_PT_R9_OFF 40 92#define LINUX_PT_R10_OFF 48 93#define LINUX_PT_R11_OFF 56 94#define LINUX_PT_IPSR_OFF 64 95#define LINUX_PT_IIP_OFF 72 96#define LINUX_PT_IFS_OFF 80 97#define LINUX_PT_UNAT_OFF 88 98#define LINUX_PT_PFS_OFF 96 99#define LINUX_PT_RSC_OFF 104 100#define LINUX_PT_RNAT_OFF 112 101#define LINUX_PT_BSPSTORE_OFF 120 102#define LINUX_PT_PR_OFF 128 103#define LINUX_PT_B0_OFF 136 104#define LINUX_PT_LOADRS_OFF 144 105#define LINUX_PT_R1_OFF 152 106#define LINUX_PT_R12_OFF 160 107#define LINUX_PT_R13_OFF 168 108#define LINUX_PT_FPSR_OFF 176 109#define LINUX_PT_R15_OFF 184 110#define LINUX_PT_R14_OFF 192 111#define LINUX_PT_R2_OFF 200 112#define LINUX_PT_R3_OFF 208 113#define LINUX_PT_R16_OFF 216 114#define LINUX_PT_R17_OFF 224 115#define LINUX_PT_R18_OFF 232 116#define LINUX_PT_R19_OFF 240 117#define LINUX_PT_R20_OFF 248 118#define LINUX_PT_R21_OFF 256 119#define LINUX_PT_R22_OFF 264 120#define LINUX_PT_R23_OFF 272 121#define LINUX_PT_R24_OFF 280 122#define LINUX_PT_R25_OFF 288 123#define LINUX_PT_R26_OFF 296 124#define LINUX_PT_R27_OFF 304 125#define LINUX_PT_R28_OFF 312 126#define LINUX_PT_R29_OFF 320 127#define LINUX_PT_R30_OFF 328 128#define LINUX_PT_R31_OFF 336 129#define LINUX_PT_CCV_OFF 344 130#define LINUX_PT_F6_OFF 352 131#define LINUX_PT_F7_OFF 368 132#define LINUX_PT_F8_OFF 384 133#define LINUX_PT_F9_OFF 400 134#define LINUX_PT_F10_OFF 416 135#define LINUX_PT_F11_OFF 432 136 137#define LINUX_PT_P_NONSYS 5 /* must match pNonSys in entry.h */ 138