| //===-- LoongArch_DWARF_Registers.h -----------------------------*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H |
| #define LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H |
| |
| #include "lldb/lldb-private.h" |
| |
| namespace loongarch_dwarf { |
| |
| enum { |
| dwarf_gpr_r0 = 0, |
| dwarf_gpr_r1, |
| dwarf_gpr_r2, |
| dwarf_gpr_r3, |
| dwarf_gpr_r4, |
| dwarf_gpr_r5, |
| dwarf_gpr_r6, |
| dwarf_gpr_r7, |
| dwarf_gpr_r8, |
| dwarf_gpr_r9, |
| dwarf_gpr_r10, |
| dwarf_gpr_r11, |
| dwarf_gpr_r12, |
| dwarf_gpr_r13, |
| dwarf_gpr_r14, |
| dwarf_gpr_r15, |
| dwarf_gpr_r16, |
| dwarf_gpr_r17, |
| dwarf_gpr_r18, |
| dwarf_gpr_r19, |
| dwarf_gpr_r20, |
| dwarf_gpr_r21, |
| dwarf_gpr_r22, |
| dwarf_gpr_r23, |
| dwarf_gpr_r24, |
| dwarf_gpr_r25, |
| dwarf_gpr_r26, |
| dwarf_gpr_r27, |
| dwarf_gpr_r28, |
| dwarf_gpr_r29, |
| dwarf_gpr_r30, |
| dwarf_gpr_r31 = 31, |
| |
| dwarf_fpr_f0 = 32, |
| dwarf_fpr_f1, |
| dwarf_fpr_f2, |
| dwarf_fpr_f3, |
| dwarf_fpr_f4, |
| dwarf_fpr_f5, |
| dwarf_fpr_f6, |
| dwarf_fpr_f7, |
| dwarf_fpr_f8, |
| dwarf_fpr_f9, |
| dwarf_fpr_f10, |
| dwarf_fpr_f11, |
| dwarf_fpr_f12, |
| dwarf_fpr_f13, |
| dwarf_fpr_f14, |
| dwarf_fpr_f15, |
| dwarf_fpr_f16, |
| dwarf_fpr_f17, |
| dwarf_fpr_f18, |
| dwarf_fpr_f19, |
| dwarf_fpr_f20, |
| dwarf_fpr_f21, |
| dwarf_fpr_f22, |
| dwarf_fpr_f23, |
| dwarf_fpr_f24, |
| dwarf_fpr_f25, |
| dwarf_fpr_f26, |
| dwarf_fpr_f27, |
| dwarf_fpr_f28, |
| dwarf_fpr_f29, |
| dwarf_fpr_f30, |
| dwarf_fpr_f31 = 63, |
| |
| dwarf_fpr_fcc0, |
| dwarf_fpr_fcc1, |
| dwarf_fpr_fcc2, |
| dwarf_fpr_fcc3, |
| dwarf_fpr_fcc4, |
| dwarf_fpr_fcc5, |
| dwarf_fpr_fcc6, |
| dwarf_fpr_fcc7, |
| dwarf_fpr_fcsr, |
| |
| // register name alias |
| dwarf_gpr_zero = dwarf_gpr_r0, |
| dwarf_gpr_ra = dwarf_gpr_r1, |
| dwarf_gpr_tp = dwarf_gpr_r2, |
| dwarf_gpr_sp = dwarf_gpr_r3, |
| dwarf_gpr_a0 = dwarf_gpr_r4, |
| dwarf_gpr_a1 = dwarf_gpr_r5, |
| dwarf_gpr_a2 = dwarf_gpr_r6, |
| dwarf_gpr_a3 = dwarf_gpr_r7, |
| dwarf_gpr_a4 = dwarf_gpr_r8, |
| dwarf_gpr_a5 = dwarf_gpr_r9, |
| dwarf_gpr_a6 = dwarf_gpr_r10, |
| dwarf_gpr_a7 = dwarf_gpr_r11, |
| dwarf_gpr_t0 = dwarf_gpr_r12, |
| dwarf_gpr_t1 = dwarf_gpr_r13, |
| dwarf_gpr_t2 = dwarf_gpr_r14, |
| dwarf_gpr_t3 = dwarf_gpr_r15, |
| dwarf_gpr_t4 = dwarf_gpr_r16, |
| dwarf_gpr_t5 = dwarf_gpr_r17, |
| dwarf_gpr_t6 = dwarf_gpr_r18, |
| dwarf_gpr_t7 = dwarf_gpr_r19, |
| dwarf_gpr_t8 = dwarf_gpr_r20, |
| dwarf_gpr_fp = dwarf_gpr_r22, |
| dwarf_gpr_s0 = dwarf_gpr_r23, |
| dwarf_gpr_s1 = dwarf_gpr_r24, |
| dwarf_gpr_s2 = dwarf_gpr_r25, |
| dwarf_gpr_s3 = dwarf_gpr_r26, |
| dwarf_gpr_s4 = dwarf_gpr_r27, |
| dwarf_gpr_s5 = dwarf_gpr_r28, |
| dwarf_gpr_s6 = dwarf_gpr_r29, |
| dwarf_gpr_s7 = dwarf_gpr_r30, |
| dwarf_gpr_s8 = dwarf_gpr_r31, |
| |
| dwarf_fpr_fa0 = dwarf_fpr_f0, |
| dwarf_fpr_fa1 = dwarf_fpr_f1, |
| dwarf_fpr_fa2 = dwarf_fpr_f2, |
| dwarf_fpr_fa3 = dwarf_fpr_f3, |
| dwarf_fpr_fa4 = dwarf_fpr_f4, |
| dwarf_fpr_fa5 = dwarf_fpr_f5, |
| dwarf_fpr_fa6 = dwarf_fpr_f6, |
| dwarf_fpr_fa7 = dwarf_fpr_f7, |
| dwarf_fpr_ft0 = dwarf_fpr_f8, |
| dwarf_fpr_ft1 = dwarf_fpr_f9, |
| dwarf_fpr_ft2 = dwarf_fpr_f10, |
| dwarf_fpr_ft3 = dwarf_fpr_f11, |
| dwarf_fpr_ft4 = dwarf_fpr_f12, |
| dwarf_fpr_ft5 = dwarf_fpr_f13, |
| dwarf_fpr_ft6 = dwarf_fpr_f14, |
| dwarf_fpr_ft7 = dwarf_fpr_f15, |
| dwarf_fpr_ft8 = dwarf_fpr_f16, |
| dwarf_fpr_ft9 = dwarf_fpr_f17, |
| dwarf_fpr_ft10 = dwarf_fpr_f18, |
| dwarf_fpr_ft11 = dwarf_fpr_f19, |
| dwarf_fpr_ft12 = dwarf_fpr_f20, |
| dwarf_fpr_ft13 = dwarf_fpr_f21, |
| dwarf_fpr_ft14 = dwarf_fpr_f22, |
| dwarf_fpr_ft15 = dwarf_fpr_f23, |
| dwarf_fpr_fs0 = dwarf_fpr_f24, |
| dwarf_fpr_fs1 = dwarf_fpr_f25, |
| dwarf_fpr_fs2 = dwarf_fpr_f26, |
| dwarf_fpr_fs3 = dwarf_fpr_f27, |
| dwarf_fpr_fs4 = dwarf_fpr_f28, |
| dwarf_fpr_fs5 = dwarf_fpr_f29, |
| dwarf_fpr_fs6 = dwarf_fpr_f30, |
| dwarf_fpr_fs7 = dwarf_fpr_f31, |
| |
| // mock pc regnum |
| dwarf_gpr_pc = 57005, |
| |
| // fake registers are only used to define `RegisterInfo` |
| dwarf_gpr_orig_a0, |
| dwarf_gpr_badv, |
| dwarf_gpr_reserved0, |
| dwarf_gpr_reserved1, |
| dwarf_gpr_reserved2, |
| dwarf_gpr_reserved3, |
| dwarf_gpr_reserved4, |
| dwarf_gpr_reserved5, |
| dwarf_gpr_reserved6, |
| dwarf_gpr_reserved7, |
| dwarf_gpr_reserved8, |
| dwarf_gpr_reserved9, |
| }; |
| |
| } // namespace loongarch_dwarf |
| |
| #endif // LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H |