LLDB mainline
Macros | Enumerations | Functions | Variables
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)   ((idx)*4)
 
#define FPU_OFFSET(idx)   ((idx)*4 + sizeof(RegisterInfoPOSIX_arm::GPR))
 
#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

#define DBG_OFFSET (   reg)

◆ 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,
 
)
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)    ((idx)*4 + sizeof(RegisterInfoPOSIX_arm::GPR))

Definition at line 23 of file RegisterInfoPOSIX_arm.cpp.

◆ GPR_OFFSET

#define GPR_OFFSET (   idx)    ((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()

static 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()

static 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

const uint32_t g_gpr_regnums_arm[]
static

◆ 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,
static const uint32_t g_fpu_regnums_arm[]
@ k_num_fpr_registers
@ k_num_gpr_registers
static const uint32_t g_gpr_regnums_arm[]

Definition at line 146 of file RegisterInfoPOSIX_arm.cpp.

Referenced by RegisterInfoPOSIX_arm::GetRegisterSet().