LLDB mainline
RegisterInfos_arm.h
Go to the documentation of this file.
1//===-- RegisterInfos_arm.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_ARM_STRUCT
10
11#include <cstddef>
12
13#include "lldb/lldb-defines.h"
15#include "lldb/lldb-private.h"
16
19
20using namespace lldb;
21using namespace lldb_private;
22
23#ifndef GPR_OFFSET
24#error GPR_OFFSET must be defined before including this header file
25#endif
26
27#ifndef FPU_OFFSET
28#error FPU_OFFSET must be defined before including this header file
29#endif
30
31#ifndef FPSCR_OFFSET
32#error FPSCR_OFFSET must be defined before including this header file
33#endif
34
35#ifndef TLS_OFFSET
36#error TLS_OFFSET must be defined before including this header file
37#endif
38
39#ifndef EXC_OFFSET
40#error EXC_OFFSET_NAME must be defined before including this header file
41#endif
42
43#ifndef DEFINE_DBG
44#error DEFINE_DBG must be defined before including this header file
45#endif
46
47enum {
48 gpr_r0 = 0,
49 gpr_r1,
50 gpr_r2,
51 gpr_r3,
52 gpr_r4,
53 gpr_r5,
54 gpr_r6,
55 gpr_r7,
56 gpr_r8,
57 gpr_r9,
58 gpr_r10,
59 gpr_r11,
60 gpr_r12,
61 gpr_r13,
63 gpr_r14,
65 gpr_r15,
68
69 fpu_s0,
70 fpu_s1,
71 fpu_s2,
72 fpu_s3,
73 fpu_s4,
74 fpu_s5,
75 fpu_s6,
76 fpu_s7,
77 fpu_s8,
78 fpu_s9,
79 fpu_s10,
80 fpu_s11,
81 fpu_s12,
82 fpu_s13,
83 fpu_s14,
84 fpu_s15,
85 fpu_s16,
86 fpu_s17,
87 fpu_s18,
88 fpu_s19,
89 fpu_s20,
90 fpu_s21,
91 fpu_s22,
92 fpu_s23,
93 fpu_s24,
94 fpu_s25,
95 fpu_s26,
96 fpu_s27,
97 fpu_s28,
98 fpu_s29,
99 fpu_s30,
100 fpu_s31,
101 fpu_fpscr,
102
103 fpu_d0,
104 fpu_d1,
105 fpu_d2,
106 fpu_d3,
107 fpu_d4,
108 fpu_d5,
109 fpu_d6,
110 fpu_d7,
111 fpu_d8,
112 fpu_d9,
113 fpu_d10,
114 fpu_d11,
115 fpu_d12,
116 fpu_d13,
117 fpu_d14,
118 fpu_d15,
119 fpu_d16,
120 fpu_d17,
121 fpu_d18,
122 fpu_d19,
123 fpu_d20,
124 fpu_d21,
125 fpu_d22,
126 fpu_d23,
127 fpu_d24,
128 fpu_d25,
129 fpu_d26,
130 fpu_d27,
131 fpu_d28,
132 fpu_d29,
133 fpu_d30,
134 fpu_d31,
135
136 fpu_q0,
137 fpu_q1,
138 fpu_q2,
139 fpu_q3,
140 fpu_q4,
141 fpu_q5,
142 fpu_q6,
143 fpu_q7,
144 fpu_q8,
145 fpu_q9,
146 fpu_q10,
147 fpu_q11,
148 fpu_q12,
149 fpu_q13,
150 fpu_q14,
151 fpu_q15,
152
153 tls_tpidruro,
154
156 exc_fsr,
157 exc_far,
158
159 dbg_bvr0,
160 dbg_bvr1,
161 dbg_bvr2,
162 dbg_bvr3,
163 dbg_bvr4,
164 dbg_bvr5,
165 dbg_bvr6,
166 dbg_bvr7,
167 dbg_bvr8,
168 dbg_bvr9,
169 dbg_bvr10,
170 dbg_bvr11,
171 dbg_bvr12,
172 dbg_bvr13,
173 dbg_bvr14,
174 dbg_bvr15,
175
176 dbg_bcr0,
177 dbg_bcr1,
178 dbg_bcr2,
179 dbg_bcr3,
180 dbg_bcr4,
181 dbg_bcr5,
182 dbg_bcr6,
183 dbg_bcr7,
184 dbg_bcr8,
185 dbg_bcr9,
186 dbg_bcr10,
187 dbg_bcr11,
188 dbg_bcr12,
189 dbg_bcr13,
190 dbg_bcr14,
191 dbg_bcr15,
192
193 dbg_wvr0,
194 dbg_wvr1,
195 dbg_wvr2,
196 dbg_wvr3,
197 dbg_wvr4,
198 dbg_wvr5,
199 dbg_wvr6,
200 dbg_wvr7,
201 dbg_wvr8,
202 dbg_wvr9,
203 dbg_wvr10,
204 dbg_wvr11,
205 dbg_wvr12,
206 dbg_wvr13,
207 dbg_wvr14,
208 dbg_wvr15,
209
210 dbg_wcr0,
211 dbg_wcr1,
212 dbg_wcr2,
213 dbg_wcr3,
214 dbg_wcr4,
215 dbg_wcr5,
216 dbg_wcr6,
217 dbg_wcr7,
218 dbg_wcr8,
219 dbg_wcr9,
220 dbg_wcr10,
221 dbg_wcr11,
222 dbg_wcr12,
223 dbg_wcr13,
224 dbg_wcr14,
225 dbg_wcr15,
226
228};
229
230static uint32_t g_s0_invalidates[] = {fpu_d0, fpu_q0, LLDB_INVALID_REGNUM};
231static uint32_t g_s1_invalidates[] = {fpu_d0, fpu_q0, LLDB_INVALID_REGNUM};
232static uint32_t g_s2_invalidates[] = {fpu_d1, fpu_q0, LLDB_INVALID_REGNUM};
233static uint32_t g_s3_invalidates[] = {fpu_d1, fpu_q0, LLDB_INVALID_REGNUM};
234static uint32_t g_s4_invalidates[] = {fpu_d2, fpu_q1, LLDB_INVALID_REGNUM};
235static uint32_t g_s5_invalidates[] = {fpu_d2, fpu_q1, LLDB_INVALID_REGNUM};
236static uint32_t g_s6_invalidates[] = {fpu_d3, fpu_q1, LLDB_INVALID_REGNUM};
237static uint32_t g_s7_invalidates[] = {fpu_d3, fpu_q1, LLDB_INVALID_REGNUM};
238static uint32_t g_s8_invalidates[] = {fpu_d4, fpu_q2, LLDB_INVALID_REGNUM};
239static uint32_t g_s9_invalidates[] = {fpu_d4, fpu_q2, LLDB_INVALID_REGNUM};
240static uint32_t g_s10_invalidates[] = {fpu_d5, fpu_q2, LLDB_INVALID_REGNUM};
241static uint32_t g_s11_invalidates[] = {fpu_d5, fpu_q2, LLDB_INVALID_REGNUM};
242static uint32_t g_s12_invalidates[] = {fpu_d6, fpu_q3, LLDB_INVALID_REGNUM};
243static uint32_t g_s13_invalidates[] = {fpu_d6, fpu_q3, LLDB_INVALID_REGNUM};
244static uint32_t g_s14_invalidates[] = {fpu_d7, fpu_q3, LLDB_INVALID_REGNUM};
245static uint32_t g_s15_invalidates[] = {fpu_d7, fpu_q3, LLDB_INVALID_REGNUM};
246static uint32_t g_s16_invalidates[] = {fpu_d8, fpu_q4, LLDB_INVALID_REGNUM};
247static uint32_t g_s17_invalidates[] = {fpu_d8, fpu_q4, LLDB_INVALID_REGNUM};
248static uint32_t g_s18_invalidates[] = {fpu_d9, fpu_q4, LLDB_INVALID_REGNUM};
249static uint32_t g_s19_invalidates[] = {fpu_d9, fpu_q4, LLDB_INVALID_REGNUM};
250static uint32_t g_s20_invalidates[] = {fpu_d10, fpu_q5, LLDB_INVALID_REGNUM};
251static uint32_t g_s21_invalidates[] = {fpu_d10, fpu_q5, LLDB_INVALID_REGNUM};
252static uint32_t g_s22_invalidates[] = {fpu_d11, fpu_q5, LLDB_INVALID_REGNUM};
253static uint32_t g_s23_invalidates[] = {fpu_d11, fpu_q5, LLDB_INVALID_REGNUM};
254static uint32_t g_s24_invalidates[] = {fpu_d12, fpu_q6, LLDB_INVALID_REGNUM};
255static uint32_t g_s25_invalidates[] = {fpu_d12, fpu_q6, LLDB_INVALID_REGNUM};
256static uint32_t g_s26_invalidates[] = {fpu_d13, fpu_q6, LLDB_INVALID_REGNUM};
257static uint32_t g_s27_invalidates[] = {fpu_d13, fpu_q6, LLDB_INVALID_REGNUM};
258static uint32_t g_s28_invalidates[] = {fpu_d14, fpu_q7, LLDB_INVALID_REGNUM};
259static uint32_t g_s29_invalidates[] = {fpu_d14, fpu_q7, LLDB_INVALID_REGNUM};
260static uint32_t g_s30_invalidates[] = {fpu_d15, fpu_q7, LLDB_INVALID_REGNUM};
261static uint32_t g_s31_invalidates[] = {fpu_d15, fpu_q7, LLDB_INVALID_REGNUM};
262
263static uint32_t g_d0_invalidates[] = {fpu_q0, fpu_s0, fpu_s1,
265static uint32_t g_d1_invalidates[] = {fpu_q0, fpu_s2, fpu_s3,
267static uint32_t g_d2_invalidates[] = {fpu_q1, fpu_s4, fpu_s5,
269static uint32_t g_d3_invalidates[] = {fpu_q1, fpu_s6, fpu_s7,
271static uint32_t g_d4_invalidates[] = {fpu_q2, fpu_s8, fpu_s9,
273static uint32_t g_d5_invalidates[] = {fpu_q2, fpu_s10, fpu_s11,
275static uint32_t g_d6_invalidates[] = {fpu_q3, fpu_s12, fpu_s13,
277static uint32_t g_d7_invalidates[] = {fpu_q3, fpu_s14, fpu_s15,
279static uint32_t g_d8_invalidates[] = {fpu_q4, fpu_s16, fpu_s17,
281static uint32_t g_d9_invalidates[] = {fpu_q4, fpu_s18, fpu_s19,
283static uint32_t g_d10_invalidates[] = {fpu_q5, fpu_s20, fpu_s21,
285static uint32_t g_d11_invalidates[] = {fpu_q5, fpu_s22, fpu_s23,
287static uint32_t g_d12_invalidates[] = {fpu_q6, fpu_s24, fpu_s25,
289static uint32_t g_d13_invalidates[] = {fpu_q6, fpu_s26, fpu_s27,
291static uint32_t g_d14_invalidates[] = {fpu_q7, fpu_s28, fpu_s29,
293static uint32_t g_d15_invalidates[] = {fpu_q7, fpu_s30, fpu_s31,
295static uint32_t g_d16_invalidates[] = {fpu_q8, LLDB_INVALID_REGNUM};
296static uint32_t g_d17_invalidates[] = {fpu_q8, LLDB_INVALID_REGNUM};
297static uint32_t g_d18_invalidates[] = {fpu_q9, LLDB_INVALID_REGNUM};
298static uint32_t g_d19_invalidates[] = {fpu_q9, LLDB_INVALID_REGNUM};
299static uint32_t g_d20_invalidates[] = {fpu_q10, LLDB_INVALID_REGNUM};
300static uint32_t g_d21_invalidates[] = {fpu_q10, LLDB_INVALID_REGNUM};
301static uint32_t g_d22_invalidates[] = {fpu_q11, LLDB_INVALID_REGNUM};
302static uint32_t g_d23_invalidates[] = {fpu_q11, LLDB_INVALID_REGNUM};
303static uint32_t g_d24_invalidates[] = {fpu_q12, LLDB_INVALID_REGNUM};
304static uint32_t g_d25_invalidates[] = {fpu_q12, LLDB_INVALID_REGNUM};
305static uint32_t g_d26_invalidates[] = {fpu_q13, LLDB_INVALID_REGNUM};
306static uint32_t g_d27_invalidates[] = {fpu_q13, LLDB_INVALID_REGNUM};
307static uint32_t g_d28_invalidates[] = {fpu_q14, LLDB_INVALID_REGNUM};
308static uint32_t g_d29_invalidates[] = {fpu_q14, LLDB_INVALID_REGNUM};
309static uint32_t g_d30_invalidates[] = {fpu_q15, LLDB_INVALID_REGNUM};
310static uint32_t g_d31_invalidates[] = {fpu_q15, LLDB_INVALID_REGNUM};
311
312static uint32_t g_q0_invalidates[] = {
313 fpu_d0, fpu_d1, fpu_s0, fpu_s1, fpu_s2, fpu_s3, LLDB_INVALID_REGNUM};
314static uint32_t g_q1_invalidates[] = {
315 fpu_d2, fpu_d3, fpu_s4, fpu_s5, fpu_s6, fpu_s7, LLDB_INVALID_REGNUM};
316static uint32_t g_q2_invalidates[] = {
317 fpu_d4, fpu_d5, fpu_s8, fpu_s9, fpu_s10, fpu_s11, LLDB_INVALID_REGNUM};
318static uint32_t g_q3_invalidates[] = {
320static uint32_t g_q4_invalidates[] = {
322static uint32_t g_q5_invalidates[] = {
323 fpu_d10, fpu_d11, fpu_s20, fpu_s21, fpu_s22, fpu_s23, LLDB_INVALID_REGNUM};
324static uint32_t g_q6_invalidates[] = {
325 fpu_d12, fpu_d13, fpu_s24, fpu_s25, fpu_s26, fpu_s27, LLDB_INVALID_REGNUM};
326static uint32_t g_q7_invalidates[] = {
327 fpu_d14, fpu_d15, fpu_s28, fpu_s29, fpu_s30, fpu_s31, LLDB_INVALID_REGNUM};
328static uint32_t g_q8_invalidates[] = {fpu_d16, fpu_d17, LLDB_INVALID_REGNUM};
329static uint32_t g_q9_invalidates[] = {fpu_d18, fpu_d19, LLDB_INVALID_REGNUM};
330static uint32_t g_q10_invalidates[] = {fpu_d20, fpu_d21, LLDB_INVALID_REGNUM};
331static uint32_t g_q11_invalidates[] = {fpu_d22, fpu_d23, LLDB_INVALID_REGNUM};
332static uint32_t g_q12_invalidates[] = {fpu_d24, fpu_d25, LLDB_INVALID_REGNUM};
333static uint32_t g_q13_invalidates[] = {fpu_d26, fpu_d27, LLDB_INVALID_REGNUM};
334static uint32_t g_q14_invalidates[] = {fpu_d28, fpu_d29, LLDB_INVALID_REGNUM};
335static uint32_t g_q15_invalidates[] = {fpu_d30, fpu_d31, LLDB_INVALID_REGNUM};
336
337static uint32_t g_q0_contained[] = {fpu_q0, LLDB_INVALID_REGNUM};
338static uint32_t g_q1_contained[] = {fpu_q1, LLDB_INVALID_REGNUM};
339static uint32_t g_q2_contained[] = {fpu_q2, LLDB_INVALID_REGNUM};
340static uint32_t g_q3_contained[] = {fpu_q3, LLDB_INVALID_REGNUM};
341static uint32_t g_q4_contained[] = {fpu_q4, LLDB_INVALID_REGNUM};
342static uint32_t g_q5_contained[] = {fpu_q5, LLDB_INVALID_REGNUM};
343static uint32_t g_q6_contained[] = {fpu_q6, LLDB_INVALID_REGNUM};
344static uint32_t g_q7_contained[] = {fpu_q7, LLDB_INVALID_REGNUM};
345static uint32_t g_q8_contained[] = {fpu_q8, LLDB_INVALID_REGNUM};
346static uint32_t g_q9_contained[] = {fpu_q9, LLDB_INVALID_REGNUM};
347static uint32_t g_q10_contained[] = {fpu_q10, LLDB_INVALID_REGNUM};
348static uint32_t g_q11_contained[] = {fpu_q11, LLDB_INVALID_REGNUM};
349static uint32_t g_q12_contained[] = {fpu_q12, LLDB_INVALID_REGNUM};
350static uint32_t g_q13_contained[] = {fpu_q13, LLDB_INVALID_REGNUM};
351static uint32_t g_q14_contained[] = {fpu_q14, LLDB_INVALID_REGNUM};
352static uint32_t g_q15_contained[] = {fpu_q15, LLDB_INVALID_REGNUM};
353
354#define FPU_REG(name, size, offset, qreg) \
355 { \
356 #name, nullptr, size, FPU_OFFSET(offset), eEncodingIEEE754, eFormatFloat, \
357 {LLDB_INVALID_REGNUM, dwarf_##name, LLDB_INVALID_REGNUM, \
358 LLDB_INVALID_REGNUM, fpu_##name }, \
359 g_##qreg##_contained, g_##name##_invalidates, nullptr, \
360 }
361
362#define FPU_QREG(name, offset) \
363 { \
364 #name, nullptr, 16, FPU_OFFSET(offset), eEncodingVector, \
365 eFormatVectorOfUInt8, \
366 {LLDB_INVALID_REGNUM, dwarf_##name, LLDB_INVALID_REGNUM, \
367 LLDB_INVALID_REGNUM, fpu_##name }, \
368 nullptr, g_##name##_invalidates, nullptr, \
369 }
370
371static RegisterInfo g_register_infos_arm[] = {
372 {
373 "r0",
374 nullptr,
375 4,
376 GPR_OFFSET(0),
380 gpr_r0},
381 nullptr,
382 nullptr,
383 nullptr,
384 },
385 {
386 "r1",
387 nullptr,
388 4,
389 GPR_OFFSET(1),
393 gpr_r1},
394 nullptr,
395 nullptr,
396 nullptr,
397 },
398 {
399 "r2",
400 nullptr,
401 4,
402 GPR_OFFSET(2),
406 gpr_r2},
407 nullptr,
408 nullptr,
409 nullptr,
410 },
411 {
412 "r3",
413 nullptr,
414 4,
415 GPR_OFFSET(3),
419 gpr_r3},
420 nullptr,
421 nullptr,
422 nullptr,
423 },
424 {
425 "r4",
426 nullptr,
427 4,
428 GPR_OFFSET(4),
432 gpr_r4},
433 nullptr,
434 nullptr,
435 nullptr,
436 },
437 {
438 "r5",
439 nullptr,
440 4,
441 GPR_OFFSET(5),
445 gpr_r5},
446 nullptr,
447 nullptr,
448 nullptr,
449 },
450 {
451 "r6",
452 nullptr,
453 4,
454 GPR_OFFSET(6),
458 gpr_r6},
459 nullptr,
460 nullptr,
461 nullptr,
462 },
463 {
464 "r7",
465 nullptr,
466 4,
467 GPR_OFFSET(7),
471 gpr_r7},
472 nullptr,
473 nullptr,
474 nullptr,
475 },
476 {
477 "r8",
478 nullptr,
479 4,
480 GPR_OFFSET(8),
484 gpr_r8},
485 nullptr,
486 nullptr,
487 nullptr,
488 },
489 {
490 "r9",
491 nullptr,
492 4,
493 GPR_OFFSET(9),
497 gpr_r9},
498 nullptr,
499 nullptr,
500 nullptr,
501 },
502 {
503 "r10",
504 nullptr,
505 4,
506 GPR_OFFSET(10),
510 gpr_r10},
511 nullptr,
512 nullptr,
513 nullptr,
514 },
515 {
516 "r11",
517 nullptr,
518 4,
519 GPR_OFFSET(11),
523 gpr_r11},
524 nullptr,
525 nullptr,
526 nullptr,
527 },
528 {
529 "r12",
530 nullptr,
531 4,
532 GPR_OFFSET(12),
536 gpr_r12},
537 nullptr,
538 nullptr,
539 nullptr,
540 },
541 {
542 "sp",
543 "r13",
544 4,
545 GPR_OFFSET(13),
549 gpr_sp},
550 nullptr,
551 nullptr,
552 nullptr,
553 },
554 {
555 "lr",
556 "r14",
557 4,
558 GPR_OFFSET(14),
562 gpr_lr},
563 nullptr,
564 nullptr,
565 nullptr,
566 },
567 {
568 "pc",
569 "r15",
570 4,
571 GPR_OFFSET(15),
575 gpr_pc},
576 nullptr,
577 nullptr,
578 nullptr,
579 },
580 {
581 "cpsr",
582 "psr",
583 4,
584 GPR_OFFSET(16),
589 nullptr,
590 nullptr,
591 nullptr,
592 },
593
594 FPU_REG(s0, 4, 0, q0),
595 FPU_REG(s1, 4, 1, q0),
596 FPU_REG(s2, 4, 2, q0),
597 FPU_REG(s3, 4, 3, q0),
598 FPU_REG(s4, 4, 4, q1),
599 FPU_REG(s5, 4, 5, q1),
600 FPU_REG(s6, 4, 6, q1),
601 FPU_REG(s7, 4, 7, q1),
602 FPU_REG(s8, 4, 8, q2),
603 FPU_REG(s9, 4, 9, q2),
604 FPU_REG(s10, 4, 10, q2),
605 FPU_REG(s11, 4, 11, q2),
606 FPU_REG(s12, 4, 12, q3),
607 FPU_REG(s13, 4, 13, q3),
608 FPU_REG(s14, 4, 14, q3),
609 FPU_REG(s15, 4, 15, q3),
610 FPU_REG(s16, 4, 16, q4),
611 FPU_REG(s17, 4, 17, q4),
612 FPU_REG(s18, 4, 18, q4),
613 FPU_REG(s19, 4, 19, q4),
614 FPU_REG(s20, 4, 20, q5),
615 FPU_REG(s21, 4, 21, q5),
616 FPU_REG(s22, 4, 22, q5),
617 FPU_REG(s23, 4, 23, q5),
618 FPU_REG(s24, 4, 24, q6),
619 FPU_REG(s25, 4, 25, q6),
620 FPU_REG(s26, 4, 26, q6),
621 FPU_REG(s27, 4, 27, q6),
622 FPU_REG(s28, 4, 28, q7),
623 FPU_REG(s29, 4, 29, q7),
624 FPU_REG(s30, 4, 30, q7),
625 FPU_REG(s31, 4, 31, q7),
626
627 {
628 "fpscr",
629 nullptr,
630 4,
636 nullptr,
637 nullptr,
638 nullptr,
639 },
640
641 FPU_REG(d0, 8, 0, q0),
642 FPU_REG(d1, 8, 2, q0),
643 FPU_REG(d2, 8, 4, q1),
644 FPU_REG(d3, 8, 6, q1),
645 FPU_REG(d4, 8, 8, q2),
646 FPU_REG(d5, 8, 10, q2),
647 FPU_REG(d6, 8, 12, q3),
648 FPU_REG(d7, 8, 14, q3),
649 FPU_REG(d8, 8, 16, q4),
650 FPU_REG(d9, 8, 18, q4),
651 FPU_REG(d10, 8, 20, q5),
652 FPU_REG(d11, 8, 22, q5),
653 FPU_REG(d12, 8, 24, q6),
654 FPU_REG(d13, 8, 26, q6),
655 FPU_REG(d14, 8, 28, q7),
656 FPU_REG(d15, 8, 30, q7),
657 FPU_REG(d16, 8, 32, q8),
658 FPU_REG(d17, 8, 34, q8),
659 FPU_REG(d18, 8, 36, q9),
660 FPU_REG(d19, 8, 38, q9),
661 FPU_REG(d20, 8, 40, q10),
662 FPU_REG(d21, 8, 42, q10),
663 FPU_REG(d22, 8, 44, q11),
664 FPU_REG(d23, 8, 46, q11),
665 FPU_REG(d24, 8, 48, q12),
666 FPU_REG(d25, 8, 50, q12),
667 FPU_REG(d26, 8, 52, q13),
668 FPU_REG(d27, 8, 54, q13),
669 FPU_REG(d28, 8, 56, q14),
670 FPU_REG(d29, 8, 58, q14),
671 FPU_REG(d30, 8, 60, q15),
672 FPU_REG(d31, 8, 62, q15),
673
674 FPU_QREG(q0, 0),
675 FPU_QREG(q1, 4),
676 FPU_QREG(q2, 8),
677 FPU_QREG(q3, 12),
678 FPU_QREG(q4, 16),
679 FPU_QREG(q5, 20),
680 FPU_QREG(q6, 24),
681 FPU_QREG(q7, 28),
682 FPU_QREG(q8, 32),
683 FPU_QREG(q9, 36),
684 FPU_QREG(q10, 40),
685 FPU_QREG(q11, 44),
686 FPU_QREG(q12, 48),
687 FPU_QREG(q13, 52),
688 FPU_QREG(q14, 56),
689 FPU_QREG(q15, 60),
690
691 {
692 "tpidruro",
693 nullptr,
694 4,
699 LLDB_INVALID_REGNUM, tls_tpidruro},
700 nullptr,
701 nullptr,
702 nullptr,
703 },
704
705 {
706 "exception",
707 nullptr,
708 4,
709 EXC_OFFSET(0),
714 nullptr,
715 nullptr,
716 nullptr,
717 },
718 {
719 "fsr",
720 nullptr,
721 4,
722 EXC_OFFSET(1),
727 nullptr,
728 nullptr,
729 nullptr,
730 },
731 {
732 "far",
733 nullptr,
734 4,
735 EXC_OFFSET(2),
740 nullptr,
741 nullptr,
742 nullptr,
743 },
744
745 {DEFINE_DBG(bvr, 0)},
746 {DEFINE_DBG(bvr, 1)},
747 {DEFINE_DBG(bvr, 2)},
748 {DEFINE_DBG(bvr, 3)},
749 {DEFINE_DBG(bvr, 4)},
750 {DEFINE_DBG(bvr, 5)},
751 {DEFINE_DBG(bvr, 6)},
752 {DEFINE_DBG(bvr, 7)},
753 {DEFINE_DBG(bvr, 8)},
754 {DEFINE_DBG(bvr, 9)},
755 {DEFINE_DBG(bvr, 10)},
756 {DEFINE_DBG(bvr, 11)},
757 {DEFINE_DBG(bvr, 12)},
758 {DEFINE_DBG(bvr, 13)},
759 {DEFINE_DBG(bvr, 14)},
760 {DEFINE_DBG(bvr, 15)},
761
762 {DEFINE_DBG(bcr, 0)},
763 {DEFINE_DBG(bcr, 1)},
764 {DEFINE_DBG(bcr, 2)},
765 {DEFINE_DBG(bcr, 3)},
766 {DEFINE_DBG(bcr, 4)},
767 {DEFINE_DBG(bcr, 5)},
768 {DEFINE_DBG(bcr, 6)},
769 {DEFINE_DBG(bcr, 7)},
770 {DEFINE_DBG(bcr, 8)},
771 {DEFINE_DBG(bcr, 9)},
772 {DEFINE_DBG(bcr, 10)},
773 {DEFINE_DBG(bcr, 11)},
774 {DEFINE_DBG(bcr, 12)},
775 {DEFINE_DBG(bcr, 13)},
776 {DEFINE_DBG(bcr, 14)},
777 {DEFINE_DBG(bcr, 15)},
778
779 {DEFINE_DBG(wvr, 0)},
780 {DEFINE_DBG(wvr, 1)},
781 {DEFINE_DBG(wvr, 2)},
782 {DEFINE_DBG(wvr, 3)},
783 {DEFINE_DBG(wvr, 4)},
784 {DEFINE_DBG(wvr, 5)},
785 {DEFINE_DBG(wvr, 6)},
786 {DEFINE_DBG(wvr, 7)},
787 {DEFINE_DBG(wvr, 8)},
788 {DEFINE_DBG(wvr, 9)},
789 {DEFINE_DBG(wvr, 10)},
790 {DEFINE_DBG(wvr, 11)},
791 {DEFINE_DBG(wvr, 12)},
792 {DEFINE_DBG(wvr, 13)},
793 {DEFINE_DBG(wvr, 14)},
794 {DEFINE_DBG(wvr, 15)},
795
796 {DEFINE_DBG(wcr, 0)},
797 {DEFINE_DBG(wcr, 1)},
798 {DEFINE_DBG(wcr, 2)},
799 {DEFINE_DBG(wcr, 3)},
800 {DEFINE_DBG(wcr, 4)},
801 {DEFINE_DBG(wcr, 5)},
802 {DEFINE_DBG(wcr, 6)},
803 {DEFINE_DBG(wcr, 7)},
804 {DEFINE_DBG(wcr, 8)},
805 {DEFINE_DBG(wcr, 9)},
806 {DEFINE_DBG(wcr, 10)},
807 {DEFINE_DBG(wcr, 11)},
808 {DEFINE_DBG(wcr, 12)},
809 {DEFINE_DBG(wcr, 13)},
810 {DEFINE_DBG(wcr, 14)},
811 {DEFINE_DBG(wcr, 15)}};
812
813#endif // DECLARE_REGISTER_INFOS_ARM_STRUCT
@ dwarf_r7
@ dwarf_r12
@ dwarf_r3
@ dwarf_r2
@ dwarf_r8
@ dwarf_r11
@ dwarf_r1
@ dwarf_r9
@ dwarf_pc
@ dwarf_r10
@ dwarf_r6
@ dwarf_r0
@ dwarf_r5
@ dwarf_r4
@ dwarf_sp
@ dwarf_lr
@ dwarf_cpsr
#define GPR_OFFSET(idx)
#define DEFINE_DBG(re, y)
#define EXC_OFFSET(idx)
#define TLS_OFFSET
#define FPSCR_OFFSET
#define LLDB_REGNUM_GENERIC_RA
#define LLDB_REGNUM_GENERIC_SP
#define LLDB_REGNUM_GENERIC_ARG4
#define LLDB_REGNUM_GENERIC_ARG3
#define LLDB_REGNUM_GENERIC_ARG1
#define LLDB_REGNUM_GENERIC_FLAGS
#define LLDB_INVALID_REGNUM
#define LLDB_REGNUM_GENERIC_TP
#define LLDB_REGNUM_GENERIC_ARG2
#define LLDB_REGNUM_GENERIC_PC
#define LLDB_REGNUM_GENERIC_FP
A class that represents a running process on the host machine.
@ eEncodingUint
unsigned integer
Every register is described in detail including its name, alternate name (optional),...