LLDB mainline
Macros | Variables
RegisterContextDarwin_arm64.cpp File Reference
#include "RegisterContextDarwin_arm64.h"
#include "RegisterContextDarwinConstants.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Endian.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Scalar.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Compiler.h"
#include "Plugins/Process/Utility/InstructionUtils.h"
#include <memory>
#include "Utility/ARM64_DWARF_Registers.h"
#include "RegisterInfos_arm64.h"

Go to the source code of this file.

Macros

#define GPR_OFFSET(idx)   ((idx)*8)
 
#define GPR_OFFSET_NAME(reg)    (LLVM_EXTENSION offsetof(RegisterContextDarwin_arm64::GPR, reg))
 
#define FPU_OFFSET(idx)   ((idx)*16 + sizeof(RegisterContextDarwin_arm64::GPR))
 
#define FPU_OFFSET_NAME(reg)    (LLVM_EXTENSION offsetof(RegisterContextDarwin_arm64::FPU, reg))
 
#define EXC_OFFSET_NAME(reg)
 
#define DBG_OFFSET_NAME(reg)
 
#define DEFINE_DBG(reg, i)
 
#define REG_CONTEXT_SIZE
 
#define DECLARE_REGISTER_INFOS_ARM64_STRUCT
 

Variables

static uint32_t g_gpr_regnums []
 
static uint32_t g_fpu_regnums []
 
static uint32_t g_exc_regnums [] = {exc_far, exc_esr, exc_exception}
 
static size_t k_num_register_infos = std::size(g_register_infos_arm64_le)
 
const size_t k_num_gpr_registers = std::size(g_gpr_regnums)
 
const size_t k_num_fpu_registers = std::size(g_fpu_regnums)
 
const size_t k_num_exc_registers = std::size(g_exc_regnums)
 
static const RegisterSet g_reg_sets []
 
const size_t k_num_regsets = std::size(g_reg_sets)
 

Macro Definition Documentation

◆ DBG_OFFSET_NAME

#define DBG_OFFSET_NAME (   reg)

◆ DECLARE_REGISTER_INFOS_ARM64_STRUCT

#define DECLARE_REGISTER_INFOS_ARM64_STRUCT

Definition at line 69 of file RegisterContextDarwin_arm64.cpp.

◆ DEFINE_DBG

#define DEFINE_DBG (   reg,
 
)
Value:
#reg, NULL, \
sizeof(((RegisterContextDarwin_arm64::DBG *) NULL)->reg[i]), \
DBG_OFFSET_NAME(reg[i]), eEncodingUint, eFormatHex, \
{LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM }, \
NULL, NULL, NULL

Definition at line 55 of file RegisterContextDarwin_arm64.cpp.

◆ EXC_OFFSET_NAME

#define EXC_OFFSET_NAME (   reg)
Value:

Definition at line 45 of file RegisterContextDarwin_arm64.cpp.

◆ FPU_OFFSET

#define FPU_OFFSET (   idx)    ((idx)*16 + sizeof(RegisterContextDarwin_arm64::GPR))

Definition at line 41 of file RegisterContextDarwin_arm64.cpp.

◆ FPU_OFFSET_NAME

#define FPU_OFFSET_NAME (   reg)     (LLVM_EXTENSION offsetof(RegisterContextDarwin_arm64::FPU, reg))

Definition at line 42 of file RegisterContextDarwin_arm64.cpp.

◆ GPR_OFFSET

#define GPR_OFFSET (   idx)    ((idx)*8)

Definition at line 37 of file RegisterContextDarwin_arm64.cpp.

◆ GPR_OFFSET_NAME

#define GPR_OFFSET_NAME (   reg)     (LLVM_EXTENSION offsetof(RegisterContextDarwin_arm64::GPR, reg))

Definition at line 38 of file RegisterContextDarwin_arm64.cpp.

◆ REG_CONTEXT_SIZE

#define REG_CONTEXT_SIZE

Variable Documentation

◆ g_exc_regnums

uint32_t g_exc_regnums[] = {exc_far, exc_esr, exc_exception}
static

Definition at line 91 of file RegisterContextDarwin_arm64.cpp.

◆ g_fpu_regnums

uint32_t g_fpu_regnums[]
static
Initial value:
= {
fpu_v0, fpu_v1, fpu_v2, fpu_v3, fpu_v4, fpu_v5, fpu_v6,
fpu_v7, fpu_v8, fpu_v9, fpu_v10, fpu_v11, fpu_v12, fpu_v13,
fpu_v14, fpu_v15, fpu_v16, fpu_v17, fpu_v18, fpu_v19, fpu_v20,
fpu_v21, fpu_v22, fpu_v23, fpu_v24, fpu_v25, fpu_v26, fpu_v27,
fpu_v28, fpu_v29, fpu_v30, fpu_v31, fpu_fpsr, fpu_fpcr}

Definition at line 82 of file RegisterContextDarwin_arm64.cpp.

◆ g_gpr_regnums

uint32_t g_gpr_regnums[]
static
Initial value:
= {
gpr_x0, gpr_x1, gpr_x2, gpr_x3, gpr_x4, gpr_x5, gpr_x6,
gpr_x7, gpr_x8, gpr_x9, gpr_x10, gpr_x11, gpr_x12, gpr_x13,
gpr_x14, gpr_x15, gpr_x16, gpr_x17, gpr_x18, gpr_x19, gpr_x20,
gpr_x21, gpr_x22, gpr_x23, gpr_x24, gpr_x25, gpr_x26, gpr_x27,
gpr_x28, gpr_fp, gpr_lr, gpr_sp, gpr_pc, gpr_cpsr}

Definition at line 74 of file RegisterContextDarwin_arm64.cpp.

◆ g_reg_sets

const RegisterSet g_reg_sets[]
static
Initial value:
= {
{
"General Purpose Registers", "gpr", k_num_gpr_registers, g_gpr_regnums,
},
{"Floating Point Registers", "fpu", k_num_fpu_registers, g_fpu_regnums},
{"Exception State Registers", "exc", k_num_exc_registers, g_exc_regnums}}
static uint32_t g_fpu_regnums[]
static uint32_t g_gpr_regnums[]
static uint32_t g_exc_regnums[]
const size_t k_num_gpr_registers
const size_t k_num_fpu_registers
const size_t k_num_exc_registers

Definition at line 141 of file RegisterContextDarwin_arm64.cpp.

◆ k_num_exc_registers

const size_t k_num_exc_registers = std::size(g_exc_regnums)

Definition at line 136 of file RegisterContextDarwin_arm64.cpp.

◆ k_num_fpu_registers

const size_t k_num_fpu_registers = std::size(g_fpu_regnums)

Definition at line 135 of file RegisterContextDarwin_arm64.cpp.

◆ k_num_gpr_registers

const size_t k_num_gpr_registers = std::size(g_gpr_regnums)

Definition at line 134 of file RegisterContextDarwin_arm64.cpp.

◆ k_num_register_infos

size_t k_num_register_infos = std::size(g_register_infos_arm64_le)
static

Definition at line 93 of file RegisterContextDarwin_arm64.cpp.

◆ k_num_regsets

const size_t k_num_regsets = std::size(g_reg_sets)

Definition at line 148 of file RegisterContextDarwin_arm64.cpp.