LLDB mainline
RegisterContextFreeBSD_x86_64.cpp File Reference

Go to the source code of this file.

Classes

struct  _GPR
struct  DBG
struct  UserArea

Macros

#define DR_OFFSET(reg_index)
#define DECLARE_REGISTER_INFOS_X86_64_STRUCT
#define UPDATE_REGISTER_INFOS_I386_STRUCT_WITH_X86_64_OFFSETS
#define GPR_OFFSET(regname)
#define FPR_OFFSET(regname)
#define YMM_OFFSET(reg_index)
#define GDB_REMOTE_OFFSET   128
#define BNDR_OFFSET(reg_index)
#define BNDC_OFFSET(reg_index)
#define UPDATE_GPR_INFO(reg, reg64)
#define UPDATE_GPR_INFO_8H(reg, reg64)
#define UPDATE_FPR_INFO(reg, reg64)
#define UPDATE_FP_INFO(reg, i)
#define UPDATE_XMM_INFO(reg, i)
#define UPDATE_YMM_INFO(reg, i)
#define UPDATE_DR_INFO(reg_index)

Typedefs

typedef struct _GPR GPR

Functions

static std::vector< lldb_private::RegisterInfo > & GetSharedRegisterInfoVector ()
static const RegisterInfoGetRegisterInfo_i386 (const lldb_private::ArchSpec &arch)
static const RegisterInfoPrivateGetRegisterInfoPtr (const lldb_private::ArchSpec &target_arch)
static uint32_t PrivateGetRegisterCount (const lldb_private::ArchSpec &target_arch)

Macro Definition Documentation

◆ BNDC_OFFSET

#define BNDC_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, xsave) + \
LLVM_EXTENSION offsetof(XSAVE, mpxc[reg_index]) + GDB_REMOTE_OFFSET)
#define GDB_REMOTE_OFFSET

◆ BNDR_OFFSET

#define BNDR_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, xsave) + \
LLVM_EXTENSION offsetof(XSAVE, mpxr[reg_index]) + GDB_REMOTE_OFFSET)

◆ DECLARE_REGISTER_INFOS_X86_64_STRUCT

#define DECLARE_REGISTER_INFOS_X86_64_STRUCT

Definition at line 68 of file RegisterContextFreeBSD_x86_64.cpp.

◆ DR_OFFSET

#define DR_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, dbg) + \
LLVM_EXTENSION offsetof(DBG, dr[reg_index]))

Definition at line 62 of file RegisterContextFreeBSD_x86_64.cpp.

◆ FPR_OFFSET

#define FPR_OFFSET ( regname)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, fxsave) + \
LLVM_EXTENSION offsetof(FXSAVE, regname))

◆ GDB_REMOTE_OFFSET

#define GDB_REMOTE_OFFSET   128

◆ GPR_OFFSET

#define GPR_OFFSET ( regname)
Value:
(LLVM_EXTENSION offsetof(GPR, regname))

◆ UPDATE_DR_INFO

#define UPDATE_DR_INFO ( reg_index)
Value:
do { \
g_register_infos[lldb_dr##reg_index##_i386].byte_offset = \
DR_OFFSET(reg_index); \
} while (false);
static const RegisterInfo g_register_infos[]

◆ UPDATE_FP_INFO

#define UPDATE_FP_INFO ( reg,
i )
Value:
do { \
g_register_infos[lldb_##reg##i##_i386].byte_offset = FPR_OFFSET(stmm[i]); \
} while (false);
#define FPR_OFFSET(regname)

◆ UPDATE_FPR_INFO

#define UPDATE_FPR_INFO ( reg,
reg64 )
Value:
do { \
g_register_infos[lldb_##reg##_i386].byte_offset = FPR_OFFSET(reg64); \
} while (false);

◆ UPDATE_GPR_INFO

#define UPDATE_GPR_INFO ( reg,
reg64 )
Value:
do { \
g_register_infos[lldb_##reg##_i386].byte_offset = GPR_OFFSET(reg64); \
} while (false);
#define GPR_OFFSET(idx)

◆ UPDATE_GPR_INFO_8H

#define UPDATE_GPR_INFO_8H ( reg,
reg64 )
Value:
do { \
g_register_infos[lldb_##reg##_i386].byte_offset = GPR_OFFSET(reg64) + 1; \
} while (false);

◆ UPDATE_REGISTER_INFOS_I386_STRUCT_WITH_X86_64_OFFSETS

#define UPDATE_REGISTER_INFOS_I386_STRUCT_WITH_X86_64_OFFSETS

◆ UPDATE_XMM_INFO

#define UPDATE_XMM_INFO ( reg,
i )
Value:
do { \
g_register_infos[lldb_##reg##i##_i386].byte_offset = FPR_OFFSET(reg[i]); \
} while (false);

◆ UPDATE_YMM_INFO

#define UPDATE_YMM_INFO ( reg,
i )
Value:
do { \
g_register_infos[lldb_##reg##i##_i386].byte_offset = YMM_OFFSET(i); \
} while (false);
#define YMM_OFFSET(reg_index)

◆ YMM_OFFSET

#define YMM_OFFSET ( reg_index)
Value:
(LLVM_EXTENSION offsetof(UserArea, fpr) + \
LLVM_EXTENSION offsetof(FPR, xsave) + \
LLVM_EXTENSION offsetof(XSAVE, ymmh[0]) + (32 * reg_index))

Typedef Documentation

◆ GPR

typedef struct _GPR GPR

Function Documentation

◆ GetRegisterInfo_i386()

const RegisterInfo * GetRegisterInfo_i386 ( const lldb_private::ArchSpec & arch)
static

◆ GetSharedRegisterInfoVector()

std::vector< lldb_private::RegisterInfo > & GetSharedRegisterInfoVector ( )
static

◆ PrivateGetRegisterCount()

◆ PrivateGetRegisterInfoPtr()