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"
Include dependency graph for RegisterInfoPOSIX_arm.cpp:

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::RegisterInfo * GetRegisterInfoPtr (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)
Value:
((LLVM_EXTENSION offsetof(RegisterInfoPOSIX_arm::DBG, reg) + \

Definition at line 30 of file RegisterInfoPOSIX_arm.cpp.

◆ 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,

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,

Definition at line 146 of file RegisterInfoPOSIX_arm.cpp.

Referenced by RegisterInfoPOSIX_arm::GetRegisterSet().

gpr_r7
@ gpr_r7
Definition: RegisterContextDarwin_arm.cpp:40
RegisterInfoPOSIX_arm::DBG
Definition: RegisterInfoPOSIX_arm.h:43
LLDB_INVALID_REGNUM
#define LLDB_INVALID_REGNUM
Definition: lldb-defines.h:91
k_num_gpr_registers
@ k_num_gpr_registers
Definition: RegisterInfoPOSIX_arm.cpp:76
gpr_r1
@ gpr_r1
Definition: RegisterContextDarwin_arm.cpp:34
gpr_lr
@ gpr_lr
Definition: RegisterContextDarwin_arm.cpp:49
gpr_cpsr
@ gpr_cpsr
Definition: RegisterContextDarwin_arm.cpp:52
RegisterInfoPOSIX_arm::FPU
Definition: RegisterInfoPOSIX_arm.h:29
gpr_r4
@ gpr_r4
Definition: RegisterContextDarwin_arm.cpp:37
gpr_r6
@ gpr_r6
Definition: RegisterContextDarwin_arm.cpp:39
RegisterInfoPOSIX_arm::EXC
Definition: RegisterInfoPOSIX_arm.h:37
gpr_sp
@ gpr_sp
Definition: RegisterContextDarwin_arm.cpp:47
gpr_r12
@ gpr_r12
Definition: RegisterContextDarwin_arm.cpp:45
gpr_r11
@ gpr_r11
Definition: RegisterContextDarwin_arm.cpp:44
gpr_r3
@ gpr_r3
Definition: RegisterContextDarwin_arm.cpp:36
gpr_r0
@ gpr_r0
Definition: RegisterContextDarwin_arm.cpp:33
g_fpu_regnums_arm
static const uint32_t g_fpu_regnums_arm[]
Definition: RegisterInfoPOSIX_arm.cpp:98
GPR
#define GPR(r16)
Definition: ABIX86.cpp:144
k_num_fpr_registers
@ k_num_fpr_registers
Definition: RegisterInfoPOSIX_arm.cpp:77
gpr_r2
@ gpr_r2
Definition: RegisterContextDarwin_arm.cpp:35
gpr_r8
@ gpr_r8
Definition: RegisterContextDarwin_arm.cpp:41
gpr_r9
@ gpr_r9
Definition: RegisterContextDarwin_arm.cpp:42
gpr_r5
@ gpr_r5
Definition: RegisterContextDarwin_arm.cpp:38
g_gpr_regnums_arm
static const uint32_t g_gpr_regnums_arm[]
Definition: RegisterInfoPOSIX_arm.cpp:82
gpr_r10
@ gpr_r10
Definition: RegisterContextDarwin_arm.cpp:43
gpr_pc
@ gpr_pc
Definition: RegisterContextDarwin_arm.cpp:51
RegisterInfoPOSIX_arm::GPR
Definition: RegisterInfoPOSIX_arm.h:20