1 //===-- lldb-riscv-register-enums.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 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_RISCV_REGISTER_ENUMS_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_RISCV_REGISTER_ENUMS_H
11 
12 // LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
13 
14 // Internal codes for all riscv registers.
15 enum {
16   // The same order as user_regs_struct in <asm/ptrace.h>
17   // note: these enum values are used as byte_offset
18   gpr_first_riscv = 0,
19   gpr_pc_riscv = gpr_first_riscv,
20   gpr_x1_riscv,
21   gpr_x2_riscv,
22   gpr_x3_riscv,
23   gpr_x4_riscv,
24   gpr_x5_riscv,
25   gpr_x6_riscv,
26   gpr_x7_riscv,
27   gpr_x8_riscv,
28   gpr_x9_riscv,
29   gpr_x10_riscv,
30   gpr_x11_riscv,
31   gpr_x12_riscv,
32   gpr_x13_riscv,
33   gpr_x14_riscv,
34   gpr_x15_riscv,
35   gpr_x16_riscv,
36   gpr_x17_riscv,
37   gpr_x18_riscv,
38   gpr_x19_riscv,
39   gpr_x20_riscv,
40   gpr_x21_riscv,
41   gpr_x22_riscv,
42   gpr_x23_riscv,
43   gpr_x24_riscv,
44   gpr_x25_riscv,
45   gpr_x26_riscv,
46   gpr_x27_riscv,
47   gpr_x28_riscv,
48   gpr_x29_riscv,
49   gpr_x30_riscv,
50   gpr_x31_riscv,
51   gpr_x0_riscv,
52   gpr_zero_riscv = gpr_x0_riscv,
53   gpr_ra_riscv = gpr_x1_riscv,
54   gpr_sp_riscv = gpr_x2_riscv,
55   gpr_gp_riscv = gpr_x3_riscv,
56   gpr_tp_riscv = gpr_x4_riscv,
57   gpr_t0_riscv = gpr_x5_riscv,
58   gpr_t1_riscv = gpr_x6_riscv,
59   gpr_t2_riscv = gpr_x7_riscv,
60   gpr_fp_riscv = gpr_x8_riscv,
61   gpr_s1_riscv = gpr_x9_riscv,
62   gpr_a0_riscv = gpr_x10_riscv,
63   gpr_a1_riscv = gpr_x11_riscv,
64   gpr_a2_riscv = gpr_x12_riscv,
65   gpr_a3_riscv = gpr_x13_riscv,
66   gpr_a4_riscv = gpr_x14_riscv,
67   gpr_a5_riscv = gpr_x15_riscv,
68   gpr_a6_riscv = gpr_x16_riscv,
69   gpr_a7_riscv = gpr_x17_riscv,
70   gpr_s2_riscv = gpr_x18_riscv,
71   gpr_s3_riscv = gpr_x19_riscv,
72   gpr_s4_riscv = gpr_x20_riscv,
73   gpr_s5_riscv = gpr_x21_riscv,
74   gpr_s6_riscv = gpr_x22_riscv,
75   gpr_s7_riscv = gpr_x23_riscv,
76   gpr_s8_riscv = gpr_x24_riscv,
77   gpr_s9_riscv = gpr_x25_riscv,
78   gpr_s10_riscv = gpr_x26_riscv,
79   gpr_s11_riscv = gpr_x27_riscv,
80   gpr_t3_riscv = gpr_x28_riscv,
81   gpr_t4_riscv = gpr_x29_riscv,
82   gpr_t5_riscv = gpr_x30_riscv,
83   gpr_t6_riscv = gpr_x31_riscv,
84   gpr_last_riscv = gpr_x0_riscv,
85 
86   fpr_first_riscv = 33,
87   fpr_f0_riscv = fpr_first_riscv,
88   fpr_f1_riscv,
89   fpr_f2_riscv,
90   fpr_f3_riscv,
91   fpr_f4_riscv,
92   fpr_f5_riscv,
93   fpr_f6_riscv,
94   fpr_f7_riscv,
95   fpr_f8_riscv,
96   fpr_f9_riscv,
97   fpr_f10_riscv,
98   fpr_f11_riscv,
99   fpr_f12_riscv,
100   fpr_f13_riscv,
101   fpr_f14_riscv,
102   fpr_f15_riscv,
103   fpr_f16_riscv,
104   fpr_f17_riscv,
105   fpr_f18_riscv,
106   fpr_f19_riscv,
107   fpr_f20_riscv,
108   fpr_f21_riscv,
109   fpr_f22_riscv,
110   fpr_f23_riscv,
111   fpr_f24_riscv,
112   fpr_f25_riscv,
113   fpr_f26_riscv,
114   fpr_f27_riscv,
115   fpr_f28_riscv,
116   fpr_f29_riscv,
117   fpr_f30_riscv,
118   fpr_f31_riscv,
119 
120   fpr_fcsr_riscv,
121   fpr_ft0_riscv = fpr_f0_riscv,
122   fpr_ft1_riscv = fpr_f1_riscv,
123   fpr_ft2_riscv = fpr_f2_riscv,
124   fpr_ft3_riscv = fpr_f3_riscv,
125   fpr_ft4_riscv = fpr_f4_riscv,
126   fpr_ft5_riscv = fpr_f5_riscv,
127   fpr_ft6_riscv = fpr_f6_riscv,
128   fpr_ft7_riscv = fpr_f7_riscv,
129   fpr_fs0_riscv = fpr_f8_riscv,
130   fpr_fs1_riscv = fpr_f9_riscv,
131   fpr_fa0_riscv = fpr_f10_riscv,
132   fpr_fa1_riscv = fpr_f11_riscv,
133   fpr_fa2_riscv = fpr_f12_riscv,
134   fpr_fa3_riscv = fpr_f13_riscv,
135   fpr_fa4_riscv = fpr_f14_riscv,
136   fpr_fa5_riscv = fpr_f15_riscv,
137   fpr_fa6_riscv = fpr_f16_riscv,
138   fpr_fa7_riscv = fpr_f17_riscv,
139   fpr_fs2_riscv = fpr_f18_riscv,
140   fpr_fs3_riscv = fpr_f19_riscv,
141   fpr_fs4_riscv = fpr_f20_riscv,
142   fpr_fs5_riscv = fpr_f21_riscv,
143   fpr_fs6_riscv = fpr_f22_riscv,
144   fpr_fs7_riscv = fpr_f23_riscv,
145   fpr_fs8_riscv = fpr_f24_riscv,
146   fpr_fs9_riscv = fpr_f25_riscv,
147   fpr_fs10_riscv = fpr_f26_riscv,
148   fpr_fs11_riscv = fpr_f27_riscv,
149   fpr_ft8_riscv = fpr_f28_riscv,
150   fpr_ft9_riscv = fpr_f29_riscv,
151   fpr_ft10_riscv = fpr_f30_riscv,
152   fpr_ft11_riscv = fpr_f31_riscv,
153   fpr_last_riscv = fpr_fcsr_riscv,
154 
155   vpr_first_riscv = 66,
156   vpr_v0_riscv = vpr_first_riscv,
157   vpr_v1_riscv,
158   vpr_v2_riscv,
159   vpr_v3_riscv,
160   vpr_v4_riscv,
161   vpr_v5_riscv,
162   vpr_v6_riscv,
163   vpr_v7_riscv,
164   vpr_v8_riscv,
165   vpr_v9_riscv,
166   vpr_v10_riscv,
167   vpr_v11_riscv,
168   vpr_v12_riscv,
169   vpr_v13_riscv,
170   vpr_v14_riscv,
171   vpr_v15_riscv,
172   vpr_v16_riscv,
173   vpr_v17_riscv,
174   vpr_v18_riscv,
175   vpr_v19_riscv,
176   vpr_v20_riscv,
177   vpr_v21_riscv,
178   vpr_v22_riscv,
179   vpr_v23_riscv,
180   vpr_v24_riscv,
181   vpr_v25_riscv,
182   vpr_v26_riscv,
183   vpr_v27_riscv,
184   vpr_v28_riscv,
185   vpr_v29_riscv,
186   vpr_v30_riscv,
187   vpr_v31_riscv,
188   vpr_last_riscv = vpr_v31_riscv,
189 
190   k_num_registers_riscv
191 };
192 
193 #endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_RISCV_REGISTER_ENUMS_H
194