1 //===-- RISCV_DWARF_Registers.h ---------------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_UTILITY_RISCV_DWARF_REGISTERS_H
10 #define LLDB_SOURCE_UTILITY_RISCV_DWARF_REGISTERS_H
12 #include "lldb/lldb-private.h"
14 namespace riscv_dwarf
{
83 // alternate frame return column
84 dwarf_alt_fr_col
= 64,
118 dwarf_first_csr
= 4096,
119 dwarf_fpr_fcsr
= dwarf_first_csr
+ 0x003,
120 // The vector extension adds seven unprivileged CSRs
121 // (vstart, vxsat, vxrm, vcsr, vtype, vl, vlenb)
122 // to a base scalar RISC-V ISA.
123 dwarf_vpr_vstart
= dwarf_first_csr
+ 0x008,
124 dwarf_vpr_vxsat
= dwarf_first_csr
+ 0x009,
125 dwarf_vpr_vxrm
= dwarf_first_csr
+ 0x00A,
126 dwarf_vpr_vcsr
= dwarf_first_csr
+ 0x00F,
127 dwarf_vpr_vl
= dwarf_first_csr
+ 0xC20,
128 dwarf_vpr_vtype
= dwarf_first_csr
+ 0xC21,
129 dwarf_vpr_vlenb
= dwarf_first_csr
+ 0xC22,
130 dwarf_last_csr
= 8191,
133 dwarf_gpr_zero
= dwarf_gpr_x0
,
134 dwarf_gpr_ra
= dwarf_gpr_x1
,
135 dwarf_gpr_sp
= dwarf_gpr_x2
,
136 dwarf_gpr_gp
= dwarf_gpr_x3
,
137 dwarf_gpr_tp
= dwarf_gpr_x4
,
138 dwarf_gpr_t0
= dwarf_gpr_x5
,
139 dwarf_gpr_t1
= dwarf_gpr_x6
,
140 dwarf_gpr_t2
= dwarf_gpr_x7
,
141 dwarf_gpr_fp
= dwarf_gpr_x8
,
142 dwarf_gpr_s1
= dwarf_gpr_x9
,
143 dwarf_gpr_a0
= dwarf_gpr_x10
,
144 dwarf_gpr_a1
= dwarf_gpr_x11
,
145 dwarf_gpr_a2
= dwarf_gpr_x12
,
146 dwarf_gpr_a3
= dwarf_gpr_x13
,
147 dwarf_gpr_a4
= dwarf_gpr_x14
,
148 dwarf_gpr_a5
= dwarf_gpr_x15
,
149 dwarf_gpr_a6
= dwarf_gpr_x16
,
150 dwarf_gpr_a7
= dwarf_gpr_x17
,
151 dwarf_gpr_s2
= dwarf_gpr_x18
,
152 dwarf_gpr_s3
= dwarf_gpr_x19
,
153 dwarf_gpr_s4
= dwarf_gpr_x20
,
154 dwarf_gpr_s5
= dwarf_gpr_x21
,
155 dwarf_gpr_s6
= dwarf_gpr_x22
,
156 dwarf_gpr_s7
= dwarf_gpr_x23
,
157 dwarf_gpr_s8
= dwarf_gpr_x24
,
158 dwarf_gpr_s9
= dwarf_gpr_x25
,
159 dwarf_gpr_s10
= dwarf_gpr_x26
,
160 dwarf_gpr_s11
= dwarf_gpr_x27
,
161 dwarf_gpr_t3
= dwarf_gpr_x28
,
162 dwarf_gpr_t4
= dwarf_gpr_x29
,
163 dwarf_gpr_t5
= dwarf_gpr_x30
,
164 dwarf_gpr_t6
= dwarf_gpr_x31
,
166 dwarf_fpr_ft0
= dwarf_fpr_f0
,
167 dwarf_fpr_ft1
= dwarf_fpr_f1
,
168 dwarf_fpr_ft2
= dwarf_fpr_f2
,
169 dwarf_fpr_ft3
= dwarf_fpr_f3
,
170 dwarf_fpr_ft4
= dwarf_fpr_f4
,
171 dwarf_fpr_ft5
= dwarf_fpr_f5
,
172 dwarf_fpr_ft6
= dwarf_fpr_f6
,
173 dwarf_fpr_ft7
= dwarf_fpr_f7
,
174 dwarf_fpr_fs0
= dwarf_fpr_f8
,
175 dwarf_fpr_fs1
= dwarf_fpr_f9
,
176 dwarf_fpr_fa0
= dwarf_fpr_f10
,
177 dwarf_fpr_fa1
= dwarf_fpr_f11
,
178 dwarf_fpr_fa2
= dwarf_fpr_f12
,
179 dwarf_fpr_fa3
= dwarf_fpr_f13
,
180 dwarf_fpr_fa4
= dwarf_fpr_f14
,
181 dwarf_fpr_fa5
= dwarf_fpr_f15
,
182 dwarf_fpr_fa6
= dwarf_fpr_f16
,
183 dwarf_fpr_fa7
= dwarf_fpr_f17
,
184 dwarf_fpr_fs2
= dwarf_fpr_f18
,
185 dwarf_fpr_fs3
= dwarf_fpr_f19
,
186 dwarf_fpr_fs4
= dwarf_fpr_f20
,
187 dwarf_fpr_fs5
= dwarf_fpr_f21
,
188 dwarf_fpr_fs6
= dwarf_fpr_f22
,
189 dwarf_fpr_fs7
= dwarf_fpr_f23
,
190 dwarf_fpr_fs8
= dwarf_fpr_f24
,
191 dwarf_fpr_fs9
= dwarf_fpr_f25
,
192 dwarf_fpr_fs10
= dwarf_fpr_f26
,
193 dwarf_fpr_fs11
= dwarf_fpr_f27
,
194 dwarf_fpr_ft8
= dwarf_fpr_f28
,
195 dwarf_fpr_ft9
= dwarf_fpr_f29
,
196 dwarf_fpr_ft10
= dwarf_fpr_f30
,
197 dwarf_fpr_ft11
= dwarf_fpr_f31
,
200 dwarf_gpr_pc
= 11451,
203 } // namespace riscv_dwarf
205 #endif // LLDB_SOURCE_UTILITY_RISCV_DWARF_REGISTERS_H