246 lines · c
1//===-- LoongArch_DWARF_Registers.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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H10#define LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H11 12#include "lldb/lldb-private.h"13 14namespace loongarch_dwarf {15 16enum {17 dwarf_gpr_r0 = 0,18 dwarf_gpr_r1,19 dwarf_gpr_r2,20 dwarf_gpr_r3,21 dwarf_gpr_r4,22 dwarf_gpr_r5,23 dwarf_gpr_r6,24 dwarf_gpr_r7,25 dwarf_gpr_r8,26 dwarf_gpr_r9,27 dwarf_gpr_r10,28 dwarf_gpr_r11,29 dwarf_gpr_r12,30 dwarf_gpr_r13,31 dwarf_gpr_r14,32 dwarf_gpr_r15,33 dwarf_gpr_r16,34 dwarf_gpr_r17,35 dwarf_gpr_r18,36 dwarf_gpr_r19,37 dwarf_gpr_r20,38 dwarf_gpr_r21,39 dwarf_gpr_r22,40 dwarf_gpr_r23,41 dwarf_gpr_r24,42 dwarf_gpr_r25,43 dwarf_gpr_r26,44 dwarf_gpr_r27,45 dwarf_gpr_r28,46 dwarf_gpr_r29,47 dwarf_gpr_r30,48 dwarf_gpr_r31 = 31,49 50 dwarf_fpr_f0 = 32,51 dwarf_fpr_f1,52 dwarf_fpr_f2,53 dwarf_fpr_f3,54 dwarf_fpr_f4,55 dwarf_fpr_f5,56 dwarf_fpr_f6,57 dwarf_fpr_f7,58 dwarf_fpr_f8,59 dwarf_fpr_f9,60 dwarf_fpr_f10,61 dwarf_fpr_f11,62 dwarf_fpr_f12,63 dwarf_fpr_f13,64 dwarf_fpr_f14,65 dwarf_fpr_f15,66 dwarf_fpr_f16,67 dwarf_fpr_f17,68 dwarf_fpr_f18,69 dwarf_fpr_f19,70 dwarf_fpr_f20,71 dwarf_fpr_f21,72 dwarf_fpr_f22,73 dwarf_fpr_f23,74 dwarf_fpr_f24,75 dwarf_fpr_f25,76 dwarf_fpr_f26,77 dwarf_fpr_f27,78 dwarf_fpr_f28,79 dwarf_fpr_f29,80 dwarf_fpr_f30,81 dwarf_fpr_f31 = 63,82 83 dwarf_fpr_fcc0,84 dwarf_fpr_fcc1,85 dwarf_fpr_fcc2,86 dwarf_fpr_fcc3,87 dwarf_fpr_fcc4,88 dwarf_fpr_fcc5,89 dwarf_fpr_fcc6,90 dwarf_fpr_fcc7,91 dwarf_fpr_fcsr,92 93 dwarf_lsx_vr0,94 dwarf_lsx_vr1,95 dwarf_lsx_vr2,96 dwarf_lsx_vr3,97 dwarf_lsx_vr4,98 dwarf_lsx_vr5,99 dwarf_lsx_vr6,100 dwarf_lsx_vr7,101 dwarf_lsx_vr8,102 dwarf_lsx_vr9,103 dwarf_lsx_vr10,104 dwarf_lsx_vr11,105 dwarf_lsx_vr12,106 dwarf_lsx_vr13,107 dwarf_lsx_vr14,108 dwarf_lsx_vr15,109 dwarf_lsx_vr16,110 dwarf_lsx_vr17,111 dwarf_lsx_vr18,112 dwarf_lsx_vr19,113 dwarf_lsx_vr20,114 dwarf_lsx_vr21,115 dwarf_lsx_vr22,116 dwarf_lsx_vr23,117 dwarf_lsx_vr24,118 dwarf_lsx_vr25,119 dwarf_lsx_vr26,120 dwarf_lsx_vr27,121 dwarf_lsx_vr28,122 dwarf_lsx_vr29,123 dwarf_lsx_vr30,124 dwarf_lsx_vr31,125 126 dwarf_lasx_xr0,127 dwarf_lasx_xr1,128 dwarf_lasx_xr2,129 dwarf_lasx_xr3,130 dwarf_lasx_xr4,131 dwarf_lasx_xr5,132 dwarf_lasx_xr6,133 dwarf_lasx_xr7,134 dwarf_lasx_xr8,135 dwarf_lasx_xr9,136 dwarf_lasx_xr10,137 dwarf_lasx_xr11,138 dwarf_lasx_xr12,139 dwarf_lasx_xr13,140 dwarf_lasx_xr14,141 dwarf_lasx_xr15,142 dwarf_lasx_xr16,143 dwarf_lasx_xr17,144 dwarf_lasx_xr18,145 dwarf_lasx_xr19,146 dwarf_lasx_xr20,147 dwarf_lasx_xr21,148 dwarf_lasx_xr22,149 dwarf_lasx_xr23,150 dwarf_lasx_xr24,151 dwarf_lasx_xr25,152 dwarf_lasx_xr26,153 dwarf_lasx_xr27,154 dwarf_lasx_xr28,155 dwarf_lasx_xr29,156 dwarf_lasx_xr30,157 dwarf_lasx_xr31,158 159 // register name alias160 dwarf_gpr_zero = dwarf_gpr_r0,161 dwarf_gpr_ra = dwarf_gpr_r1,162 dwarf_gpr_tp = dwarf_gpr_r2,163 dwarf_gpr_sp = dwarf_gpr_r3,164 dwarf_gpr_a0 = dwarf_gpr_r4,165 dwarf_gpr_a1 = dwarf_gpr_r5,166 dwarf_gpr_a2 = dwarf_gpr_r6,167 dwarf_gpr_a3 = dwarf_gpr_r7,168 dwarf_gpr_a4 = dwarf_gpr_r8,169 dwarf_gpr_a5 = dwarf_gpr_r9,170 dwarf_gpr_a6 = dwarf_gpr_r10,171 dwarf_gpr_a7 = dwarf_gpr_r11,172 dwarf_gpr_t0 = dwarf_gpr_r12,173 dwarf_gpr_t1 = dwarf_gpr_r13,174 dwarf_gpr_t2 = dwarf_gpr_r14,175 dwarf_gpr_t3 = dwarf_gpr_r15,176 dwarf_gpr_t4 = dwarf_gpr_r16,177 dwarf_gpr_t5 = dwarf_gpr_r17,178 dwarf_gpr_t6 = dwarf_gpr_r18,179 dwarf_gpr_t7 = dwarf_gpr_r19,180 dwarf_gpr_t8 = dwarf_gpr_r20,181 dwarf_gpr_fp = dwarf_gpr_r22,182 dwarf_gpr_s0 = dwarf_gpr_r23,183 dwarf_gpr_s1 = dwarf_gpr_r24,184 dwarf_gpr_s2 = dwarf_gpr_r25,185 dwarf_gpr_s3 = dwarf_gpr_r26,186 dwarf_gpr_s4 = dwarf_gpr_r27,187 dwarf_gpr_s5 = dwarf_gpr_r28,188 dwarf_gpr_s6 = dwarf_gpr_r29,189 dwarf_gpr_s7 = dwarf_gpr_r30,190 dwarf_gpr_s8 = dwarf_gpr_r31,191 192 dwarf_fpr_fa0 = dwarf_fpr_f0,193 dwarf_fpr_fa1 = dwarf_fpr_f1,194 dwarf_fpr_fa2 = dwarf_fpr_f2,195 dwarf_fpr_fa3 = dwarf_fpr_f3,196 dwarf_fpr_fa4 = dwarf_fpr_f4,197 dwarf_fpr_fa5 = dwarf_fpr_f5,198 dwarf_fpr_fa6 = dwarf_fpr_f6,199 dwarf_fpr_fa7 = dwarf_fpr_f7,200 dwarf_fpr_ft0 = dwarf_fpr_f8,201 dwarf_fpr_ft1 = dwarf_fpr_f9,202 dwarf_fpr_ft2 = dwarf_fpr_f10,203 dwarf_fpr_ft3 = dwarf_fpr_f11,204 dwarf_fpr_ft4 = dwarf_fpr_f12,205 dwarf_fpr_ft5 = dwarf_fpr_f13,206 dwarf_fpr_ft6 = dwarf_fpr_f14,207 dwarf_fpr_ft7 = dwarf_fpr_f15,208 dwarf_fpr_ft8 = dwarf_fpr_f16,209 dwarf_fpr_ft9 = dwarf_fpr_f17,210 dwarf_fpr_ft10 = dwarf_fpr_f18,211 dwarf_fpr_ft11 = dwarf_fpr_f19,212 dwarf_fpr_ft12 = dwarf_fpr_f20,213 dwarf_fpr_ft13 = dwarf_fpr_f21,214 dwarf_fpr_ft14 = dwarf_fpr_f22,215 dwarf_fpr_ft15 = dwarf_fpr_f23,216 dwarf_fpr_fs0 = dwarf_fpr_f24,217 dwarf_fpr_fs1 = dwarf_fpr_f25,218 dwarf_fpr_fs2 = dwarf_fpr_f26,219 dwarf_fpr_fs3 = dwarf_fpr_f27,220 dwarf_fpr_fs4 = dwarf_fpr_f28,221 dwarf_fpr_fs5 = dwarf_fpr_f29,222 dwarf_fpr_fs6 = dwarf_fpr_f30,223 dwarf_fpr_fs7 = dwarf_fpr_f31,224 225 // mock pc regnum226 dwarf_gpr_pc = 57005,227 228 // fake registers are only used to define `RegisterInfo`229 dwarf_gpr_orig_a0,230 dwarf_gpr_badv,231 dwarf_gpr_reserved0,232 dwarf_gpr_reserved1,233 dwarf_gpr_reserved2,234 dwarf_gpr_reserved3,235 dwarf_gpr_reserved4,236 dwarf_gpr_reserved5,237 dwarf_gpr_reserved6,238 dwarf_gpr_reserved7,239 dwarf_gpr_reserved8,240 dwarf_gpr_reserved9,241};242 243} // namespace loongarch_dwarf244 245#endif // LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H246