1 //===-- RegisterInfos_arm64.h -----------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifdef DECLARE_REGISTER_INFOS_ARM64_STRUCT 11 12 // C Includes 13 #include <stddef.h> 14 15 // C++ Includes 16 // Other libraries and framework includes 17 // Project includes 18 #include "lldb/lldb-private.h" 19 #include "lldb/lldb-defines.h" 20 #include "lldb/lldb-enumerations.h" 21 22 #include "Utility/ARM64_DWARF_Registers.h" 23 #include "Utility/ARM64_ehframe_Registers.h" 24 25 #ifndef GPR_OFFSET 26 #error GPR_OFFSET must be defined before including this header file 27 #endif 28 29 #ifndef GPR_OFFSET_NAME 30 #error GPR_OFFSET_NAME must be defined before including this header file 31 #endif 32 33 #ifndef FPU_OFFSET 34 #error FPU_OFFSET must be defined before including this header file 35 #endif 36 37 #ifndef FPU_OFFSET_NAME 38 #error FPU_OFFSET_NAME must be defined before including this header file 39 #endif 40 41 #ifndef EXC_OFFSET_NAME 42 #error EXC_OFFSET_NAME must be defined before including this header file 43 #endif 44 45 #ifndef DBG_OFFSET_NAME 46 #error DBG_OFFSET_NAME must be defined before including this header file 47 #endif 48 49 #ifndef DEFINE_DBG 50 #error DEFINE_DBG must be defined before including this header file 51 #endif 52 53 enum 54 { 55 gpr_x0 = 0, 56 gpr_x1, 57 gpr_x2, 58 gpr_x3, 59 gpr_x4, 60 gpr_x5, 61 gpr_x6, 62 gpr_x7, 63 gpr_x8, 64 gpr_x9, 65 gpr_x10, 66 gpr_x11, 67 gpr_x12, 68 gpr_x13, 69 gpr_x14, 70 gpr_x15, 71 gpr_x16, 72 gpr_x17, 73 gpr_x18, 74 gpr_x19, 75 gpr_x20, 76 gpr_x21, 77 gpr_x22, 78 gpr_x23, 79 gpr_x24, 80 gpr_x25, 81 gpr_x26, 82 gpr_x27, 83 gpr_x28, 84 gpr_x29 = 29, gpr_fp = gpr_x29, 85 gpr_x30 = 30, gpr_lr = gpr_x30, gpr_ra = gpr_x30, 86 gpr_x31 = 31, gpr_sp = gpr_x31, 87 gpr_pc = 32, 88 gpr_cpsr, 89 90 fpu_v0, 91 fpu_v1, 92 fpu_v2, 93 fpu_v3, 94 fpu_v4, 95 fpu_v5, 96 fpu_v6, 97 fpu_v7, 98 fpu_v8, 99 fpu_v9, 100 fpu_v10, 101 fpu_v11, 102 fpu_v12, 103 fpu_v13, 104 fpu_v14, 105 fpu_v15, 106 fpu_v16, 107 fpu_v17, 108 fpu_v18, 109 fpu_v19, 110 fpu_v20, 111 fpu_v21, 112 fpu_v22, 113 fpu_v23, 114 fpu_v24, 115 fpu_v25, 116 fpu_v26, 117 fpu_v27, 118 fpu_v28, 119 fpu_v29, 120 fpu_v30, 121 fpu_v31, 122 123 fpu_fpsr, 124 fpu_fpcr, 125 126 exc_far, 127 exc_esr, 128 exc_exception, 129 130 dbg_bvr0, 131 dbg_bvr1, 132 dbg_bvr2, 133 dbg_bvr3, 134 dbg_bvr4, 135 dbg_bvr5, 136 dbg_bvr6, 137 dbg_bvr7, 138 dbg_bvr8, 139 dbg_bvr9, 140 dbg_bvr10, 141 dbg_bvr11, 142 dbg_bvr12, 143 dbg_bvr13, 144 dbg_bvr14, 145 dbg_bvr15, 146 147 dbg_bcr0, 148 dbg_bcr1, 149 dbg_bcr2, 150 dbg_bcr3, 151 dbg_bcr4, 152 dbg_bcr5, 153 dbg_bcr6, 154 dbg_bcr7, 155 dbg_bcr8, 156 dbg_bcr9, 157 dbg_bcr10, 158 dbg_bcr11, 159 dbg_bcr12, 160 dbg_bcr13, 161 dbg_bcr14, 162 dbg_bcr15, 163 164 dbg_wvr0, 165 dbg_wvr1, 166 dbg_wvr2, 167 dbg_wvr3, 168 dbg_wvr4, 169 dbg_wvr5, 170 dbg_wvr6, 171 dbg_wvr7, 172 dbg_wvr8, 173 dbg_wvr9, 174 dbg_wvr10, 175 dbg_wvr11, 176 dbg_wvr12, 177 dbg_wvr13, 178 dbg_wvr14, 179 dbg_wvr15, 180 181 dbg_wcr0, 182 dbg_wcr1, 183 dbg_wcr2, 184 dbg_wcr3, 185 dbg_wcr4, 186 dbg_wcr5, 187 dbg_wcr6, 188 dbg_wcr7, 189 dbg_wcr8, 190 dbg_wcr9, 191 dbg_wcr10, 192 dbg_wcr11, 193 dbg_wcr12, 194 dbg_wcr13, 195 dbg_wcr14, 196 dbg_wcr15, 197 198 k_num_registers 199 }; 200 201 static lldb_private::RegisterInfo g_register_infos_arm64[] = { 202 // General purpose registers 203 // NAME ALT SZ OFFSET ENCODING FORMAT EH_FRAME DWARF GENERIC PROCESS PLUGIN LLDB NATIVE VALUE REGS INVALIDATE REGS 204 // ====== ======= == ============= ============= ============ =============== =============== ========================= ===================== ============= ========== =============== 205 { "x0", nullptr, 8, GPR_OFFSET(0), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x0, arm64_dwarf::x0, LLDB_REGNUM_GENERIC_ARG1, LLDB_INVALID_REGNUM, gpr_x0 }, nullptr, nullptr}, 206 { "x1", nullptr, 8, GPR_OFFSET(1), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x1, arm64_dwarf::x1, LLDB_REGNUM_GENERIC_ARG2, LLDB_INVALID_REGNUM, gpr_x1 }, nullptr, nullptr}, 207 { "x2", nullptr, 8, GPR_OFFSET(2), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x2, arm64_dwarf::x2, LLDB_REGNUM_GENERIC_ARG3, LLDB_INVALID_REGNUM, gpr_x2 }, nullptr, nullptr}, 208 { "x3", nullptr, 8, GPR_OFFSET(3), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x3, arm64_dwarf::x3, LLDB_REGNUM_GENERIC_ARG4, LLDB_INVALID_REGNUM, gpr_x3 }, nullptr, nullptr}, 209 { "x4", nullptr, 8, GPR_OFFSET(4), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x4, arm64_dwarf::x4, LLDB_REGNUM_GENERIC_ARG5, LLDB_INVALID_REGNUM, gpr_x4 }, nullptr, nullptr}, 210 { "x5", nullptr, 8, GPR_OFFSET(5), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x5, arm64_dwarf::x5, LLDB_REGNUM_GENERIC_ARG6, LLDB_INVALID_REGNUM, gpr_x5 }, nullptr, nullptr}, 211 { "x6", nullptr, 8, GPR_OFFSET(6), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x6, arm64_dwarf::x6, LLDB_REGNUM_GENERIC_ARG7, LLDB_INVALID_REGNUM, gpr_x6 }, nullptr, nullptr}, 212 { "x7", nullptr, 8, GPR_OFFSET(7), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x7, arm64_dwarf::x7, LLDB_REGNUM_GENERIC_ARG8, LLDB_INVALID_REGNUM, gpr_x7 }, nullptr, nullptr}, 213 { "x8", nullptr, 8, GPR_OFFSET(8), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x8, arm64_dwarf::x8, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x8 }, nullptr, nullptr}, 214 { "x9", nullptr, 8, GPR_OFFSET(9), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x9, arm64_dwarf::x9, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x9 }, nullptr, nullptr}, 215 { "x10", nullptr, 8, GPR_OFFSET(10), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x10, arm64_dwarf::x10, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x10 }, nullptr, nullptr}, 216 { "x11", nullptr, 8, GPR_OFFSET(11), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x11, arm64_dwarf::x11, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x11 }, nullptr, nullptr}, 217 { "x12", nullptr, 8, GPR_OFFSET(12), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x12, arm64_dwarf::x12, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x12 }, nullptr, nullptr}, 218 { "x13", nullptr, 8, GPR_OFFSET(13), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x13, arm64_dwarf::x13, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x13 }, nullptr, nullptr}, 219 { "x14", nullptr, 8, GPR_OFFSET(14), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x14, arm64_dwarf::x14, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x14 }, nullptr, nullptr}, 220 { "x15", nullptr, 8, GPR_OFFSET(15), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x15, arm64_dwarf::x15, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x15 }, nullptr, nullptr}, 221 { "x16", nullptr, 8, GPR_OFFSET(16), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x16, arm64_dwarf::x16, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x16 }, nullptr, nullptr}, 222 { "x17", nullptr, 8, GPR_OFFSET(17), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x17, arm64_dwarf::x17, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x17 }, nullptr, nullptr}, 223 { "x18", nullptr, 8, GPR_OFFSET(18), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x18, arm64_dwarf::x18, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x18 }, nullptr, nullptr}, 224 { "x19", nullptr, 8, GPR_OFFSET(19), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x19, arm64_dwarf::x19, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x19 }, nullptr, nullptr}, 225 { "x20", nullptr, 8, GPR_OFFSET(20), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x20, arm64_dwarf::x20, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x20 }, nullptr, nullptr}, 226 { "x21", nullptr, 8, GPR_OFFSET(21), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x21, arm64_dwarf::x21, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x21 }, nullptr, nullptr}, 227 { "x22", nullptr, 8, GPR_OFFSET(22), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x22, arm64_dwarf::x22, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x22 }, nullptr, nullptr}, 228 { "x23", nullptr, 8, GPR_OFFSET(23), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x23, arm64_dwarf::x23, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x23 }, nullptr, nullptr}, 229 { "x24", nullptr, 8, GPR_OFFSET(24), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x24, arm64_dwarf::x24, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x24 }, nullptr, nullptr}, 230 { "x25", nullptr, 8, GPR_OFFSET(25), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x25, arm64_dwarf::x25, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x25 }, nullptr, nullptr}, 231 { "x26", nullptr, 8, GPR_OFFSET(26), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x26, arm64_dwarf::x26, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x26 }, nullptr, nullptr}, 232 { "x27", nullptr, 8, GPR_OFFSET(27), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x27, arm64_dwarf::x27, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x27 }, nullptr, nullptr}, 233 { "x28", nullptr, 8, GPR_OFFSET(28), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::x28, arm64_dwarf::x28, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, gpr_x28 }, nullptr, nullptr}, 234 235 { "fp", "x29", 8, GPR_OFFSET(29), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::fp, arm64_dwarf::fp, LLDB_REGNUM_GENERIC_FP, LLDB_INVALID_REGNUM, gpr_fp }, nullptr, nullptr}, 236 { "lr", "x30", 8, GPR_OFFSET(30), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::lr, arm64_dwarf::lr, LLDB_REGNUM_GENERIC_RA, LLDB_INVALID_REGNUM, gpr_lr }, nullptr, nullptr}, 237 { "sp", "x31", 8, GPR_OFFSET(31), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::sp, arm64_dwarf::sp, LLDB_REGNUM_GENERIC_SP, LLDB_INVALID_REGNUM, gpr_sp }, nullptr, nullptr}, 238 { "pc", nullptr, 8, GPR_OFFSET(32), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::pc, arm64_dwarf::pc, LLDB_REGNUM_GENERIC_PC, LLDB_INVALID_REGNUM, gpr_pc }, nullptr, nullptr}, 239 240 { "cpsr", nullptr, 4, GPR_OFFSET_NAME(cpsr), lldb::eEncodingUint, lldb::eFormatHex, { arm64_ehframe::cpsr, arm64_dwarf::cpsr, LLDB_REGNUM_GENERIC_FLAGS, LLDB_INVALID_REGNUM, gpr_cpsr }, nullptr, nullptr}, 241 242 { "v0", nullptr, 16, FPU_OFFSET(0), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v0, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v0 }, nullptr, nullptr}, 243 { "v1", nullptr, 16, FPU_OFFSET(1), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v1, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v1 }, nullptr, nullptr}, 244 { "v2", nullptr, 16, FPU_OFFSET(2), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v2, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v2 }, nullptr, nullptr}, 245 { "v3", nullptr, 16, FPU_OFFSET(3), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v3, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v3 }, nullptr, nullptr}, 246 { "v4", nullptr, 16, FPU_OFFSET(4), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v4, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v4 }, nullptr, nullptr}, 247 { "v5", nullptr, 16, FPU_OFFSET(5), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v5, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v5 }, nullptr, nullptr}, 248 { "v6", nullptr, 16, FPU_OFFSET(6), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v6, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v6 }, nullptr, nullptr}, 249 { "v7", nullptr, 16, FPU_OFFSET(7), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v7, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v7 }, nullptr, nullptr}, 250 { "v8", nullptr, 16, FPU_OFFSET(8), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v8, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v8 }, nullptr, nullptr}, 251 { "v9", nullptr, 16, FPU_OFFSET(9), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v9, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v9 }, nullptr, nullptr}, 252 { "v10", nullptr, 16, FPU_OFFSET(10), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v10, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v10 }, nullptr, nullptr}, 253 { "v11", nullptr, 16, FPU_OFFSET(11), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v11, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v11 }, nullptr, nullptr}, 254 { "v12", nullptr, 16, FPU_OFFSET(12), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v12, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v12 }, nullptr, nullptr}, 255 { "v13", nullptr, 16, FPU_OFFSET(13), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v13, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v13 }, nullptr, nullptr}, 256 { "v14", nullptr, 16, FPU_OFFSET(14), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v14, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v14 }, nullptr, nullptr}, 257 { "v15", nullptr, 16, FPU_OFFSET(15), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v15, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v15 }, nullptr, nullptr}, 258 { "v16", nullptr, 16, FPU_OFFSET(16), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v16, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v16 }, nullptr, nullptr}, 259 { "v17", nullptr, 16, FPU_OFFSET(17), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v17, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v17 }, nullptr, nullptr}, 260 { "v18", nullptr, 16, FPU_OFFSET(18), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v18, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v18 }, nullptr, nullptr}, 261 { "v19", nullptr, 16, FPU_OFFSET(19), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v19, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v19 }, nullptr, nullptr}, 262 { "v20", nullptr, 16, FPU_OFFSET(20), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v20, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v20 }, nullptr, nullptr}, 263 { "v21", nullptr, 16, FPU_OFFSET(21), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v21, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v21 }, nullptr, nullptr}, 264 { "v22", nullptr, 16, FPU_OFFSET(22), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v22, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v22 }, nullptr, nullptr}, 265 { "v23", nullptr, 16, FPU_OFFSET(23), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v23, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v23 }, nullptr, nullptr}, 266 { "v24", nullptr, 16, FPU_OFFSET(24), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v24, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v24 }, nullptr, nullptr}, 267 { "v25", nullptr, 16, FPU_OFFSET(25), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v25, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v25 }, nullptr, nullptr}, 268 { "v26", nullptr, 16, FPU_OFFSET(26), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v26, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v26 }, nullptr, nullptr}, 269 { "v27", nullptr, 16, FPU_OFFSET(27), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v27, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v27 }, nullptr, nullptr}, 270 { "v28", nullptr, 16, FPU_OFFSET(28), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v28, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v28 }, nullptr, nullptr}, 271 { "v29", nullptr, 16, FPU_OFFSET(29), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v29, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v29 }, nullptr, nullptr}, 272 { "v30", nullptr, 16, FPU_OFFSET(30), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v30, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v30 }, nullptr, nullptr}, 273 { "v31", nullptr, 16, FPU_OFFSET(31), lldb::eEncodingVector, lldb::eFormatVectorOfUInt8, { LLDB_INVALID_REGNUM, arm64_dwarf::v31, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_v31 }, nullptr, nullptr}, 274 275 { "fpsr", nullptr, 4, FPU_OFFSET_NAME(fpsr), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_fpsr }, nullptr, nullptr}, 276 { "fpcr", nullptr, 4, FPU_OFFSET_NAME(fpcr), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, fpu_fpcr }, nullptr, nullptr}, 277 278 { "far", nullptr, 8, EXC_OFFSET_NAME(far), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, exc_far }, nullptr, nullptr}, 279 { "esr", nullptr, 4, EXC_OFFSET_NAME(esr), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, exc_esr }, nullptr, nullptr}, 280 { "exception",nullptr, 4, EXC_OFFSET_NAME(exception), lldb::eEncodingUint, lldb::eFormatHex, { LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, exc_exception }, nullptr, nullptr}, 281 282 { DEFINE_DBG (bvr, 0) }, 283 { DEFINE_DBG (bvr, 1) }, 284 { DEFINE_DBG (bvr, 2) }, 285 { DEFINE_DBG (bvr, 3) }, 286 { DEFINE_DBG (bvr, 4) }, 287 { DEFINE_DBG (bvr, 5) }, 288 { DEFINE_DBG (bvr, 6) }, 289 { DEFINE_DBG (bvr, 7) }, 290 { DEFINE_DBG (bvr, 8) }, 291 { DEFINE_DBG (bvr, 9) }, 292 { DEFINE_DBG (bvr, 10) }, 293 { DEFINE_DBG (bvr, 11) }, 294 { DEFINE_DBG (bvr, 12) }, 295 { DEFINE_DBG (bvr, 13) }, 296 { DEFINE_DBG (bvr, 14) }, 297 { DEFINE_DBG (bvr, 15) }, 298 299 { DEFINE_DBG (bcr, 0) }, 300 { DEFINE_DBG (bcr, 1) }, 301 { DEFINE_DBG (bcr, 2) }, 302 { DEFINE_DBG (bcr, 3) }, 303 { DEFINE_DBG (bcr, 4) }, 304 { DEFINE_DBG (bcr, 5) }, 305 { DEFINE_DBG (bcr, 6) }, 306 { DEFINE_DBG (bcr, 7) }, 307 { DEFINE_DBG (bcr, 8) }, 308 { DEFINE_DBG (bcr, 9) }, 309 { DEFINE_DBG (bcr, 10) }, 310 { DEFINE_DBG (bcr, 11) }, 311 { DEFINE_DBG (bcr, 12) }, 312 { DEFINE_DBG (bcr, 13) }, 313 { DEFINE_DBG (bcr, 14) }, 314 { DEFINE_DBG (bcr, 15) }, 315 316 { DEFINE_DBG (wvr, 0) }, 317 { DEFINE_DBG (wvr, 1) }, 318 { DEFINE_DBG (wvr, 2) }, 319 { DEFINE_DBG (wvr, 3) }, 320 { DEFINE_DBG (wvr, 4) }, 321 { DEFINE_DBG (wvr, 5) }, 322 { DEFINE_DBG (wvr, 6) }, 323 { DEFINE_DBG (wvr, 7) }, 324 { DEFINE_DBG (wvr, 8) }, 325 { DEFINE_DBG (wvr, 9) }, 326 { DEFINE_DBG (wvr, 10) }, 327 { DEFINE_DBG (wvr, 11) }, 328 { DEFINE_DBG (wvr, 12) }, 329 { DEFINE_DBG (wvr, 13) }, 330 { DEFINE_DBG (wvr, 14) }, 331 { DEFINE_DBG (wvr, 15) }, 332 333 { DEFINE_DBG (wcr, 0) }, 334 { DEFINE_DBG (wcr, 1) }, 335 { DEFINE_DBG (wcr, 2) }, 336 { DEFINE_DBG (wcr, 3) }, 337 { DEFINE_DBG (wcr, 4) }, 338 { DEFINE_DBG (wcr, 5) }, 339 { DEFINE_DBG (wcr, 6) }, 340 { DEFINE_DBG (wcr, 7) }, 341 { DEFINE_DBG (wcr, 8) }, 342 { DEFINE_DBG (wcr, 9) }, 343 { DEFINE_DBG (wcr, 10) }, 344 { DEFINE_DBG (wcr, 11) }, 345 { DEFINE_DBG (wcr, 12) }, 346 { DEFINE_DBG (wcr, 13) }, 347 { DEFINE_DBG (wcr, 14) }, 348 { DEFINE_DBG (wcr, 15) } 349 }; 350 351 #endif // DECLARE_REGISTER_INFOS_ARM64_STRUCT 352