LLDB mainline
RegisterInfoPOSIX_arm.cpp File Reference
#include <cassert>
#include <cstddef>
#include <vector>
#include "lldb/lldb-defines.h"
#include "llvm/Support/Compiler.h"
#include "RegisterInfoPOSIX_arm.h"
#include "RegisterInfos_arm.h"

Go to the source code of this file.

Macros

#define GPR_OFFSET(idx)
#define FPU_OFFSET(idx)
#define FPSCR_OFFSET
#define EXC_OFFSET(idx)
#define DBG_OFFSET(reg)
#define DEFINE_DBG(reg, i)
#define REG_CONTEXT_SIZE
#define DECLARE_REGISTER_INFOS_ARM_STRUCT

Enumerations

enum  { k_num_gpr_registers = gpr_cpsr - gpr_r0 + 1 , k_num_fpr_registers = fpu_q15 - fpu_s0 + 1 , k_num_register_sets = 2 }

Functions

static const lldb_private::RegisterInfoGetRegisterInfoPtr (const lldb_private::ArchSpec &target_arch)
static uint32_t GetRegisterInfoCount (const lldb_private::ArchSpec &target_arch)

Variables

static const uint32_t g_gpr_regnums_arm []
static const uint32_t g_fpu_regnums_arm []
static const RegisterSet g_reg_sets_arm [k_num_register_sets]

Macro Definition Documentation

◆ DBG_OFFSET

◆ DECLARE_REGISTER_INFOS_ARM_STRUCT

#define DECLARE_REGISTER_INFOS_ARM_STRUCT

Definition at line 47 of file RegisterInfoPOSIX_arm.cpp.

◆ DEFINE_DBG

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

Definition at line 35 of file RegisterInfoPOSIX_arm.cpp.

◆ EXC_OFFSET

#define EXC_OFFSET ( idx)
Value:
((idx)*4 + sizeof(RegisterInfoPOSIX_arm::GPR) + \

Definition at line 27 of file RegisterInfoPOSIX_arm.cpp.

◆ FPSCR_OFFSET

#define FPSCR_OFFSET
Value:
(LLVM_EXTENSION offsetof(RegisterInfoPOSIX_arm::FPU, fpscr) + \

Definition at line 24 of file RegisterInfoPOSIX_arm.cpp.

◆ FPU_OFFSET

#define FPU_OFFSET ( idx)
Value:
((idx)*4 + sizeof(RegisterInfoPOSIX_arm::GPR))

Definition at line 23 of file RegisterInfoPOSIX_arm.cpp.

◆ GPR_OFFSET

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

Definition at line 22 of file RegisterInfoPOSIX_arm.cpp.

◆ REG_CONTEXT_SIZE

#define REG_CONTEXT_SIZE
Value:

Definition at line 42 of file RegisterInfoPOSIX_arm.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
k_num_gpr_registers 
k_num_fpr_registers 
k_num_register_sets 

Definition at line 75 of file RegisterInfoPOSIX_arm.cpp.

Function Documentation

◆ GetRegisterInfoCount()

uint32_t GetRegisterInfoCount ( const lldb_private::ArchSpec & target_arch)
static

Definition at line 63 of file RegisterInfoPOSIX_arm.cpp.

References lldb_private::ArchSpec::GetMachine().

◆ GetRegisterInfoPtr()

const lldb_private::RegisterInfo * GetRegisterInfoPtr ( const lldb_private::ArchSpec & target_arch)
static

Definition at line 52 of file RegisterInfoPOSIX_arm.cpp.

References lldb_private::ArchSpec::GetMachine().

Variable Documentation

◆ g_fpu_regnums_arm

const uint32_t g_fpu_regnums_arm[]
static

Definition at line 98 of file RegisterInfoPOSIX_arm.cpp.

◆ g_gpr_regnums_arm

◆ g_reg_sets_arm

const RegisterSet g_reg_sets_arm[k_num_register_sets]
static
Initial value:
= {
{"General Purpose Registers", "gpr", k_num_gpr_registers,
{"Floating Point Registers", "fpu", k_num_fpr_registers,
const size_t k_num_gpr_registers
const size_t k_num_fpr_registers
static const uint32_t g_fpu_regnums_arm[]
static const uint32_t g_gpr_regnums_arm[]

Definition at line 146 of file RegisterInfoPOSIX_arm.cpp.

Referenced by RegisterInfoPOSIX_arm::GetRegisterSet().