xref: /freebsd-src/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-riscv-register-enums.h (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
1*bdd1243dSDimitry Andric //===-- lldb-riscv-register-enums.h -----------------------------*- C++ -*-===//
2*bdd1243dSDimitry Andric //
3*bdd1243dSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*bdd1243dSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*bdd1243dSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*bdd1243dSDimitry Andric //
7*bdd1243dSDimitry Andric //===----------------------------------------------------------------------===//
8*bdd1243dSDimitry Andric 
9*bdd1243dSDimitry Andric #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_RISCV_REGISTER_ENUMS_H
10*bdd1243dSDimitry Andric #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_RISCV_REGISTER_ENUMS_H
11*bdd1243dSDimitry Andric 
12*bdd1243dSDimitry Andric // LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
13*bdd1243dSDimitry Andric 
14*bdd1243dSDimitry Andric // Internal codes for all riscv registers.
15*bdd1243dSDimitry Andric enum {
16*bdd1243dSDimitry Andric   // The same order as user_regs_struct in <asm/ptrace.h>
17*bdd1243dSDimitry Andric   // note: these enum values are used as byte_offset
18*bdd1243dSDimitry Andric   gpr_first_riscv = 0,
19*bdd1243dSDimitry Andric   gpr_pc_riscv = gpr_first_riscv,
20*bdd1243dSDimitry Andric   gpr_x1_riscv,
21*bdd1243dSDimitry Andric   gpr_x2_riscv,
22*bdd1243dSDimitry Andric   gpr_x3_riscv,
23*bdd1243dSDimitry Andric   gpr_x4_riscv,
24*bdd1243dSDimitry Andric   gpr_x5_riscv,
25*bdd1243dSDimitry Andric   gpr_x6_riscv,
26*bdd1243dSDimitry Andric   gpr_x7_riscv,
27*bdd1243dSDimitry Andric   gpr_x8_riscv,
28*bdd1243dSDimitry Andric   gpr_x9_riscv,
29*bdd1243dSDimitry Andric   gpr_x10_riscv,
30*bdd1243dSDimitry Andric   gpr_x11_riscv,
31*bdd1243dSDimitry Andric   gpr_x12_riscv,
32*bdd1243dSDimitry Andric   gpr_x13_riscv,
33*bdd1243dSDimitry Andric   gpr_x14_riscv,
34*bdd1243dSDimitry Andric   gpr_x15_riscv,
35*bdd1243dSDimitry Andric   gpr_x16_riscv,
36*bdd1243dSDimitry Andric   gpr_x17_riscv,
37*bdd1243dSDimitry Andric   gpr_x18_riscv,
38*bdd1243dSDimitry Andric   gpr_x19_riscv,
39*bdd1243dSDimitry Andric   gpr_x20_riscv,
40*bdd1243dSDimitry Andric   gpr_x21_riscv,
41*bdd1243dSDimitry Andric   gpr_x22_riscv,
42*bdd1243dSDimitry Andric   gpr_x23_riscv,
43*bdd1243dSDimitry Andric   gpr_x24_riscv,
44*bdd1243dSDimitry Andric   gpr_x25_riscv,
45*bdd1243dSDimitry Andric   gpr_x26_riscv,
46*bdd1243dSDimitry Andric   gpr_x27_riscv,
47*bdd1243dSDimitry Andric   gpr_x28_riscv,
48*bdd1243dSDimitry Andric   gpr_x29_riscv,
49*bdd1243dSDimitry Andric   gpr_x30_riscv,
50*bdd1243dSDimitry Andric   gpr_x31_riscv,
51*bdd1243dSDimitry Andric   gpr_x0_riscv,
52*bdd1243dSDimitry Andric   gpr_zero_riscv = gpr_x0_riscv,
53*bdd1243dSDimitry Andric   gpr_ra_riscv = gpr_x1_riscv,
54*bdd1243dSDimitry Andric   gpr_sp_riscv = gpr_x2_riscv,
55*bdd1243dSDimitry Andric   gpr_gp_riscv = gpr_x3_riscv,
56*bdd1243dSDimitry Andric   gpr_tp_riscv = gpr_x4_riscv,
57*bdd1243dSDimitry Andric   gpr_t0_riscv = gpr_x5_riscv,
58*bdd1243dSDimitry Andric   gpr_t1_riscv = gpr_x6_riscv,
59*bdd1243dSDimitry Andric   gpr_t2_riscv = gpr_x7_riscv,
60*bdd1243dSDimitry Andric   gpr_fp_riscv = gpr_x8_riscv,
61*bdd1243dSDimitry Andric   gpr_s1_riscv = gpr_x9_riscv,
62*bdd1243dSDimitry Andric   gpr_a0_riscv = gpr_x10_riscv,
63*bdd1243dSDimitry Andric   gpr_a1_riscv = gpr_x11_riscv,
64*bdd1243dSDimitry Andric   gpr_a2_riscv = gpr_x12_riscv,
65*bdd1243dSDimitry Andric   gpr_a3_riscv = gpr_x13_riscv,
66*bdd1243dSDimitry Andric   gpr_a4_riscv = gpr_x14_riscv,
67*bdd1243dSDimitry Andric   gpr_a5_riscv = gpr_x15_riscv,
68*bdd1243dSDimitry Andric   gpr_a6_riscv = gpr_x16_riscv,
69*bdd1243dSDimitry Andric   gpr_a7_riscv = gpr_x17_riscv,
70*bdd1243dSDimitry Andric   gpr_s2_riscv = gpr_x18_riscv,
71*bdd1243dSDimitry Andric   gpr_s3_riscv = gpr_x19_riscv,
72*bdd1243dSDimitry Andric   gpr_s4_riscv = gpr_x20_riscv,
73*bdd1243dSDimitry Andric   gpr_s5_riscv = gpr_x21_riscv,
74*bdd1243dSDimitry Andric   gpr_s6_riscv = gpr_x22_riscv,
75*bdd1243dSDimitry Andric   gpr_s7_riscv = gpr_x23_riscv,
76*bdd1243dSDimitry Andric   gpr_s8_riscv = gpr_x24_riscv,
77*bdd1243dSDimitry Andric   gpr_s9_riscv = gpr_x25_riscv,
78*bdd1243dSDimitry Andric   gpr_s10_riscv = gpr_x26_riscv,
79*bdd1243dSDimitry Andric   gpr_s11_riscv = gpr_x27_riscv,
80*bdd1243dSDimitry Andric   gpr_t3_riscv = gpr_x28_riscv,
81*bdd1243dSDimitry Andric   gpr_t4_riscv = gpr_x29_riscv,
82*bdd1243dSDimitry Andric   gpr_t5_riscv = gpr_x30_riscv,
83*bdd1243dSDimitry Andric   gpr_t6_riscv = gpr_x31_riscv,
84*bdd1243dSDimitry Andric   gpr_last_riscv = gpr_x0_riscv,
85*bdd1243dSDimitry Andric 
86*bdd1243dSDimitry Andric   fpr_first_riscv = 33,
87*bdd1243dSDimitry Andric   fpr_f0_riscv = fpr_first_riscv,
88*bdd1243dSDimitry Andric   fpr_f1_riscv,
89*bdd1243dSDimitry Andric   fpr_f2_riscv,
90*bdd1243dSDimitry Andric   fpr_f3_riscv,
91*bdd1243dSDimitry Andric   fpr_f4_riscv,
92*bdd1243dSDimitry Andric   fpr_f5_riscv,
93*bdd1243dSDimitry Andric   fpr_f6_riscv,
94*bdd1243dSDimitry Andric   fpr_f7_riscv,
95*bdd1243dSDimitry Andric   fpr_f8_riscv,
96*bdd1243dSDimitry Andric   fpr_f9_riscv,
97*bdd1243dSDimitry Andric   fpr_f10_riscv,
98*bdd1243dSDimitry Andric   fpr_f11_riscv,
99*bdd1243dSDimitry Andric   fpr_f12_riscv,
100*bdd1243dSDimitry Andric   fpr_f13_riscv,
101*bdd1243dSDimitry Andric   fpr_f14_riscv,
102*bdd1243dSDimitry Andric   fpr_f15_riscv,
103*bdd1243dSDimitry Andric   fpr_f16_riscv,
104*bdd1243dSDimitry Andric   fpr_f17_riscv,
105*bdd1243dSDimitry Andric   fpr_f18_riscv,
106*bdd1243dSDimitry Andric   fpr_f19_riscv,
107*bdd1243dSDimitry Andric   fpr_f20_riscv,
108*bdd1243dSDimitry Andric   fpr_f21_riscv,
109*bdd1243dSDimitry Andric   fpr_f22_riscv,
110*bdd1243dSDimitry Andric   fpr_f23_riscv,
111*bdd1243dSDimitry Andric   fpr_f24_riscv,
112*bdd1243dSDimitry Andric   fpr_f25_riscv,
113*bdd1243dSDimitry Andric   fpr_f26_riscv,
114*bdd1243dSDimitry Andric   fpr_f27_riscv,
115*bdd1243dSDimitry Andric   fpr_f28_riscv,
116*bdd1243dSDimitry Andric   fpr_f29_riscv,
117*bdd1243dSDimitry Andric   fpr_f30_riscv,
118*bdd1243dSDimitry Andric   fpr_f31_riscv,
119*bdd1243dSDimitry Andric 
120*bdd1243dSDimitry Andric   fpr_fcsr_riscv,
121*bdd1243dSDimitry Andric   fpr_ft0_riscv = fpr_f0_riscv,
122*bdd1243dSDimitry Andric   fpr_ft1_riscv = fpr_f1_riscv,
123*bdd1243dSDimitry Andric   fpr_ft2_riscv = fpr_f2_riscv,
124*bdd1243dSDimitry Andric   fpr_ft3_riscv = fpr_f3_riscv,
125*bdd1243dSDimitry Andric   fpr_ft4_riscv = fpr_f4_riscv,
126*bdd1243dSDimitry Andric   fpr_ft5_riscv = fpr_f5_riscv,
127*bdd1243dSDimitry Andric   fpr_ft6_riscv = fpr_f6_riscv,
128*bdd1243dSDimitry Andric   fpr_ft7_riscv = fpr_f7_riscv,
129*bdd1243dSDimitry Andric   fpr_fs0_riscv = fpr_f8_riscv,
130*bdd1243dSDimitry Andric   fpr_fs1_riscv = fpr_f9_riscv,
131*bdd1243dSDimitry Andric   fpr_fa0_riscv = fpr_f10_riscv,
132*bdd1243dSDimitry Andric   fpr_fa1_riscv = fpr_f11_riscv,
133*bdd1243dSDimitry Andric   fpr_fa2_riscv = fpr_f12_riscv,
134*bdd1243dSDimitry Andric   fpr_fa3_riscv = fpr_f13_riscv,
135*bdd1243dSDimitry Andric   fpr_fa4_riscv = fpr_f14_riscv,
136*bdd1243dSDimitry Andric   fpr_fa5_riscv = fpr_f15_riscv,
137*bdd1243dSDimitry Andric   fpr_fa6_riscv = fpr_f16_riscv,
138*bdd1243dSDimitry Andric   fpr_fa7_riscv = fpr_f17_riscv,
139*bdd1243dSDimitry Andric   fpr_fs2_riscv = fpr_f18_riscv,
140*bdd1243dSDimitry Andric   fpr_fs3_riscv = fpr_f19_riscv,
141*bdd1243dSDimitry Andric   fpr_fs4_riscv = fpr_f20_riscv,
142*bdd1243dSDimitry Andric   fpr_fs5_riscv = fpr_f21_riscv,
143*bdd1243dSDimitry Andric   fpr_fs6_riscv = fpr_f22_riscv,
144*bdd1243dSDimitry Andric   fpr_fs7_riscv = fpr_f23_riscv,
145*bdd1243dSDimitry Andric   fpr_fs8_riscv = fpr_f24_riscv,
146*bdd1243dSDimitry Andric   fpr_fs9_riscv = fpr_f25_riscv,
147*bdd1243dSDimitry Andric   fpr_fs10_riscv = fpr_f26_riscv,
148*bdd1243dSDimitry Andric   fpr_fs11_riscv = fpr_f27_riscv,
149*bdd1243dSDimitry Andric   fpr_ft8_riscv = fpr_f28_riscv,
150*bdd1243dSDimitry Andric   fpr_ft9_riscv = fpr_f29_riscv,
151*bdd1243dSDimitry Andric   fpr_ft10_riscv = fpr_f30_riscv,
152*bdd1243dSDimitry Andric   fpr_ft11_riscv = fpr_f31_riscv,
153*bdd1243dSDimitry Andric   fpr_last_riscv = fpr_fcsr_riscv,
154*bdd1243dSDimitry Andric 
155*bdd1243dSDimitry Andric   k_num_registers_riscv
156*bdd1243dSDimitry Andric };
157*bdd1243dSDimitry Andric 
158*bdd1243dSDimitry Andric #endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_RISCV_REGISTER_ENUMS_H
159