LLDB mainline
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)
#define GPR_OFFSET_NAME(reg)
#define FPU_OFFSET(idx)
#define FPU_OFFSET_NAME(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

◆ 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,
i )
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)
Value:

Definition at line 41 of file RegisterContextDarwin_arm64.cpp.

◆ FPU_OFFSET_NAME

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

Definition at line 42 of file RegisterContextDarwin_arm64.cpp.

◆ GPR_OFFSET

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

Definition at line 37 of file RegisterContextDarwin_arm64.cpp.

◆ GPR_OFFSET_NAME

#define GPR_OFFSET_NAME ( reg)
Value:
(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:
= {

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_exc_regnums[]
const size_t k_num_gpr_registers
const size_t k_num_fpu_registers
const size_t k_num_exc_registers
const uint32_t g_gpr_regnums[]
const uint32_t g_fpu_regnums[]

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.