summaryrefslogtreecommitdiff
path: root/src/ia64/offsets.h
blob: b169933b8d862ab02c2fccfe464bd1e9edb0fbc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/* 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 */