/* Linux-specific definitions: */ /* Define various structure offsets to simplify cross-compilation. */ /* The first three 64-bit words in a signal frame contain the signal number, siginfo pointer, and sigcontext pointer passed to the signal handler. We use this to locate the sigcontext pointer. */ #define LINUX_SIGFRAME_ARG2_OFF 0x10 #define LINUX_SC_FLAGS_OFF 0x000 #define LINUX_SC_NAT_OFF 0x008 #define LINUX_SC_STACK_OFF 0x010 #define LINUX_SC_IP_OFF 0x028 #define LINUX_SC_CFM_OFF 0x030 #define LINUX_SC_UM_OFF 0x038 #define LINUX_SC_AR_RSC_OFF 0x040 #define LINUX_SC_AR_BSP_OFF 0x048 #define LINUX_SC_AR_RNAT_OFF 0x050 #define LINUX_SC_AR_CCV 0x058 #define LINUX_SC_AR_UNAT_OFF 0x060 #define LINUX_SC_AR_FPSR_OFF 0x068 #define LINUX_SC_AR_PFS_OFF 0x070 #define LINUX_SC_AR_LC_OFF 0x078 #define LINUX_SC_PR_OFF 0x080 #define LINUX_SC_BR_OFF 0x088 #define LINUX_SC_GR_OFF 0x0c8 #define LINUX_SC_FR_OFF 0x1d0 #define LINUX_SC_RBS_BASE_OFF 0x9d0 #define LINUX_SC_LOADRS_OFF 0x9d8 #define LINUX_SC_AR_CSD_OFF 0x9e0 #define LINUX_SC_AR_SSD_OFF 0x9e8 #define LINUX_SC_MASK 0xa50 /* Layout of old Linux kernel interrupt frame (struct pt_regs). */ #define LINUX_OLD_PT_IPSR_OFF 0x000 #define LINUX_OLD_PT_IIP_OFF 0x008 #define LINUX_OLD_PT_IFS_OFF 0x010 #define LINUX_OLD_PT_UNAT_OFF 0x018 #define LINUX_OLD_PT_PFS_OFF 0x020 #define LINUX_OLD_PT_RSC_OFF 0x028 #define LINUX_OLD_PT_RNAT_OFF 0x030 #define LINUX_OLD_PT_BSPSTORE_OFF 0x038 #define LINUX_OLD_PT_PR_OFF 0x040 #define LINUX_OLD_PT_B6_OFF 0x048 #define LINUX_OLD_PT_LOADRS_OFF 0x050 #define LINUX_OLD_PT_R1_OFF 0x058 #define LINUX_OLD_PT_R2_OFF 0x060 #define LINUX_OLD_PT_R3_OFF 0x068 #define LINUX_OLD_PT_R12_OFF 0x070 #define LINUX_OLD_PT_R13_OFF 0x078 #define LINUX_OLD_PT_R14_OFF 0x080 #define LINUX_OLD_PT_R15_OFF 0x088 #define LINUX_OLD_PT_R8_OFF 0x090 #define LINUX_OLD_PT_R9_OFF 0x098 #define LINUX_OLD_PT_R10_OFF 0x0a0 #define LINUX_OLD_PT_R11_OFF 0x0a8 #define LINUX_OLD_PT_R16_OFF 0x0b0 #define LINUX_OLD_PT_R17_OFF 0x0b8 #define LINUX_OLD_PT_R18_OFF 0x0c0 #define LINUX_OLD_PT_R19_OFF 0x0c8 #define LINUX_OLD_PT_R20_OFF 0x0d0 #define LINUX_OLD_PT_R21_OFF 0x0d8 #define LINUX_OLD_PT_R22_OFF 0x0e0 #define LINUX_OLD_PT_R23_OFF 0x0e8 #define LINUX_OLD_PT_R24_OFF 0x0f0 #define LINUX_OLD_PT_R25_OFF 0x0f8 #define LINUX_OLD_PT_R26_OFF 0x100 #define LINUX_OLD_PT_R27_OFF 0x108 #define LINUX_OLD_PT_R28_OFF 0x110 #define LINUX_OLD_PT_R29_OFF 0x118 #define LINUX_OLD_PT_R30_OFF 0x120 #define LINUX_OLD_PT_R31_OFF 0x128 #define LINUX_OLD_PT_CCV_OFF 0x130 #define LINUX_OLD_PT_FPSR_OFF 0x138 #define LINUX_OLD_PT_B0_OFF 0x140 #define LINUX_OLD_PT_B7_OFF 0x148 #define LINUX_OLD_PT_F6_OFF 0x150 #define LINUX_OLD_PT_F7_OFF 0x160 #define LINUX_OLD_PT_F8_OFF 0x170 #define LINUX_OLD_PT_F9_OFF 0x180 /* Layout of new Linux kernel interrupt frame (struct pt_regs). */ #define LINUX_PT_B6_OFF 0 #define LINUX_PT_B7_OFF 8 #define LINUX_PT_CSD_OFF 16 #define LINUX_PT_SSD_OFF 24 #define LINUX_PT_R8_OFF 32 #define LINUX_PT_R9_OFF 40 #define LINUX_PT_R10_OFF 48 #define LINUX_PT_R11_OFF 56 #define LINUX_PT_IPSR_OFF 64 #define LINUX_PT_IIP_OFF 72 #define LINUX_PT_IFS_OFF 80 #define LINUX_PT_UNAT_OFF 88 #define LINUX_PT_PFS_OFF 96 #define LINUX_PT_RSC_OFF 104 #define LINUX_PT_RNAT_OFF 112 #define LINUX_PT_BSPSTORE_OFF 120 #define LINUX_PT_PR_OFF 128 #define LINUX_PT_B0_OFF 136 #define LINUX_PT_LOADRS_OFF 144 #define LINUX_PT_R1_OFF 152 #define LINUX_PT_R12_OFF 160 #define LINUX_PT_R13_OFF 168 #define LINUX_PT_FPSR_OFF 176 #define LINUX_PT_R15_OFF 184 #define LINUX_PT_R14_OFF 192 #define LINUX_PT_R2_OFF 200 #define LINUX_PT_R3_OFF 208 #define LINUX_PT_R16_OFF 216 #define LINUX_PT_R17_OFF 224 #define LINUX_PT_R18_OFF 232 #define LINUX_PT_R19_OFF 240 #define LINUX_PT_R20_OFF 248 #define LINUX_PT_R21_OFF 256 #define LINUX_PT_R22_OFF 264 #define LINUX_PT_R23_OFF 272 #define LINUX_PT_R24_OFF 280 #define LINUX_PT_R25_OFF 288 #define LINUX_PT_R26_OFF 296 #define LINUX_PT_R27_OFF 304 #define LINUX_PT_R28_OFF 312 #define LINUX_PT_R29_OFF 320 #define LINUX_PT_R30_OFF 328 #define LINUX_PT_R31_OFF 336 #define LINUX_PT_CCV_OFF 344 #define LINUX_PT_F6_OFF 352 #define LINUX_PT_F7_OFF 368 #define LINUX_PT_F8_OFF 384 #define LINUX_PT_F9_OFF 400 #define LINUX_PT_F10_OFF 416 #define LINUX_PT_F11_OFF 432 #define LINUX_PT_P_NONSYS 5 /* must match pNonSys in entry.h */