LLDB mainline
Macros | Enumerations | Variables
RegisterContextMinidump_ARM64.cpp File Reference
#include "RegisterContextMinidump_ARM64.h"
#include "Utility/ARM64_DWARF_Registers.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/lldb-enumerations.h"
#include <cassert>

Go to the source code of this file.

Macros

#define INV   LLDB_INVALID_REGNUM
 
#define OFFSET(r)   (offsetof(RegisterContextMinidump_ARM64::Context, r))
 
#define DEF_X(i)
 
#define DEF_W(i)
 
#define DEF_X_ARG(i, n)
 
#define DEF_V(i)
 
#define DEF_D(i)
 
#define DEF_S(i)
 
#define DEF_H(i)
 

Enumerations

enum  {
  reg_x0 = 0 , reg_x1 , reg_x2 , reg_x3 ,
  reg_x4 , reg_x5 , reg_x6 , reg_x7 ,
  reg_x8 , reg_x9 , reg_x10 , reg_x11 ,
  reg_x12 , reg_x13 , reg_x14 , reg_x15 ,
  reg_x16 , reg_x17 , reg_x18 , reg_x19 ,
  reg_x20 , reg_x21 , reg_x22 , reg_x23 ,
  reg_x24 , reg_x25 , reg_x26 , reg_x27 ,
  reg_x28 , reg_fp , reg_lr , reg_sp ,
  reg_pc , reg_w0 , reg_w1 , reg_w2 ,
  reg_w3 , reg_w4 , reg_w5 , reg_w6 ,
  reg_w7 , reg_w8 , reg_w9 , reg_w10 ,
  reg_w11 , reg_w12 , reg_w13 , reg_w14 ,
  reg_w15 , reg_w16 , reg_w17 , reg_w18 ,
  reg_w19 , reg_w20 , reg_w21 , reg_w22 ,
  reg_w23 , reg_w24 , reg_w25 , reg_w26 ,
  reg_w27 , reg_w28 , reg_w29 , reg_w30 ,
  reg_w31 , reg_cpsr , reg_fpsr , reg_fpcr ,
  reg_v0 , reg_v1 , reg_v2 , reg_v3 ,
  reg_v4 , reg_v5 , reg_v6 , reg_v7 ,
  reg_v8 , reg_v9 , reg_v10 , reg_v11 ,
  reg_v12 , reg_v13 , reg_v14 , reg_v15 ,
  reg_v16 , reg_v17 , reg_v18 , reg_v19 ,
  reg_v20 , reg_v21 , reg_v22 , reg_v23 ,
  reg_v24 , reg_v25 , reg_v26 , reg_v27 ,
  reg_v28 , reg_v29 , reg_v30 , reg_v31 ,
  reg_d0 , reg_d1 , reg_d2 , reg_d3 ,
  reg_d4 , reg_d5 , reg_d6 , reg_d7 ,
  reg_d8 , reg_d9 , reg_d10 , reg_d11 ,
  reg_d12 , reg_d13 , reg_d14 , reg_d15 ,
  reg_d16 , reg_d17 , reg_d18 , reg_d19 ,
  reg_d20 , reg_d21 , reg_d22 , reg_d23 ,
  reg_d24 , reg_d25 , reg_d26 , reg_d27 ,
  reg_d28 , reg_d29 , reg_d30 , reg_d31 ,
  reg_s0 , reg_s1 , reg_s2 , reg_s3 ,
  reg_s4 , reg_s5 , reg_s6 , reg_s7 ,
  reg_s8 , reg_s9 , reg_s10 , reg_s11 ,
  reg_s12 , reg_s13 , reg_s14 , reg_s15 ,
  reg_s16 , reg_s17 , reg_s18 , reg_s19 ,
  reg_s20 , reg_s21 , reg_s22 , reg_s23 ,
  reg_s24 , reg_s25 , reg_s26 , reg_s27 ,
  reg_s28 , reg_s29 , reg_s30 , reg_s31 ,
  reg_h0 , reg_h1 , reg_h2 , reg_h3 ,
  reg_h4 , reg_h5 , reg_h6 , reg_h7 ,
  reg_h8 , reg_h9 , reg_h10 , reg_h11 ,
  reg_h12 , reg_h13 , reg_h14 , reg_h15 ,
  reg_h16 , reg_h17 , reg_h18 , reg_h19 ,
  reg_h20 , reg_h21 , reg_h22 , reg_h23 ,
  reg_h24 , reg_h25 , reg_h26 , reg_h27 ,
  reg_h28 , reg_h29 , reg_h30 , reg_h31 ,
  k_num_regs
}
 

Variables

static RegisterInfo g_reg_infos []
 
constexpr size_t k_num_reg_infos = std::size(g_reg_infos)
 
const uint32_t g_gpr_regnums []
 
const uint32_t g_fpu_regnums []
 
constexpr size_t k_num_gpr_regs = std::size(g_gpr_regnums) - 1
 
constexpr size_t k_num_fpu_regs = std::size(g_fpu_regnums) - 1
 
static RegisterSet g_reg_sets []
 
constexpr size_t k_num_reg_sets = std::size(g_reg_sets)
 

Macro Definition Documentation

◆ DEF_D

#define DEF_D (   i)
Value:
{ \
"d" #i, nullptr, 8, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {INV, INV, INV, INV, reg_d##i}, nullptr, \
nullptr, nullptr, \
}
#define OFFSET(r)
@ eFormatVectorOfUInt8
@ eEncodingVector
vector registers

Definition at line 55 of file RegisterContextMinidump_ARM64.cpp.

◆ DEF_H

#define DEF_H (   i)
Value:
{ \
"h" #i, nullptr, 2, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {INV, INV, INV, INV, reg_h##i}, nullptr, \
nullptr, nullptr, \
}

Definition at line 69 of file RegisterContextMinidump_ARM64.cpp.

◆ DEF_S

#define DEF_S (   i)
Value:
{ \
"s" #i, nullptr, 4, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {INV, INV, INV, INV, reg_s##i}, nullptr, \
nullptr, nullptr, \
}

Definition at line 62 of file RegisterContextMinidump_ARM64.cpp.

◆ DEF_V

#define DEF_V (   i)
Value:
{ \
"v" #i, nullptr, 16, OFFSET(v) + i * 16, eEncodingVector, \
eFormatVectorOfUInt8, {arm64_dwarf::v##i, arm64_dwarf::v##i, INV, INV, \
reg_v##i}, nullptr, nullptr, nullptr, \
}

Definition at line 48 of file RegisterContextMinidump_ARM64.cpp.

◆ DEF_W

#define DEF_W (   i)
Value:
{ \
"w" #i, nullptr, 4, OFFSET(x) + i * 8, eEncodingUint, eFormatHex, \
{INV, INV, INV, INV, reg_w##i}, nullptr, nullptr, nullptr, \
}
@ eEncodingUint
unsigned integer

Definition at line 35 of file RegisterContextMinidump_ARM64.cpp.

◆ DEF_X

#define DEF_X (   i)
Value:
{ \
"x" #i, nullptr, 8, OFFSET(x) + i * 8, eEncodingUint, eFormatHex, \
{arm64_dwarf::x##i, arm64_dwarf::x##i, INV, INV, reg_x##i}, \
nullptr, nullptr, nullptr, \
}

Definition at line 28 of file RegisterContextMinidump_ARM64.cpp.

◆ DEF_X_ARG

#define DEF_X_ARG (   i,
 
)
Value:
{ \
"x" #i, "arg" #n, 8, OFFSET(x) + i * 8, eEncodingUint, eFormatHex, \
{arm64_dwarf::x##i, arm64_dwarf::x##i, LLDB_REGNUM_GENERIC_ARG1 + i, \
INV, reg_x##i}, nullptr, nullptr, nullptr, \
}
#define LLDB_REGNUM_GENERIC_ARG1
Definition: lldb-defines.h:61

Definition at line 41 of file RegisterContextMinidump_ARM64.cpp.

◆ INV

#define INV   LLDB_INVALID_REGNUM

Definition at line 25 of file RegisterContextMinidump_ARM64.cpp.

◆ OFFSET

#define OFFSET (   r)    (offsetof(RegisterContextMinidump_ARM64::Context, r))

Definition at line 26 of file RegisterContextMinidump_ARM64.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
reg_x0 
reg_x1 
reg_x2 
reg_x3 
reg_x4 
reg_x5 
reg_x6 
reg_x7 
reg_x8 
reg_x9 
reg_x10 
reg_x11 
reg_x12 
reg_x13 
reg_x14 
reg_x15 
reg_x16 
reg_x17 
reg_x18 
reg_x19 
reg_x20 
reg_x21 
reg_x22 
reg_x23 
reg_x24 
reg_x25 
reg_x26 
reg_x27 
reg_x28 
reg_fp 
reg_lr 
reg_sp 
reg_pc 
reg_w0 
reg_w1 
reg_w2 
reg_w3 
reg_w4 
reg_w5 
reg_w6 
reg_w7 
reg_w8 
reg_w9 
reg_w10 
reg_w11 
reg_w12 
reg_w13 
reg_w14 
reg_w15 
reg_w16 
reg_w17 
reg_w18 
reg_w19 
reg_w20 
reg_w21 
reg_w22 
reg_w23 
reg_w24 
reg_w25 
reg_w26 
reg_w27 
reg_w28 
reg_w29 
reg_w30 
reg_w31 
reg_cpsr 
reg_fpsr 
reg_fpcr 
reg_v0 
reg_v1 
reg_v2 
reg_v3 
reg_v4 
reg_v5 
reg_v6 
reg_v7 
reg_v8 
reg_v9 
reg_v10 
reg_v11 
reg_v12 
reg_v13 
reg_v14 
reg_v15 
reg_v16 
reg_v17 
reg_v18 
reg_v19 
reg_v20 
reg_v21 
reg_v22 
reg_v23 
reg_v24 
reg_v25 
reg_v26 
reg_v27 
reg_v28 
reg_v29 
reg_v30 
reg_v31 
reg_d0 
reg_d1 
reg_d2 
reg_d3 
reg_d4 
reg_d5 
reg_d6 
reg_d7 
reg_d8 
reg_d9 
reg_d10 
reg_d11 
reg_d12 
reg_d13 
reg_d14 
reg_d15 
reg_d16 
reg_d17 
reg_d18 
reg_d19 
reg_d20 
reg_d21 
reg_d22 
reg_d23 
reg_d24 
reg_d25 
reg_d26 
reg_d27 
reg_d28 
reg_d29 
reg_d30 
reg_d31 
reg_s0 
reg_s1 
reg_s2 
reg_s3 
reg_s4 
reg_s5 
reg_s6 
reg_s7 
reg_s8 
reg_s9 
reg_s10 
reg_s11 
reg_s12 
reg_s13 
reg_s14 
reg_s15 
reg_s16 
reg_s17 
reg_s18 
reg_s19 
reg_s20 
reg_s21 
reg_s22 
reg_s23 
reg_s24 
reg_s25 
reg_s26 
reg_s27 
reg_s28 
reg_s29 
reg_s30 
reg_s31 
reg_h0 
reg_h1 
reg_h2 
reg_h3 
reg_h4 
reg_h5 
reg_h6 
reg_h7 
reg_h8 
reg_h9 
reg_h10 
reg_h11 
reg_h12 
reg_h13 
reg_h14 
reg_h15 
reg_h16 
reg_h17 
reg_h18 
reg_h19 
reg_h20 
reg_h21 
reg_h22 
reg_h23 
reg_h24 
reg_h25 
reg_h26 
reg_h27 
reg_h28 
reg_h29 
reg_h30 
reg_h31 
k_num_regs 

Definition at line 77 of file RegisterContextMinidump_ARM64.cpp.

Variable Documentation

◆ g_fpu_regnums

const uint32_t g_fpu_regnums[]

Definition at line 626 of file RegisterContextMinidump_ARM64.cpp.

◆ g_gpr_regnums

const uint32_t g_gpr_regnums[]

Definition at line 557 of file RegisterContextMinidump_ARM64.cpp.

◆ g_reg_infos

RegisterInfo g_reg_infos[]
static

Definition at line 280 of file RegisterContextMinidump_ARM64.cpp.

◆ g_reg_sets

RegisterSet g_reg_sets[]
static
Initial value:
= {
{"General Purpose Registers", "gpr", k_num_gpr_regs, g_gpr_regnums},
{"Floating Point Registers", "fpu", k_num_fpu_regs, g_fpu_regnums},
}
const uint32_t g_gpr_regnums[]
constexpr size_t k_num_fpu_regs
constexpr size_t k_num_gpr_regs
const uint32_t g_fpu_regnums[]

Definition at line 764 of file RegisterContextMinidump_ARM64.cpp.

◆ k_num_fpu_regs

constexpr size_t k_num_fpu_regs = std::size(g_fpu_regnums) - 1
constexpr

Definition at line 762 of file RegisterContextMinidump_ARM64.cpp.

◆ k_num_gpr_regs

constexpr size_t k_num_gpr_regs = std::size(g_gpr_regnums) - 1
constexpr

Definition at line 761 of file RegisterContextMinidump_ARM64.cpp.

◆ k_num_reg_infos

constexpr size_t k_num_reg_infos = std::size(g_reg_infos)
constexpr

Definition at line 554 of file RegisterContextMinidump_ARM64.cpp.

◆ k_num_reg_sets

constexpr size_t k_num_reg_sets = std::size(g_reg_sets)
constexpr

Definition at line 769 of file RegisterContextMinidump_ARM64.cpp.