blob: b712773c759e9748e3a0f25234eb670cf1700c9b (
plain) (
blame)
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
|
#ifndef _ASM_IA64_PTRACE_OFFSETS_H
#define _ASM_IA64_PTRACE_OFFSETS_H
/*
* Copyright (C) 1999, 2003 Hewlett-Packard Co
* David Mosberger-Tang <davidm@hpl.hp.com>
*/
/*
* The "uarea" that can be accessed via PEEKUSER and POKEUSER is a
* virtual structure that would have the following definition:
*
* struct uarea {
* struct ia64_fpreg fph[96]; // f32-f127
* unsigned long nat_bits;
* unsigned long empty1;
* struct ia64_fpreg f2; // f2-f5
* :
* struct ia64_fpreg f5;
* struct ia64_fpreg f10; // f10-f31
* :
* struct ia64_fpreg f31;
* unsigned long r4; // r4-r7
* :
* unsigned long r7;
* unsigned long b1; // b1-b5
* :
* unsigned long b5;
* unsigned long ar_ec;
* unsigned long ar_lc;
* unsigned long empty2[5];
* unsigned long cr_ipsr;
* unsigned long cr_iip;
* unsigned long cfm;
* unsigned long ar_unat;
* unsigned long ar_pfs;
* unsigned long ar_rsc;
* unsigned long ar_rnat;
* unsigned long ar_bspstore;
* unsigned long pr;
* unsigned long b6;
* unsigned long ar_bsp;
* unsigned long r1;
* unsigned long r2;
* unsigned long r3;
* unsigned long r12;
* unsigned long r13;
* unsigned long r14;
* unsigned long r15;
* unsigned long r8;
* unsigned long r9;
* unsigned long r10;
* unsigned long r11;
* unsigned long r16;
* :
* unsigned long r31;
* unsigned long ar_ccv;
* unsigned long ar_fpsr;
* unsigned long b0;
* unsigned long b7;
* unsigned long f6;
* unsigned long f7;
* unsigned long f8;
* unsigned long f9;
* unsigned long ar_csd;
* unsigned long ar_ssd;
* unsigned long rsvd1[710];
* unsigned long dbr[8];
* unsigned long rsvd2[504];
* unsigned long ibr[8];
* unsigned long rsvd3[504];
* unsigned long pmd[4];
* }
*/
/* fph: */
#define PT_F32 0x0000
#define PT_F33 0x0010
#define PT_F34 0x0020
#define PT_F35 0x0030
#define PT_F36 0x0040
#define PT_F37 0x0050
#define PT_F38 0x0060
#define PT_F39 0x0070
#define PT_F40 0x0080
#define PT_F41 0x0090
#define PT_F42 0x00a0
#define PT_F43 0x00b0
#define PT_F44 0x00c0
#define PT_F45 0x00d0
#define PT_F46 0x00e0
#define PT_F47 0x00f0
#define PT_F48 0x0100
#define PT_F49 0x0110
#define PT_F50 0x0120
#define PT_F51 0x0130
#define PT_F52 0x0140
#define PT_F53 0x0150
#define PT_F54 0x0160
#define PT_F55 0x0170
#define PT_F56 0x0180
#define PT_F57 0x0190
#define PT_F58 0x01a0
#define PT_F59 0x01b0
#define PT_F60 0x01c0
#define PT_F61 0x01d0
#define PT_F62 0x01e0
#define PT_F63 0x01f0
#define PT_F64 0x0200
#define PT_F65 0x0210
#define PT_F66 0x0220
#define PT_F67 0x0230
#define PT_F68 0x0240
#define PT_F69 0x0250
#define PT_F70 0x0260
#define PT_F71 0x0270
#define PT_F72 0x0280
#define PT_F73 0x0290
#define PT_F74 0x02a0
#define PT_F75 0x02b0
#define PT_F76 0x02c0
#define PT_F77 0x02d0
#define PT_F78 0x02e0
#define PT_F79 0x02f0
#define PT_F80 0x0300
#define PT_F81 0x0310
#define PT_F82 0x0320
#define PT_F83 0x0330
#define PT_F84 0x0340
#define PT_F85 0x0350
#define PT_F86 0x0360
#define PT_F87 0x0370
#define PT_F88 0x0380
#define PT_F89 0x0390
#define PT_F90 0x03a0
#define PT_F91 0x03b0
#define PT_F92 0x03c0
#define PT_F93 0x03d0
#define PT_F94 0x03e0
#define PT_F95 0x03f0
#define PT_F96 0x0400
#define PT_F97 0x0410
#define PT_F98 0x0420
#define PT_F99 0x0430
#define PT_F100 0x0440
#define PT_F101 0x0450
#define PT_F102 0x0460
#define PT_F103 0x0470
#define PT_F104 0x0480
#define PT_F105 0x0490
#define PT_F106 0x04a0
#define PT_F107 0x04b0
#define PT_F108 0x04c0
#define PT_F109 0x04d0
#define PT_F110 0x04e0
#define PT_F111 0x04f0
#define PT_F112 0x0500
#define PT_F113 0x0510
#define PT_F114 0x0520
#define PT_F115 0x0530
#define PT_F116 0x0540
#define PT_F117 0x0550
#define PT_F118 0x0560
#define PT_F119 0x0570
#define PT_F120 0x0580
#define PT_F121 0x0590
#define PT_F122 0x05a0
#define PT_F123 0x05b0
#define PT_F124 0x05c0
#define PT_F125 0x05d0
#define PT_F126 0x05e0
#define PT_F127 0x05f0
#define PT_NAT_BITS 0x0600
#define PT_F2 0x0610
#define PT_F3 0x0620
#define PT_F4 0x0630
#define PT_F5 0x0640
#define PT_F10 0x0650
#define PT_F11 0x0660
#define PT_F12 0x0670
#define PT_F13 0x0680
#define PT_F14 0x0690
#define PT_F15 0x06a0
#define PT_F16 0x06b0
#define PT_F17 0x06c0
#define PT_F18 0x06d0
#define PT_F19 0x06e0
#define PT_F20 0x06f0
#define PT_F21 0x0700
#define PT_F22 0x0710
#define PT_F23 0x0720
#define PT_F24 0x0730
#define PT_F25 0x0740
#define PT_F26 0x0750
#define PT_F27 0x0760
#define PT_F28 0x0770
#define PT_F29 0x0780
#define PT_F30 0x0790
#define PT_F31 0x07a0
#define PT_R4 0x07b0
#define PT_R5 0x07b8
#define PT_R6 0x07c0
#define PT_R7 0x07c8
#define PT_B1 0x07d8
#define PT_B2 0x07e0
#define PT_B3 0x07e8
#define PT_B4 0x07f0
#define PT_B5 0x07f8
#define PT_AR_EC 0x0800
#define PT_AR_LC 0x0808
#define PT_CR_IPSR 0x0830
#define PT_CR_IIP 0x0838
#define PT_CFM 0x0840
#define PT_AR_UNAT 0x0848
#define PT_AR_PFS 0x0850
#define PT_AR_RSC 0x0858
#define PT_AR_RNAT 0x0860
#define PT_AR_BSPSTORE 0x0868
#define PT_PR 0x0870
#define PT_B6 0x0878
#define PT_AR_BSP 0x0880 /* note: this points to the *end* of the backing store! */
#define PT_R1 0x0888
#define PT_R2 0x0890
#define PT_R3 0x0898
#define PT_R12 0x08a0
#define PT_R13 0x08a8
#define PT_R14 0x08b0
#define PT_R15 0x08b8
#define PT_R8 0x08c0
#define PT_R9 0x08c8
#define PT_R10 0x08d0
#define PT_R11 0x08d8
#define PT_R16 0x08e0
#define PT_R17 0x08e8
#define PT_R18 0x08f0
#define PT_R19 0x08f8
#define PT_R20 0x0900
#define PT_R21 0x0908
#define PT_R22 0x0910
#define PT_R23 0x0918
#define PT_R24 0x0920
#define PT_R25 0x0928
#define PT_R26 0x0930
#define PT_R27 0x0938
#define PT_R28 0x0940
#define PT_R29 0x0948
#define PT_R30 0x0950
#define PT_R31 0x0958
#define PT_AR_CCV 0x0960
#define PT_AR_FPSR 0x0968
#define PT_B0 0x0970
#define PT_B7 0x0978
#define PT_F6 0x0980
#define PT_F7 0x0990
#define PT_F8 0x09a0
#define PT_F9 0x09b0
#define PT_AR_CSD 0x09c0
#define PT_AR_SSD 0x09c8
#define PT_DBR 0x2000 /* data breakpoint registers */
#define PT_IBR 0x3000 /* instruction breakpoint registers */
#define PT_PMD 0x4000 /* performance monitoring counters */
#endif /* _ASM_IA64_PTRACE_OFFSETS_H */
|