2003-04-23 07:56:59 +02:00
|
|
|
/* Linux-specific definitions: */
|
|
|
|
|
2003-01-28 04:40:06 +01:00
|
|
|
/* 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. */
|
|
|
|
|
2003-04-23 07:56:59 +02:00
|
|
|
#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
|
2003-07-09 00:29:34 +02:00
|
|
|
#define LINUX_SC_AR_SSD_OFF 0x9e8
|
2003-04-23 07:56:59 +02:00
|
|
|
#define LINUX_SC_MASK 0xa50
|
2003-04-25 09:44:23 +02:00
|
|
|
|
2003-07-09 00:29:34 +02:00
|
|
|
/* Layout of old Linux kernel interrupt frame (struct pt_regs). */
|
2003-04-25 09:44:23 +02:00
|
|
|
|
2003-07-09 00:29:34 +02:00
|
|
|
#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
|
2003-04-25 09:44:23 +02:00
|
|
|
|
|
|
|
#define LINUX_PT_P_NONSYS 5 /* must match pNonSys in entry.h */
|