LLDB  mainline
RegisterInfos_arm64.h
Go to the documentation of this file.
1 //===-- RegisterInfos_arm64.h -----------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifdef DECLARE_REGISTER_INFOS_ARM64_STRUCT
10 
11 #include <cstddef>
12 
13 #include "lldb/lldb-defines.h"
14 #include "lldb/lldb-enumerations.h"
15 #include "lldb/lldb-private.h"
16 
19 
20 #ifndef GPR_OFFSET
21 #error GPR_OFFSET must be defined before including this header file
22 #endif
23 
24 #ifndef GPR_OFFSET_NAME
25 #error GPR_OFFSET_NAME must be defined before including this header file
26 #endif
27 
28 #ifndef FPU_OFFSET
29 #error FPU_OFFSET must be defined before including this header file
30 #endif
31 
32 #ifndef FPU_OFFSET_NAME
33 #error FPU_OFFSET_NAME must be defined before including this header file
34 #endif
35 
36 #ifndef EXC_OFFSET_NAME
37 #error EXC_OFFSET_NAME must be defined before including this header file
38 #endif
39 
40 #ifndef DBG_OFFSET_NAME
41 #error DBG_OFFSET_NAME must be defined before including this header file
42 #endif
43 
44 #ifndef DEFINE_DBG
45 #error DEFINE_DBG must be defined before including this header file
46 #endif
47 
48 // Offsets for a little-endian layout of the register context
49 #define GPR_W_PSEUDO_REG_ENDIAN_OFFSET 0
50 #define FPU_S_PSEUDO_REG_ENDIAN_OFFSET 0
51 #define FPU_D_PSEUDO_REG_ENDIAN_OFFSET 0
52 
53 enum {
54  gpr_x0 = 0,
55  gpr_x1,
56  gpr_x2,
57  gpr_x3,
58  gpr_x4,
59  gpr_x5,
60  gpr_x6,
61  gpr_x7,
62  gpr_x8,
63  gpr_x9,
64  gpr_x10,
65  gpr_x11,
66  gpr_x12,
67  gpr_x13,
68  gpr_x14,
69  gpr_x15,
70  gpr_x16,
71  gpr_x17,
72  gpr_x18,
73  gpr_x19,
74  gpr_x20,
75  gpr_x21,
76  gpr_x22,
77  gpr_x23,
78  gpr_x24,
79  gpr_x25,
80  gpr_x26,
81  gpr_x27,
82  gpr_x28,
83  gpr_x29 = 29,
84  gpr_fp = gpr_x29,
85  gpr_x30 = 30,
86  gpr_lr = gpr_x30,
87  gpr_ra = gpr_x30,
88  gpr_x31 = 31,
89  gpr_sp = gpr_x31,
90  gpr_pc = 32,
91  gpr_cpsr,
92 
93  gpr_w0,
94  gpr_w1,
95  gpr_w2,
96  gpr_w3,
97  gpr_w4,
98  gpr_w5,
99  gpr_w6,
100  gpr_w7,
101  gpr_w8,
102  gpr_w9,
103  gpr_w10,
104  gpr_w11,
105  gpr_w12,
106  gpr_w13,
107  gpr_w14,
108  gpr_w15,
109  gpr_w16,
110  gpr_w17,
111  gpr_w18,
112  gpr_w19,
113  gpr_w20,
114  gpr_w21,
115  gpr_w22,
116  gpr_w23,
117  gpr_w24,
118  gpr_w25,
119  gpr_w26,
120  gpr_w27,
121  gpr_w28,
122 
123  fpu_v0,
124  fpu_v1,
125  fpu_v2,
126  fpu_v3,
127  fpu_v4,
128  fpu_v5,
129  fpu_v6,
130  fpu_v7,
131  fpu_v8,
132  fpu_v9,
133  fpu_v10,
134  fpu_v11,
135  fpu_v12,
136  fpu_v13,
137  fpu_v14,
138  fpu_v15,
139  fpu_v16,
140  fpu_v17,
141  fpu_v18,
142  fpu_v19,
143  fpu_v20,
144  fpu_v21,
145  fpu_v22,
146  fpu_v23,
147  fpu_v24,
148  fpu_v25,
149  fpu_v26,
150  fpu_v27,
151  fpu_v28,
152  fpu_v29,
153  fpu_v30,
154  fpu_v31,
155 
156  fpu_s0,
157  fpu_s1,
158  fpu_s2,
159  fpu_s3,
160  fpu_s4,
161  fpu_s5,
162  fpu_s6,
163  fpu_s7,
164  fpu_s8,
165  fpu_s9,
166  fpu_s10,
167  fpu_s11,
168  fpu_s12,
169  fpu_s13,
170  fpu_s14,
171  fpu_s15,
172  fpu_s16,
173  fpu_s17,
174  fpu_s18,
175  fpu_s19,
176  fpu_s20,
177  fpu_s21,
178  fpu_s22,
179  fpu_s23,
180  fpu_s24,
181  fpu_s25,
182  fpu_s26,
183  fpu_s27,
184  fpu_s28,
185  fpu_s29,
186  fpu_s30,
187  fpu_s31,
188 
189  fpu_d0,
190  fpu_d1,
191  fpu_d2,
192  fpu_d3,
193  fpu_d4,
194  fpu_d5,
195  fpu_d6,
196  fpu_d7,
197  fpu_d8,
198  fpu_d9,
199  fpu_d10,
200  fpu_d11,
201  fpu_d12,
202  fpu_d13,
203  fpu_d14,
204  fpu_d15,
205  fpu_d16,
206  fpu_d17,
207  fpu_d18,
208  fpu_d19,
209  fpu_d20,
210  fpu_d21,
211  fpu_d22,
212  fpu_d23,
213  fpu_d24,
214  fpu_d25,
215  fpu_d26,
216  fpu_d27,
217  fpu_d28,
218  fpu_d29,
219  fpu_d30,
220  fpu_d31,
221 
222  fpu_fpsr,
223  fpu_fpcr,
224 
225  exc_far,
226  exc_esr,
228 
229  dbg_bvr0,
230  dbg_bvr1,
231  dbg_bvr2,
232  dbg_bvr3,
233  dbg_bvr4,
234  dbg_bvr5,
235  dbg_bvr6,
236  dbg_bvr7,
237  dbg_bvr8,
238  dbg_bvr9,
239  dbg_bvr10,
240  dbg_bvr11,
241  dbg_bvr12,
242  dbg_bvr13,
243  dbg_bvr14,
244  dbg_bvr15,
245 
246  dbg_bcr0,
247  dbg_bcr1,
248  dbg_bcr2,
249  dbg_bcr3,
250  dbg_bcr4,
251  dbg_bcr5,
252  dbg_bcr6,
253  dbg_bcr7,
254  dbg_bcr8,
255  dbg_bcr9,
256  dbg_bcr10,
257  dbg_bcr11,
258  dbg_bcr12,
259  dbg_bcr13,
260  dbg_bcr14,
261  dbg_bcr15,
262 
263  dbg_wvr0,
264  dbg_wvr1,
265  dbg_wvr2,
266  dbg_wvr3,
267  dbg_wvr4,
268  dbg_wvr5,
269  dbg_wvr6,
270  dbg_wvr7,
271  dbg_wvr8,
272  dbg_wvr9,
273  dbg_wvr10,
274  dbg_wvr11,
275  dbg_wvr12,
276  dbg_wvr13,
277  dbg_wvr14,
278  dbg_wvr15,
279 
280  dbg_wcr0,
281  dbg_wcr1,
282  dbg_wcr2,
283  dbg_wcr3,
284  dbg_wcr4,
285  dbg_wcr5,
286  dbg_wcr6,
287  dbg_wcr7,
288  dbg_wcr8,
289  dbg_wcr9,
290  dbg_wcr10,
291  dbg_wcr11,
292  dbg_wcr12,
293  dbg_wcr13,
294  dbg_wcr14,
295  dbg_wcr15,
296 
298 };
299 
300 static uint32_t g_contained_x0[] = {gpr_x0, LLDB_INVALID_REGNUM};
301 static uint32_t g_contained_x1[] = {gpr_x1, LLDB_INVALID_REGNUM};
302 static uint32_t g_contained_x2[] = {gpr_x2, LLDB_INVALID_REGNUM};
303 static uint32_t g_contained_x3[] = {gpr_x3, LLDB_INVALID_REGNUM};
304 static uint32_t g_contained_x4[] = {gpr_x4, LLDB_INVALID_REGNUM};
305 static uint32_t g_contained_x5[] = {gpr_x5, LLDB_INVALID_REGNUM};
306 static uint32_t g_contained_x6[] = {gpr_x6, LLDB_INVALID_REGNUM};
307 static uint32_t g_contained_x7[] = {gpr_x7, LLDB_INVALID_REGNUM};
308 static uint32_t g_contained_x8[] = {gpr_x8, LLDB_INVALID_REGNUM};
309 static uint32_t g_contained_x9[] = {gpr_x9, LLDB_INVALID_REGNUM};
310 static uint32_t g_contained_x10[] = {gpr_x10, LLDB_INVALID_REGNUM};
311 static uint32_t g_contained_x11[] = {gpr_x11, LLDB_INVALID_REGNUM};
312 static uint32_t g_contained_x12[] = {gpr_x12, LLDB_INVALID_REGNUM};
313 static uint32_t g_contained_x13[] = {gpr_x13, LLDB_INVALID_REGNUM};
314 static uint32_t g_contained_x14[] = {gpr_x14, LLDB_INVALID_REGNUM};
315 static uint32_t g_contained_x15[] = {gpr_x15, LLDB_INVALID_REGNUM};
316 static uint32_t g_contained_x16[] = {gpr_x16, LLDB_INVALID_REGNUM};
317 static uint32_t g_contained_x17[] = {gpr_x17, LLDB_INVALID_REGNUM};
318 static uint32_t g_contained_x18[] = {gpr_x18, LLDB_INVALID_REGNUM};
319 static uint32_t g_contained_x19[] = {gpr_x19, LLDB_INVALID_REGNUM};
320 static uint32_t g_contained_x20[] = {gpr_x20, LLDB_INVALID_REGNUM};
321 static uint32_t g_contained_x21[] = {gpr_x21, LLDB_INVALID_REGNUM};
322 static uint32_t g_contained_x22[] = {gpr_x22, LLDB_INVALID_REGNUM};
323 static uint32_t g_contained_x23[] = {gpr_x23, LLDB_INVALID_REGNUM};
324 static uint32_t g_contained_x24[] = {gpr_x24, LLDB_INVALID_REGNUM};
325 static uint32_t g_contained_x25[] = {gpr_x25, LLDB_INVALID_REGNUM};
326 static uint32_t g_contained_x26[] = {gpr_x26, LLDB_INVALID_REGNUM};
327 static uint32_t g_contained_x27[] = {gpr_x27, LLDB_INVALID_REGNUM};
328 static uint32_t g_contained_x28[] = {gpr_x28, LLDB_INVALID_REGNUM};
329 
330 static uint32_t g_w0_invalidates[] = {gpr_x0, LLDB_INVALID_REGNUM};
331 static uint32_t g_w1_invalidates[] = {gpr_x1, LLDB_INVALID_REGNUM};
332 static uint32_t g_w2_invalidates[] = {gpr_x2, LLDB_INVALID_REGNUM};
333 static uint32_t g_w3_invalidates[] = {gpr_x3, LLDB_INVALID_REGNUM};
334 static uint32_t g_w4_invalidates[] = {gpr_x4, LLDB_INVALID_REGNUM};
335 static uint32_t g_w5_invalidates[] = {gpr_x5, LLDB_INVALID_REGNUM};
336 static uint32_t g_w6_invalidates[] = {gpr_x6, LLDB_INVALID_REGNUM};
337 static uint32_t g_w7_invalidates[] = {gpr_x7, LLDB_INVALID_REGNUM};
338 static uint32_t g_w8_invalidates[] = {gpr_x8, LLDB_INVALID_REGNUM};
339 static uint32_t g_w9_invalidates[] = {gpr_x9, LLDB_INVALID_REGNUM};
340 static uint32_t g_w10_invalidates[] = {gpr_x10, LLDB_INVALID_REGNUM};
341 static uint32_t g_w11_invalidates[] = {gpr_x11, LLDB_INVALID_REGNUM};
342 static uint32_t g_w12_invalidates[] = {gpr_x12, LLDB_INVALID_REGNUM};
343 static uint32_t g_w13_invalidates[] = {gpr_x13, LLDB_INVALID_REGNUM};
344 static uint32_t g_w14_invalidates[] = {gpr_x14, LLDB_INVALID_REGNUM};
345 static uint32_t g_w15_invalidates[] = {gpr_x15, LLDB_INVALID_REGNUM};
346 static uint32_t g_w16_invalidates[] = {gpr_x16, LLDB_INVALID_REGNUM};
347 static uint32_t g_w17_invalidates[] = {gpr_x17, LLDB_INVALID_REGNUM};
348 static uint32_t g_w18_invalidates[] = {gpr_x18, LLDB_INVALID_REGNUM};
349 static uint32_t g_w19_invalidates[] = {gpr_x19, LLDB_INVALID_REGNUM};
350 static uint32_t g_w20_invalidates[] = {gpr_x20, LLDB_INVALID_REGNUM};
351 static uint32_t g_w21_invalidates[] = {gpr_x21, LLDB_INVALID_REGNUM};
352 static uint32_t g_w22_invalidates[] = {gpr_x22, LLDB_INVALID_REGNUM};
353 static uint32_t g_w23_invalidates[] = {gpr_x23, LLDB_INVALID_REGNUM};
354 static uint32_t g_w24_invalidates[] = {gpr_x24, LLDB_INVALID_REGNUM};
355 static uint32_t g_w25_invalidates[] = {gpr_x25, LLDB_INVALID_REGNUM};
356 static uint32_t g_w26_invalidates[] = {gpr_x26, LLDB_INVALID_REGNUM};
357 static uint32_t g_w27_invalidates[] = {gpr_x27, LLDB_INVALID_REGNUM};
358 static uint32_t g_w28_invalidates[] = {gpr_x28, LLDB_INVALID_REGNUM};
359 
360 static uint32_t g_contained_v0[] = {fpu_v0, LLDB_INVALID_REGNUM};
361 static uint32_t g_contained_v1[] = {fpu_v1, LLDB_INVALID_REGNUM};
362 static uint32_t g_contained_v2[] = {fpu_v2, LLDB_INVALID_REGNUM};
363 static uint32_t g_contained_v3[] = {fpu_v3, LLDB_INVALID_REGNUM};
364 static uint32_t g_contained_v4[] = {fpu_v4, LLDB_INVALID_REGNUM};
365 static uint32_t g_contained_v5[] = {fpu_v5, LLDB_INVALID_REGNUM};
366 static uint32_t g_contained_v6[] = {fpu_v6, LLDB_INVALID_REGNUM};
367 static uint32_t g_contained_v7[] = {fpu_v7, LLDB_INVALID_REGNUM};
368 static uint32_t g_contained_v8[] = {fpu_v8, LLDB_INVALID_REGNUM};
369 static uint32_t g_contained_v9[] = {fpu_v9, LLDB_INVALID_REGNUM};
370 static uint32_t g_contained_v10[] = {fpu_v10, LLDB_INVALID_REGNUM};
371 static uint32_t g_contained_v11[] = {fpu_v11, LLDB_INVALID_REGNUM};
372 static uint32_t g_contained_v12[] = {fpu_v12, LLDB_INVALID_REGNUM};
373 static uint32_t g_contained_v13[] = {fpu_v13, LLDB_INVALID_REGNUM};
374 static uint32_t g_contained_v14[] = {fpu_v14, LLDB_INVALID_REGNUM};
375 static uint32_t g_contained_v15[] = {fpu_v15, LLDB_INVALID_REGNUM};
376 static uint32_t g_contained_v16[] = {fpu_v16, LLDB_INVALID_REGNUM};
377 static uint32_t g_contained_v17[] = {fpu_v17, LLDB_INVALID_REGNUM};
378 static uint32_t g_contained_v18[] = {fpu_v18, LLDB_INVALID_REGNUM};
379 static uint32_t g_contained_v19[] = {fpu_v19, LLDB_INVALID_REGNUM};
380 static uint32_t g_contained_v20[] = {fpu_v20, LLDB_INVALID_REGNUM};
381 static uint32_t g_contained_v21[] = {fpu_v21, LLDB_INVALID_REGNUM};
382 static uint32_t g_contained_v22[] = {fpu_v22, LLDB_INVALID_REGNUM};
383 static uint32_t g_contained_v23[] = {fpu_v23, LLDB_INVALID_REGNUM};
384 static uint32_t g_contained_v24[] = {fpu_v24, LLDB_INVALID_REGNUM};
385 static uint32_t g_contained_v25[] = {fpu_v25, LLDB_INVALID_REGNUM};
386 static uint32_t g_contained_v26[] = {fpu_v26, LLDB_INVALID_REGNUM};
387 static uint32_t g_contained_v27[] = {fpu_v27, LLDB_INVALID_REGNUM};
388 static uint32_t g_contained_v28[] = {fpu_v28, LLDB_INVALID_REGNUM};
389 static uint32_t g_contained_v29[] = {fpu_v29, LLDB_INVALID_REGNUM};
390 static uint32_t g_contained_v30[] = {fpu_v30, LLDB_INVALID_REGNUM};
391 static uint32_t g_contained_v31[] = {fpu_v31, LLDB_INVALID_REGNUM};
392 
393 static uint32_t g_s0_invalidates[] = {fpu_v0, fpu_d0, LLDB_INVALID_REGNUM};
394 static uint32_t g_s1_invalidates[] = {fpu_v1, fpu_d1, LLDB_INVALID_REGNUM};
395 static uint32_t g_s2_invalidates[] = {fpu_v2, fpu_d2, LLDB_INVALID_REGNUM};
396 static uint32_t g_s3_invalidates[] = {fpu_v3, fpu_d3, LLDB_INVALID_REGNUM};
397 static uint32_t g_s4_invalidates[] = {fpu_v4, fpu_d4, LLDB_INVALID_REGNUM};
398 static uint32_t g_s5_invalidates[] = {fpu_v5, fpu_d5, LLDB_INVALID_REGNUM};
399 static uint32_t g_s6_invalidates[] = {fpu_v6, fpu_d6, LLDB_INVALID_REGNUM};
400 static uint32_t g_s7_invalidates[] = {fpu_v7, fpu_d7, LLDB_INVALID_REGNUM};
401 static uint32_t g_s8_invalidates[] = {fpu_v8, fpu_d8, LLDB_INVALID_REGNUM};
402 static uint32_t g_s9_invalidates[] = {fpu_v9, fpu_d9, LLDB_INVALID_REGNUM};
403 static uint32_t g_s10_invalidates[] = {fpu_v10, fpu_d10, LLDB_INVALID_REGNUM};
404 static uint32_t g_s11_invalidates[] = {fpu_v11, fpu_d11, LLDB_INVALID_REGNUM};
405 static uint32_t g_s12_invalidates[] = {fpu_v12, fpu_d12, LLDB_INVALID_REGNUM};
406 static uint32_t g_s13_invalidates[] = {fpu_v13, fpu_d13, LLDB_INVALID_REGNUM};
407 static uint32_t g_s14_invalidates[] = {fpu_v14, fpu_d14, LLDB_INVALID_REGNUM};
408 static uint32_t g_s15_invalidates[] = {fpu_v15, fpu_d15, LLDB_INVALID_REGNUM};
409 static uint32_t g_s16_invalidates[] = {fpu_v16, fpu_d16, LLDB_INVALID_REGNUM};
410 static uint32_t g_s17_invalidates[] = {fpu_v17, fpu_d17, LLDB_INVALID_REGNUM};
411 static uint32_t g_s18_invalidates[] = {fpu_v18, fpu_d18, LLDB_INVALID_REGNUM};
412 static uint32_t g_s19_invalidates[] = {fpu_v19, fpu_d19, LLDB_INVALID_REGNUM};
413 static uint32_t g_s20_invalidates[] = {fpu_v20, fpu_d20, LLDB_INVALID_REGNUM};
414 static uint32_t g_s21_invalidates[] = {fpu_v21, fpu_d21, LLDB_INVALID_REGNUM};
415 static uint32_t g_s22_invalidates[] = {fpu_v22, fpu_d22, LLDB_INVALID_REGNUM};
416 static uint32_t g_s23_invalidates[] = {fpu_v23, fpu_d23, LLDB_INVALID_REGNUM};
417 static uint32_t g_s24_invalidates[] = {fpu_v24, fpu_d24, LLDB_INVALID_REGNUM};
418 static uint32_t g_s25_invalidates[] = {fpu_v25, fpu_d25, LLDB_INVALID_REGNUM};
419 static uint32_t g_s26_invalidates[] = {fpu_v26, fpu_d26, LLDB_INVALID_REGNUM};
420 static uint32_t g_s27_invalidates[] = {fpu_v27, fpu_d27, LLDB_INVALID_REGNUM};
421 static uint32_t g_s28_invalidates[] = {fpu_v28, fpu_d28, LLDB_INVALID_REGNUM};
422 static uint32_t g_s29_invalidates[] = {fpu_v29, fpu_d29, LLDB_INVALID_REGNUM};
423 static uint32_t g_s30_invalidates[] = {fpu_v30, fpu_d30, LLDB_INVALID_REGNUM};
424 static uint32_t g_s31_invalidates[] = {fpu_v31, fpu_d31, LLDB_INVALID_REGNUM};
425 
426 static uint32_t g_d0_invalidates[] = {fpu_v0, fpu_s0, LLDB_INVALID_REGNUM};
427 static uint32_t g_d1_invalidates[] = {fpu_v1, fpu_s1, LLDB_INVALID_REGNUM};
428 static uint32_t g_d2_invalidates[] = {fpu_v2, fpu_s2, LLDB_INVALID_REGNUM};
429 static uint32_t g_d3_invalidates[] = {fpu_v3, fpu_s3, LLDB_INVALID_REGNUM};
430 static uint32_t g_d4_invalidates[] = {fpu_v4, fpu_s4, LLDB_INVALID_REGNUM};
431 static uint32_t g_d5_invalidates[] = {fpu_v5, fpu_s5, LLDB_INVALID_REGNUM};
432 static uint32_t g_d6_invalidates[] = {fpu_v6, fpu_s6, LLDB_INVALID_REGNUM};
433 static uint32_t g_d7_invalidates[] = {fpu_v7, fpu_s7, LLDB_INVALID_REGNUM};
434 static uint32_t g_d8_invalidates[] = {fpu_v8, fpu_s8, LLDB_INVALID_REGNUM};
435 static uint32_t g_d9_invalidates[] = {fpu_v9, fpu_s9, LLDB_INVALID_REGNUM};
436 static uint32_t g_d10_invalidates[] = {fpu_v10, fpu_s10, LLDB_INVALID_REGNUM};
437 static uint32_t g_d11_invalidates[] = {fpu_v11, fpu_s11, LLDB_INVALID_REGNUM};
438 static uint32_t g_d12_invalidates[] = {fpu_v12, fpu_s12, LLDB_INVALID_REGNUM};
439 static uint32_t g_d13_invalidates[] = {fpu_v13, fpu_s13, LLDB_INVALID_REGNUM};
440 static uint32_t g_d14_invalidates[] = {fpu_v14, fpu_s14, LLDB_INVALID_REGNUM};
441 static uint32_t g_d15_invalidates[] = {fpu_v15, fpu_s15, LLDB_INVALID_REGNUM};
442 static uint32_t g_d16_invalidates[] = {fpu_v16, fpu_s16, LLDB_INVALID_REGNUM};
443 static uint32_t g_d17_invalidates[] = {fpu_v17, fpu_s17, LLDB_INVALID_REGNUM};
444 static uint32_t g_d18_invalidates[] = {fpu_v18, fpu_s18, LLDB_INVALID_REGNUM};
445 static uint32_t g_d19_invalidates[] = {fpu_v19, fpu_s19, LLDB_INVALID_REGNUM};
446 static uint32_t g_d20_invalidates[] = {fpu_v20, fpu_s20, LLDB_INVALID_REGNUM};
447 static uint32_t g_d21_invalidates[] = {fpu_v21, fpu_s21, LLDB_INVALID_REGNUM};
448 static uint32_t g_d22_invalidates[] = {fpu_v22, fpu_s22, LLDB_INVALID_REGNUM};
449 static uint32_t g_d23_invalidates[] = {fpu_v23, fpu_s23, LLDB_INVALID_REGNUM};
450 static uint32_t g_d24_invalidates[] = {fpu_v24, fpu_s24, LLDB_INVALID_REGNUM};
451 static uint32_t g_d25_invalidates[] = {fpu_v25, fpu_s25, LLDB_INVALID_REGNUM};
452 static uint32_t g_d26_invalidates[] = {fpu_v26, fpu_s26, LLDB_INVALID_REGNUM};
453 static uint32_t g_d27_invalidates[] = {fpu_v27, fpu_s27, LLDB_INVALID_REGNUM};
454 static uint32_t g_d28_invalidates[] = {fpu_v28, fpu_s28, LLDB_INVALID_REGNUM};
455 static uint32_t g_d29_invalidates[] = {fpu_v29, fpu_s29, LLDB_INVALID_REGNUM};
456 static uint32_t g_d30_invalidates[] = {fpu_v30, fpu_s30, LLDB_INVALID_REGNUM};
457 static uint32_t g_d31_invalidates[] = {fpu_v31, fpu_s31, LLDB_INVALID_REGNUM};
458 
459 // Generates register kinds array with DWARF, EH frame and generic kind
460 #define MISC_KIND(reg, type, generic_kind) \
461  { \
462  arm64_ehframe::reg, arm64_dwarf::reg, generic_kind, LLDB_INVALID_REGNUM, \
463  type##_##reg \
464  }
465 
466 // Generates register kinds array for registers with only lldb kind
467 #define LLDB_KIND(lldb_kind) \
468  { \
469  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
470  LLDB_INVALID_REGNUM, lldb_kind \
471  }
472 
473 // Generates register kinds array for registers with only lldb kind
474 #define KIND_ALL_INVALID \
475  { \
476  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
477  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM \
478  }
479 
480 // Generates register kinds array for vector registers
481 #define GPR64_KIND(reg, generic_kind) MISC_KIND(reg, gpr, generic_kind)
482 #define VREG_KIND(reg) MISC_KIND(reg, fpu, LLDB_INVALID_REGNUM)
483 #define MISC_GPR_KIND(lldb_kind) MISC_KIND(cpsr, gpr, LLDB_REGNUM_GENERIC_FLAGS)
484 #define MISC_FPU_KIND(lldb_kind) LLDB_KIND(lldb_kind)
485 #define MISC_EXC_KIND(lldb_kind) LLDB_KIND(lldb_kind)
486 
487 // Defines a 64-bit general purpose register
488 #define DEFINE_GPR64(reg, generic_kind) \
489  { \
490  #reg, nullptr, 8, GPR_OFFSET(gpr_##reg), lldb::eEncodingUint, \
491  lldb::eFormatHex, GPR64_KIND(reg, generic_kind), nullptr, nullptr, \
492  }
493 
494 // Defines a 64-bit general purpose register
495 #define DEFINE_GPR64_ALT(reg, alt, generic_kind) \
496  { \
497  #reg, #alt, 8, GPR_OFFSET(gpr_##reg), lldb::eEncodingUint, \
498  lldb::eFormatHex, GPR64_KIND(reg, generic_kind), nullptr, nullptr, \
499  }
500 
501 // Defines a 32-bit general purpose pseudo register
502 #define DEFINE_GPR32(wreg, xreg) \
503  { \
504  #wreg, nullptr, 4, \
505  GPR_OFFSET(gpr_##xreg) + GPR_W_PSEUDO_REG_ENDIAN_OFFSET, \
506  lldb::eEncodingUint, lldb::eFormatHex, LLDB_KIND(gpr_##wreg), \
507  g_contained_##xreg, g_##wreg##_invalidates, \
508  }
509 
510 // Defines a vector register with 16-byte size
511 #define DEFINE_VREG(reg) \
512  { \
513  #reg, nullptr, 16, FPU_OFFSET(fpu_##reg - fpu_v0), lldb::eEncodingVector, \
514  lldb::eFormatVectorOfUInt8, VREG_KIND(reg), nullptr, nullptr, \
515  }
516 
517 // Defines S and D pseudo registers mapping over corresponding vector register
518 #define DEFINE_FPU_PSEUDO(reg, size, offset, vreg) \
519  { \
520  #reg, nullptr, size, FPU_OFFSET(fpu_##vreg - fpu_v0) + offset, \
521  lldb::eEncodingIEEE754, lldb::eFormatFloat, LLDB_KIND(fpu_##reg), \
522  g_contained_##vreg, g_##reg##_invalidates, \
523  }
524 
525 // Defines miscellaneous status and control registers like cpsr, fpsr etc
526 #define DEFINE_MISC_REGS(reg, size, TYPE, lldb_kind) \
527  { \
528  #reg, nullptr, size, TYPE##_OFFSET_NAME(reg), lldb::eEncodingUint, \
529  lldb::eFormatHex, MISC_##TYPE##_KIND(lldb_kind), nullptr, nullptr, \
530  }
531 
532 // Defines pointer authentication mask registers
533 #define DEFINE_EXTENSION_REG(reg) \
534  { \
535  #reg, nullptr, 8, 0, lldb::eEncodingUint, lldb::eFormatHex, \
536  KIND_ALL_INVALID, nullptr, nullptr, \
537  }
538 
539 static lldb_private::RegisterInfo g_register_infos_arm64_le[] = {
540  // DEFINE_GPR64(name, GENERIC KIND)
541  DEFINE_GPR64(x0, LLDB_REGNUM_GENERIC_ARG1),
542  DEFINE_GPR64(x1, LLDB_REGNUM_GENERIC_ARG2),
543  DEFINE_GPR64(x2, LLDB_REGNUM_GENERIC_ARG3),
544  DEFINE_GPR64(x3, LLDB_REGNUM_GENERIC_ARG4),
545  DEFINE_GPR64(x4, LLDB_REGNUM_GENERIC_ARG5),
546  DEFINE_GPR64(x5, LLDB_REGNUM_GENERIC_ARG6),
547  DEFINE_GPR64(x6, LLDB_REGNUM_GENERIC_ARG7),
548  DEFINE_GPR64(x7, LLDB_REGNUM_GENERIC_ARG8),
549  DEFINE_GPR64(x8, LLDB_INVALID_REGNUM),
550  DEFINE_GPR64(x9, LLDB_INVALID_REGNUM),
551  DEFINE_GPR64(x10, LLDB_INVALID_REGNUM),
552  DEFINE_GPR64(x11, LLDB_INVALID_REGNUM),
553  DEFINE_GPR64(x12, LLDB_INVALID_REGNUM),
554  DEFINE_GPR64(x13, LLDB_INVALID_REGNUM),
555  DEFINE_GPR64(x14, LLDB_INVALID_REGNUM),
556  DEFINE_GPR64(x15, LLDB_INVALID_REGNUM),
557  DEFINE_GPR64(x16, LLDB_INVALID_REGNUM),
558  DEFINE_GPR64(x17, LLDB_INVALID_REGNUM),
559  DEFINE_GPR64(x18, LLDB_INVALID_REGNUM),
560  DEFINE_GPR64(x19, LLDB_INVALID_REGNUM),
561  DEFINE_GPR64(x20, LLDB_INVALID_REGNUM),
562  DEFINE_GPR64(x21, LLDB_INVALID_REGNUM),
563  DEFINE_GPR64(x22, LLDB_INVALID_REGNUM),
564  DEFINE_GPR64(x23, LLDB_INVALID_REGNUM),
565  DEFINE_GPR64(x24, LLDB_INVALID_REGNUM),
566  DEFINE_GPR64(x25, LLDB_INVALID_REGNUM),
567  DEFINE_GPR64(x26, LLDB_INVALID_REGNUM),
568  DEFINE_GPR64(x27, LLDB_INVALID_REGNUM),
569  DEFINE_GPR64(x28, LLDB_INVALID_REGNUM),
570  // DEFINE_GPR64(name, GENERIC KIND)
571  DEFINE_GPR64_ALT(fp, x29, LLDB_REGNUM_GENERIC_FP),
572  DEFINE_GPR64_ALT(lr, x30, LLDB_REGNUM_GENERIC_RA),
573  DEFINE_GPR64_ALT(sp, x31, LLDB_REGNUM_GENERIC_SP),
574  DEFINE_GPR64(pc, LLDB_REGNUM_GENERIC_PC),
575 
576  // DEFINE_MISC_REGS(name, size, TYPE, lldb kind)
577  DEFINE_MISC_REGS(cpsr, 4, GPR, gpr_cpsr),
578 
579  // DEFINE_GPR32(name, parent name)
580  DEFINE_GPR32(w0, x0),
581  DEFINE_GPR32(w1, x1),
582  DEFINE_GPR32(w2, x2),
583  DEFINE_GPR32(w3, x3),
584  DEFINE_GPR32(w4, x4),
585  DEFINE_GPR32(w5, x5),
586  DEFINE_GPR32(w6, x6),
587  DEFINE_GPR32(w7, x7),
588  DEFINE_GPR32(w8, x8),
589  DEFINE_GPR32(w9, x9),
590  DEFINE_GPR32(w10, x10),
591  DEFINE_GPR32(w11, x11),
592  DEFINE_GPR32(w12, x12),
593  DEFINE_GPR32(w13, x13),
594  DEFINE_GPR32(w14, x14),
595  DEFINE_GPR32(w15, x15),
596  DEFINE_GPR32(w16, x16),
597  DEFINE_GPR32(w17, x17),
598  DEFINE_GPR32(w18, x18),
599  DEFINE_GPR32(w19, x19),
600  DEFINE_GPR32(w20, x20),
601  DEFINE_GPR32(w21, x21),
602  DEFINE_GPR32(w22, x22),
603  DEFINE_GPR32(w23, x23),
604  DEFINE_GPR32(w24, x24),
605  DEFINE_GPR32(w25, x25),
606  DEFINE_GPR32(w26, x26),
607  DEFINE_GPR32(w27, x27),
608  DEFINE_GPR32(w28, x28),
609 
610  // DEFINE_VREG(name)
611  DEFINE_VREG(v0),
612  DEFINE_VREG(v1),
613  DEFINE_VREG(v2),
614  DEFINE_VREG(v3),
615  DEFINE_VREG(v4),
616  DEFINE_VREG(v5),
617  DEFINE_VREG(v6),
618  DEFINE_VREG(v7),
619  DEFINE_VREG(v8),
620  DEFINE_VREG(v9),
621  DEFINE_VREG(v10),
622  DEFINE_VREG(v11),
623  DEFINE_VREG(v12),
624  DEFINE_VREG(v13),
625  DEFINE_VREG(v14),
626  DEFINE_VREG(v15),
627  DEFINE_VREG(v16),
628  DEFINE_VREG(v17),
629  DEFINE_VREG(v18),
630  DEFINE_VREG(v19),
631  DEFINE_VREG(v20),
632  DEFINE_VREG(v21),
633  DEFINE_VREG(v22),
634  DEFINE_VREG(v23),
635  DEFINE_VREG(v24),
636  DEFINE_VREG(v25),
637  DEFINE_VREG(v26),
638  DEFINE_VREG(v27),
639  DEFINE_VREG(v28),
640  DEFINE_VREG(v29),
641  DEFINE_VREG(v30),
642  DEFINE_VREG(v31),
643 
644  // DEFINE_FPU_PSEUDO(name, size, ENDIAN OFFSET, parent register)
645  DEFINE_FPU_PSEUDO(s0, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v0),
646  DEFINE_FPU_PSEUDO(s1, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v1),
647  DEFINE_FPU_PSEUDO(s2, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v2),
648  DEFINE_FPU_PSEUDO(s3, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v3),
649  DEFINE_FPU_PSEUDO(s4, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v4),
650  DEFINE_FPU_PSEUDO(s5, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v5),
651  DEFINE_FPU_PSEUDO(s6, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v6),
652  DEFINE_FPU_PSEUDO(s7, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v7),
653  DEFINE_FPU_PSEUDO(s8, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v8),
654  DEFINE_FPU_PSEUDO(s9, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v9),
655  DEFINE_FPU_PSEUDO(s10, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v10),
656  DEFINE_FPU_PSEUDO(s11, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v11),
657  DEFINE_FPU_PSEUDO(s12, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v12),
658  DEFINE_FPU_PSEUDO(s13, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v13),
659  DEFINE_FPU_PSEUDO(s14, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v14),
660  DEFINE_FPU_PSEUDO(s15, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v15),
661  DEFINE_FPU_PSEUDO(s16, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v16),
662  DEFINE_FPU_PSEUDO(s17, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v17),
663  DEFINE_FPU_PSEUDO(s18, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v18),
664  DEFINE_FPU_PSEUDO(s19, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v19),
665  DEFINE_FPU_PSEUDO(s20, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v20),
666  DEFINE_FPU_PSEUDO(s21, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v21),
667  DEFINE_FPU_PSEUDO(s22, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v22),
668  DEFINE_FPU_PSEUDO(s23, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v23),
669  DEFINE_FPU_PSEUDO(s24, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v24),
670  DEFINE_FPU_PSEUDO(s25, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v25),
671  DEFINE_FPU_PSEUDO(s26, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v26),
672  DEFINE_FPU_PSEUDO(s27, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v27),
673  DEFINE_FPU_PSEUDO(s28, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v28),
674  DEFINE_FPU_PSEUDO(s29, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v29),
675  DEFINE_FPU_PSEUDO(s30, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v30),
676  DEFINE_FPU_PSEUDO(s31, 4, FPU_S_PSEUDO_REG_ENDIAN_OFFSET, v31),
677 
678  DEFINE_FPU_PSEUDO(d0, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v0),
679  DEFINE_FPU_PSEUDO(d1, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v1),
680  DEFINE_FPU_PSEUDO(d2, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v2),
681  DEFINE_FPU_PSEUDO(d3, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v3),
682  DEFINE_FPU_PSEUDO(d4, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v4),
683  DEFINE_FPU_PSEUDO(d5, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v5),
684  DEFINE_FPU_PSEUDO(d6, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v6),
685  DEFINE_FPU_PSEUDO(d7, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v7),
686  DEFINE_FPU_PSEUDO(d8, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v8),
687  DEFINE_FPU_PSEUDO(d9, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v9),
688  DEFINE_FPU_PSEUDO(d10, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v10),
689  DEFINE_FPU_PSEUDO(d11, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v11),
690  DEFINE_FPU_PSEUDO(d12, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v12),
691  DEFINE_FPU_PSEUDO(d13, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v13),
692  DEFINE_FPU_PSEUDO(d14, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v14),
693  DEFINE_FPU_PSEUDO(d15, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v15),
694  DEFINE_FPU_PSEUDO(d16, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v16),
695  DEFINE_FPU_PSEUDO(d17, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v17),
696  DEFINE_FPU_PSEUDO(d18, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v18),
697  DEFINE_FPU_PSEUDO(d19, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v19),
698  DEFINE_FPU_PSEUDO(d20, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v20),
699  DEFINE_FPU_PSEUDO(d21, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v21),
700  DEFINE_FPU_PSEUDO(d22, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v22),
701  DEFINE_FPU_PSEUDO(d23, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v23),
702  DEFINE_FPU_PSEUDO(d24, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v24),
703  DEFINE_FPU_PSEUDO(d25, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v25),
704  DEFINE_FPU_PSEUDO(d26, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v26),
705  DEFINE_FPU_PSEUDO(d27, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v27),
706  DEFINE_FPU_PSEUDO(d28, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v28),
707  DEFINE_FPU_PSEUDO(d29, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v29),
708  DEFINE_FPU_PSEUDO(d30, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v30),
709  DEFINE_FPU_PSEUDO(d31, 8, FPU_D_PSEUDO_REG_ENDIAN_OFFSET, v31),
710 
711  // DEFINE_MISC_REGS(name, size, TYPE, lldb kind)
712  DEFINE_MISC_REGS(fpsr, 4, FPU, fpu_fpsr),
713  DEFINE_MISC_REGS(fpcr, 4, FPU, fpu_fpcr),
714  DEFINE_MISC_REGS(far, 8, EXC, exc_far),
715  DEFINE_MISC_REGS(esr, 4, EXC, exc_esr),
716  DEFINE_MISC_REGS(exception, 4, EXC, exc_exception),
717 
718  {DEFINE_DBG(bvr, 0)},
719  {DEFINE_DBG(bvr, 1)},
720  {DEFINE_DBG(bvr, 2)},
721  {DEFINE_DBG(bvr, 3)},
722  {DEFINE_DBG(bvr, 4)},
723  {DEFINE_DBG(bvr, 5)},
724  {DEFINE_DBG(bvr, 6)},
725  {DEFINE_DBG(bvr, 7)},
726  {DEFINE_DBG(bvr, 8)},
727  {DEFINE_DBG(bvr, 9)},
728  {DEFINE_DBG(bvr, 10)},
729  {DEFINE_DBG(bvr, 11)},
730  {DEFINE_DBG(bvr, 12)},
731  {DEFINE_DBG(bvr, 13)},
732  {DEFINE_DBG(bvr, 14)},
733  {DEFINE_DBG(bvr, 15)},
734 
735  {DEFINE_DBG(bcr, 0)},
736  {DEFINE_DBG(bcr, 1)},
737  {DEFINE_DBG(bcr, 2)},
738  {DEFINE_DBG(bcr, 3)},
739  {DEFINE_DBG(bcr, 4)},
740  {DEFINE_DBG(bcr, 5)},
741  {DEFINE_DBG(bcr, 6)},
742  {DEFINE_DBG(bcr, 7)},
743  {DEFINE_DBG(bcr, 8)},
744  {DEFINE_DBG(bcr, 9)},
745  {DEFINE_DBG(bcr, 10)},
746  {DEFINE_DBG(bcr, 11)},
747  {DEFINE_DBG(bcr, 12)},
748  {DEFINE_DBG(bcr, 13)},
749  {DEFINE_DBG(bcr, 14)},
750  {DEFINE_DBG(bcr, 15)},
751 
752  {DEFINE_DBG(wvr, 0)},
753  {DEFINE_DBG(wvr, 1)},
754  {DEFINE_DBG(wvr, 2)},
755  {DEFINE_DBG(wvr, 3)},
756  {DEFINE_DBG(wvr, 4)},
757  {DEFINE_DBG(wvr, 5)},
758  {DEFINE_DBG(wvr, 6)},
759  {DEFINE_DBG(wvr, 7)},
760  {DEFINE_DBG(wvr, 8)},
761  {DEFINE_DBG(wvr, 9)},
762  {DEFINE_DBG(wvr, 10)},
763  {DEFINE_DBG(wvr, 11)},
764  {DEFINE_DBG(wvr, 12)},
765  {DEFINE_DBG(wvr, 13)},
766  {DEFINE_DBG(wvr, 14)},
767  {DEFINE_DBG(wvr, 15)},
768 
769  {DEFINE_DBG(wcr, 0)},
770  {DEFINE_DBG(wcr, 1)},
771  {DEFINE_DBG(wcr, 2)},
772  {DEFINE_DBG(wcr, 3)},
773  {DEFINE_DBG(wcr, 4)},
774  {DEFINE_DBG(wcr, 5)},
775  {DEFINE_DBG(wcr, 6)},
776  {DEFINE_DBG(wcr, 7)},
777  {DEFINE_DBG(wcr, 8)},
778  {DEFINE_DBG(wcr, 9)},
779  {DEFINE_DBG(wcr, 10)},
780  {DEFINE_DBG(wcr, 11)},
781  {DEFINE_DBG(wcr, 12)},
782  {DEFINE_DBG(wcr, 13)},
783  {DEFINE_DBG(wcr, 14)},
784  {DEFINE_DBG(wcr, 15)}
785 };
786 // clang-format on
787 static lldb_private::RegisterInfo g_register_infos_pauth[] = {
788  DEFINE_EXTENSION_REG(data_mask), DEFINE_EXTENSION_REG(code_mask)};
789 
790 static lldb_private::RegisterInfo g_register_infos_mte[] = {
791  DEFINE_EXTENSION_REG(mte_ctrl)};
792 
793 #endif // DECLARE_REGISTER_INFOS_ARM64_STRUCT
dbg_bvr7
@ dbg_bvr7
Definition: RegisterContextDarwin_arm.cpp:99
arm64_dwarf::x18
@ x18
Definition: ARM64_DWARF_Registers.h:35
LLDB_REGNUM_GENERIC_ARG2
#define LLDB_REGNUM_GENERIC_ARG2
Definition: lldb-defines.h:70
fpu_s24
@ fpu_s24
Definition: RegisterContextDarwin_arm.cpp:78
LLDB_REGNUM_GENERIC_ARG3
#define LLDB_REGNUM_GENERIC_ARG3
Definition: lldb-defines.h:72
x27
@ x27
Definition: CompactUnwindInfo.cpp:1244
v12
@ v12
Definition: CompactUnwindInfo.cpp:1261
dbg_bcr10
@ dbg_bcr10
Definition: RegisterContextDarwin_arm.cpp:119
dbg_wcr14
@ dbg_wcr14
Definition: RegisterContextDarwin_arm.cpp:157
LLDB_REGNUM_GENERIC_ARG1
#define LLDB_REGNUM_GENERIC_ARG1
Definition: lldb-defines.h:68
dbg_bcr0
@ dbg_bcr0
Definition: RegisterContextDarwin_arm.cpp:109
x20
@ x20
Definition: CompactUnwindInfo.cpp:1237
arm64_dwarf::x10
@ x10
Definition: ARM64_DWARF_Registers.h:27
LLDB_INVALID_REGNUM
#define LLDB_INVALID_REGNUM
Definition: lldb-defines.h:91
fpu_s19
@ fpu_s19
Definition: RegisterContextDarwin_arm.cpp:73
v10
@ v10
Definition: CompactUnwindInfo.cpp:1259
dbg_wcr12
@ dbg_wcr12
Definition: RegisterContextDarwin_arm.cpp:155
arm64_dwarf::v31
@ v31
Definition: ARM64_DWARF_Registers.h:112
dbg_bvr13
@ dbg_bvr13
Definition: RegisterContextDarwin_arm.cpp:105
fpu_s12
@ fpu_s12
Definition: RegisterContextDarwin_arm.cpp:66
dbg_bvr1
@ dbg_bvr1
Definition: RegisterContextDarwin_arm.cpp:93
arm64_dwarf::v1
@ v1
Definition: ARM64_DWARF_Registers.h:82
fpu_s5
@ fpu_s5
Definition: RegisterContextDarwin_arm.cpp:59
arm64_dwarf::x2
@ x2
Definition: ARM64_DWARF_Registers.h:19
dbg_bcr15
@ dbg_bcr15
Definition: RegisterContextDarwin_arm.cpp:124
fpu_s2
@ fpu_s2
Definition: RegisterContextDarwin_arm.cpp:56
LLDB_REGNUM_GENERIC_ARG5
#define LLDB_REGNUM_GENERIC_ARG5
Definition: lldb-defines.h:76
lldb-defines.h
dbg_wcr2
@ dbg_wcr2
Definition: RegisterContextDarwin_arm.cpp:145
x19
@ x19
Definition: CompactUnwindInfo.cpp:1236
fpu_s23
@ fpu_s23
Definition: RegisterContextDarwin_arm.cpp:77
fpu_s17
@ fpu_s17
Definition: RegisterContextDarwin_arm.cpp:71
fpu_s22
@ fpu_s22
Definition: RegisterContextDarwin_arm.cpp:76
arm64_dwarf::v22
@ v22
Definition: ARM64_DWARF_Registers.h:103
dbg_bvr14
@ dbg_bvr14
Definition: RegisterContextDarwin_arm.cpp:106
arm64_dwarf::x15
@ x15
Definition: ARM64_DWARF_Registers.h:32
dbg_wvr13
@ dbg_wvr13
Definition: RegisterContextDarwin_arm.cpp:139
dbg_bvr11
@ dbg_bvr11
Definition: RegisterContextDarwin_arm.cpp:103
dbg_wcr7
@ dbg_wcr7
Definition: RegisterContextDarwin_arm.cpp:150
dbg_bvr12
@ dbg_bvr12
Definition: RegisterContextDarwin_arm.cpp:104
arm64_dwarf::cpsr
@ cpsr
Definition: ARM64_DWARF_Registers.h:53
gpr_lr
@ gpr_lr
Definition: RegisterContextDarwin_arm.cpp:49
dbg_wcr6
@ dbg_wcr6
Definition: RegisterContextDarwin_arm.cpp:149
arm64_dwarf::x12
@ x12
Definition: ARM64_DWARF_Registers.h:29
arm64_dwarf::v29
@ v29
Definition: ARM64_DWARF_Registers.h:110
arm64_dwarf::x13
@ x13
Definition: ARM64_DWARF_Registers.h:30
gpr_cpsr
@ gpr_cpsr
Definition: RegisterContextDarwin_arm.cpp:52
arm64_dwarf::v20
@ v20
Definition: ARM64_DWARF_Registers.h:101
dbg_bvr9
@ dbg_bvr9
Definition: RegisterContextDarwin_arm.cpp:101
dbg_wvr5
@ dbg_wvr5
Definition: RegisterContextDarwin_arm.cpp:131
dbg_wcr11
@ dbg_wcr11
Definition: RegisterContextDarwin_arm.cpp:154
fpu_s6
@ fpu_s6
Definition: RegisterContextDarwin_arm.cpp:60
arm64_dwarf::v27
@ v27
Definition: ARM64_DWARF_Registers.h:108
dbg_wvr4
@ dbg_wvr4
Definition: RegisterContextDarwin_arm.cpp:130
dbg_wvr7
@ dbg_wvr7
Definition: RegisterContextDarwin_arm.cpp:133
dbg_bvr15
@ dbg_bvr15
Definition: RegisterContextDarwin_arm.cpp:107
dbg_bcr14
@ dbg_bcr14
Definition: RegisterContextDarwin_arm.cpp:123
v9
@ v9
Definition: CompactUnwindInfo.cpp:1258
arm64_dwarf::v24
@ v24
Definition: ARM64_DWARF_Registers.h:105
fpu_s0
@ fpu_s0
Definition: RegisterContextDarwin_arm.cpp:54
dbg_wvr0
@ dbg_wvr0
Definition: RegisterContextDarwin_arm.cpp:126
dbg_wcr3
@ dbg_wcr3
Definition: RegisterContextDarwin_arm.cpp:146
pc
@ pc
Definition: CompactUnwindInfo.cpp:1250
arm64_dwarf::x3
@ x3
Definition: ARM64_DWARF_Registers.h:20
dbg_bcr7
@ dbg_bcr7
Definition: RegisterContextDarwin_arm.cpp:116
arm64_dwarf::x17
@ x17
Definition: ARM64_DWARF_Registers.h:34
arm64_dwarf::x6
@ x6
Definition: ARM64_DWARF_Registers.h:23
LLDB_REGNUM_GENERIC_ARG6
#define LLDB_REGNUM_GENERIC_ARG6
Definition: lldb-defines.h:78
fpu_s26
@ fpu_s26
Definition: RegisterContextDarwin_arm.cpp:80
dbg_bcr3
@ dbg_bcr3
Definition: RegisterContextDarwin_arm.cpp:112
x26
@ x26
Definition: CompactUnwindInfo.cpp:1243
arm64_dwarf::v7
@ v7
Definition: ARM64_DWARF_Registers.h:88
arm64_dwarf::x11
@ x11
Definition: ARM64_DWARF_Registers.h:28
dbg_wcr10
@ dbg_wcr10
Definition: RegisterContextDarwin_arm.cpp:153
dbg_bcr13
@ dbg_bcr13
Definition: RegisterContextDarwin_arm.cpp:122
dbg_bcr2
@ dbg_bcr2
Definition: RegisterContextDarwin_arm.cpp:111
v13
@ v13
Definition: CompactUnwindInfo.cpp:1262
x24
@ x24
Definition: CompactUnwindInfo.cpp:1241
fpu_s3
@ fpu_s3
Definition: RegisterContextDarwin_arm.cpp:57
arm64_dwarf::v21
@ v21
Definition: ARM64_DWARF_Registers.h:102
fpu_s10
@ fpu_s10
Definition: RegisterContextDarwin_arm.cpp:64
dbg_wvr15
@ dbg_wvr15
Definition: RegisterContextDarwin_arm.cpp:141
fpu_s29
@ fpu_s29
Definition: RegisterContextDarwin_arm.cpp:83
gpr_sp
@ gpr_sp
Definition: RegisterContextDarwin_arm.cpp:47
fpu_s31
@ fpu_s31
Definition: RegisterContextDarwin_arm.cpp:85
lldb-enumerations.h
dbg_wvr10
@ dbg_wvr10
Definition: RegisterContextDarwin_arm.cpp:136
fpu_s15
@ fpu_s15
Definition: RegisterContextDarwin_arm.cpp:69
fpu_s18
@ fpu_s18
Definition: RegisterContextDarwin_arm.cpp:72
arm64_dwarf::x1
@ x1
Definition: ARM64_DWARF_Registers.h:18
dbg_wvr8
@ dbg_wvr8
Definition: RegisterContextDarwin_arm.cpp:134
dbg_wcr5
@ dbg_wcr5
Definition: RegisterContextDarwin_arm.cpp:148
exc_far
@ exc_far
Definition: RegisterContextDarwin_arm.cpp:90
dbg_wcr8
@ dbg_wcr8
Definition: RegisterContextDarwin_arm.cpp:151
fpu_s20
@ fpu_s20
Definition: RegisterContextDarwin_arm.cpp:74
fpu_s16
@ fpu_s16
Definition: RegisterContextDarwin_arm.cpp:70
sp
@ sp
Definition: CompactUnwindInfo.cpp:1249
dbg_bvr2
@ dbg_bvr2
Definition: RegisterContextDarwin_arm.cpp:94
arm64_dwarf::v0
@ v0
Definition: ARM64_DWARF_Registers.h:81
v15
@ v15
Definition: CompactUnwindInfo.cpp:1264
fpu_s7
@ fpu_s7
Definition: RegisterContextDarwin_arm.cpp:61
arm64_dwarf::v17
@ v17
Definition: ARM64_DWARF_Registers.h:98
dbg_wvr6
@ dbg_wvr6
Definition: RegisterContextDarwin_arm.cpp:132
x22
@ x22
Definition: CompactUnwindInfo.cpp:1239
arm64_dwarf::x4
@ x4
Definition: ARM64_DWARF_Registers.h:21
dbg_bvr10
@ dbg_bvr10
Definition: RegisterContextDarwin_arm.cpp:102
ARM64_DWARF_Registers.h
lldb-private.h
v8
@ v8
Definition: CompactUnwindInfo.cpp:1257
fpu_s25
@ fpu_s25
Definition: RegisterContextDarwin_arm.cpp:79
arm64_dwarf::x14
@ x14
Definition: ARM64_DWARF_Registers.h:31
x23
@ x23
Definition: CompactUnwindInfo.cpp:1240
arm64_dwarf::v28
@ v28
Definition: ARM64_DWARF_Registers.h:109
dbg_wvr1
@ dbg_wvr1
Definition: RegisterContextDarwin_arm.cpp:127
fpu_s13
@ fpu_s13
Definition: RegisterContextDarwin_arm.cpp:67
v11
@ v11
Definition: CompactUnwindInfo.cpp:1260
DEFINE_DBG
#define DEFINE_DBG(re, y)
Definition: EmulateInstructionARM64.cpp:34
GPR
Definition: RegisterContextFreeBSD_i386.cpp:16
dbg_wcr13
@ dbg_wcr13
Definition: RegisterContextDarwin_arm.cpp:156
arm64_dwarf::v2
@ v2
Definition: ARM64_DWARF_Registers.h:83
arm64_dwarf::v3
@ v3
Definition: ARM64_DWARF_Registers.h:84
fpu_s4
@ fpu_s4
Definition: RegisterContextDarwin_arm.cpp:58
arm64_dwarf::v4
@ v4
Definition: ARM64_DWARF_Registers.h:85
uint32_t
arm64_dwarf::v25
@ v25
Definition: ARM64_DWARF_Registers.h:106
x28
@ x28
Definition: CompactUnwindInfo.cpp:1245
dbg_bcr11
@ dbg_bcr11
Definition: RegisterContextDarwin_arm.cpp:120
dbg_bvr0
@ dbg_bvr0
Definition: RegisterContextDarwin_arm.cpp:92
LLDB_REGNUM_GENERIC_SP
#define LLDB_REGNUM_GENERIC_SP
Definition: lldb-defines.h:64
dbg_wvr12
@ dbg_wvr12
Definition: RegisterContextDarwin_arm.cpp:138
arm64_dwarf::x7
@ x7
Definition: ARM64_DWARF_Registers.h:24
fpu_s9
@ fpu_s9
Definition: RegisterContextDarwin_arm.cpp:63
arm64_dwarf::x16
@ x16
Definition: ARM64_DWARF_Registers.h:33
dbg_bcr8
@ dbg_bcr8
Definition: RegisterContextDarwin_arm.cpp:117
fpu_s11
@ fpu_s11
Definition: RegisterContextDarwin_arm.cpp:65
fpu_s21
@ fpu_s21
Definition: RegisterContextDarwin_arm.cpp:75
arm64_dwarf::x8
@ x8
Definition: ARM64_DWARF_Registers.h:25
dbg_bvr4
@ dbg_bvr4
Definition: RegisterContextDarwin_arm.cpp:96
dbg_bvr3
@ dbg_bvr3
Definition: RegisterContextDarwin_arm.cpp:95
dbg_wcr9
@ dbg_wcr9
Definition: RegisterContextDarwin_arm.cpp:152
dbg_bcr1
@ dbg_bcr1
Definition: RegisterContextDarwin_arm.cpp:110
x25
@ x25
Definition: CompactUnwindInfo.cpp:1242
dbg_wvr14
@ dbg_wvr14
Definition: RegisterContextDarwin_arm.cpp:140
dbg_bvr6
@ dbg_bvr6
Definition: RegisterContextDarwin_arm.cpp:98
dbg_wcr0
@ dbg_wcr0
Definition: RegisterContextDarwin_arm.cpp:143
arm64_dwarf::v18
@ v18
Definition: ARM64_DWARF_Registers.h:99
dbg_bcr6
@ dbg_bcr6
Definition: RegisterContextDarwin_arm.cpp:115
LLDB_REGNUM_GENERIC_ARG4
#define LLDB_REGNUM_GENERIC_ARG4
Definition: lldb-defines.h:74
arm64_dwarf::x31
@ x31
Definition: ARM64_DWARF_Registers.h:50
LLDB_REGNUM_GENERIC_FP
#define LLDB_REGNUM_GENERIC_FP
Definition: lldb-defines.h:65
fpu_s30
@ fpu_s30
Definition: RegisterContextDarwin_arm.cpp:84
k_num_registers
@ k_num_registers
Definition: RegisterContextDarwin_arm.cpp:160
dbg_bvr8
@ dbg_bvr8
Definition: RegisterContextDarwin_arm.cpp:100
dbg_bcr9
@ dbg_bcr9
Definition: RegisterContextDarwin_arm.cpp:118
arm64_dwarf::x29
@ x29
Definition: ARM64_DWARF_Registers.h:46
LLDB_REGNUM_GENERIC_PC
#define LLDB_REGNUM_GENERIC_PC
Definition: lldb-defines.h:63
fpu_s1
@ fpu_s1
Definition: RegisterContextDarwin_arm.cpp:55
arm64_dwarf::x9
@ x9
Definition: ARM64_DWARF_Registers.h:26
dbg_wcr1
@ dbg_wcr1
Definition: RegisterContextDarwin_arm.cpp:144
arm64_dwarf::x0
@ x0
Definition: ARM64_DWARF_Registers.h:17
dbg_wvr9
@ dbg_wvr9
Definition: RegisterContextDarwin_arm.cpp:135
dbg_bcr12
@ dbg_bcr12
Definition: RegisterContextDarwin_arm.cpp:121
dbg_wcr15
@ dbg_wcr15
Definition: RegisterContextDarwin_arm.cpp:158
dbg_wcr4
@ dbg_wcr4
Definition: RegisterContextDarwin_arm.cpp:147
dbg_wvr2
@ dbg_wvr2
Definition: RegisterContextDarwin_arm.cpp:128
LLDB_REGNUM_GENERIC_ARG8
#define LLDB_REGNUM_GENERIC_ARG8
Definition: lldb-defines.h:82
fpu_s14
@ fpu_s14
Definition: RegisterContextDarwin_arm.cpp:68
x21
@ x21
Definition: CompactUnwindInfo.cpp:1238
arm64_dwarf::v19
@ v19
Definition: ARM64_DWARF_Registers.h:100
LLDB_REGNUM_GENERIC_ARG7
#define LLDB_REGNUM_GENERIC_ARG7
Definition: lldb-defines.h:80
dbg_bcr4
@ dbg_bcr4
Definition: RegisterContextDarwin_arm.cpp:113
dbg_bcr5
@ dbg_bcr5
Definition: RegisterContextDarwin_arm.cpp:114
fp
@ fp
Definition: CompactUnwindInfo.cpp:1247
dbg_bvr5
@ dbg_bvr5
Definition: RegisterContextDarwin_arm.cpp:97
arm64_dwarf::v5
@ v5
Definition: ARM64_DWARF_Registers.h:86
fpu_s28
@ fpu_s28
Definition: RegisterContextDarwin_arm.cpp:82
arm64_dwarf::v16
@ v16
Definition: ARM64_DWARF_Registers.h:97
gpr_pc
@ gpr_pc
Definition: RegisterContextDarwin_arm.cpp:51
fpu_s8
@ fpu_s8
Definition: RegisterContextDarwin_arm.cpp:62
v14
@ v14
Definition: CompactUnwindInfo.cpp:1263
arm64_dwarf::v23
@ v23
Definition: ARM64_DWARF_Registers.h:104
ARM64_ehframe_Registers.h
arm64_dwarf::lr
@ lr
Definition: ARM64_DWARF_Registers.h:49
arm64_dwarf::x30
@ x30
Definition: ARM64_DWARF_Registers.h:48
arm64_dwarf::v30
@ v30
Definition: ARM64_DWARF_Registers.h:111
arm64_dwarf::x5
@ x5
Definition: ARM64_DWARF_Registers.h:22
dbg_wvr3
@ dbg_wvr3
Definition: RegisterContextDarwin_arm.cpp:129
arm64_dwarf::v6
@ v6
Definition: ARM64_DWARF_Registers.h:87
dbg_wvr11
@ dbg_wvr11
Definition: RegisterContextDarwin_arm.cpp:137
arm64_dwarf::v26
@ v26
Definition: ARM64_DWARF_Registers.h:107
LLDB_REGNUM_GENERIC_RA
#define LLDB_REGNUM_GENERIC_RA
Definition: lldb-defines.h:66
fpu_s27
@ fpu_s27
Definition: RegisterContextDarwin_arm.cpp:81
exc_exception
@ exc_exception
Definition: RegisterContextDarwin_arm.cpp:88