LLDB mainline
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
lldb_private::NativeRegisterContext Class Referenceabstract

#include <NativeRegisterContext.h>

Inheritance diagram for lldb_private::NativeRegisterContext:
Inheritance graph
[legend]

Public Member Functions

 NativeRegisterContext (NativeThreadProtocol &thread)
 
virtual ~NativeRegisterContext ()
 
virtual uint32_t GetRegisterCount () const =0
 
virtual uint32_t GetUserRegisterCount () const =0
 
virtual const RegisterInfoGetRegisterInfoAtIndex (uint32_t reg) const =0
 
const char * GetRegisterSetNameForRegisterAtIndex (uint32_t reg_index) const
 
virtual uint32_t GetRegisterSetCount () const =0
 
virtual const RegisterSetGetRegisterSet (uint32_t set_index) const =0
 
virtual Status ReadRegister (const RegisterInfo *reg_info, RegisterValue &reg_value)=0
 
virtual Status WriteRegister (const RegisterInfo *reg_info, const RegisterValue &reg_value)=0
 
virtual Status ReadAllRegisterValues (lldb::WritableDataBufferSP &data_sp)=0
 
virtual Status WriteAllRegisterValues (const lldb::DataBufferSP &data_sp)=0
 
uint32_t ConvertRegisterKindToRegisterNumber (uint32_t kind, uint32_t num) const
 
virtual uint32_t NumSupportedHardwareBreakpoints ()
 
virtual uint32_t SetHardwareBreakpoint (lldb::addr_t addr, size_t size)
 
virtual bool ClearHardwareBreakpoint (uint32_t hw_idx)
 
virtual Status ClearAllHardwareBreakpoints ()
 
virtual Status GetHardwareBreakHitIndex (uint32_t &bp_index, lldb::addr_t trap_addr)
 
virtual uint32_t NumSupportedHardwareWatchpoints ()
 
virtual uint32_t SetHardwareWatchpoint (lldb::addr_t addr, size_t size, uint32_t watch_flags)
 
virtual bool ClearHardwareWatchpoint (uint32_t hw_index)
 
virtual Status ClearWatchpointHit (uint32_t hw_index)
 
virtual Status ClearAllHardwareWatchpoints ()
 
virtual Status IsWatchpointHit (uint32_t wp_index, bool &is_hit)
 
virtual Status GetWatchpointHitIndex (uint32_t &wp_index, lldb::addr_t trap_addr)
 
virtual Status IsWatchpointVacant (uint32_t wp_index, bool &is_vacant)
 
virtual lldb::addr_t GetWatchpointAddress (uint32_t wp_index)
 
virtual lldb::addr_t GetWatchpointHitAddress (uint32_t wp_index)
 
virtual bool HardwareSingleStep (bool enable)
 
virtual Status ReadRegisterValueFromMemory (const lldb_private::RegisterInfo *reg_info, lldb::addr_t src_addr, size_t src_len, RegisterValue &reg_value)
 
virtual Status WriteRegisterValueToMemory (const lldb_private::RegisterInfo *reg_info, lldb::addr_t dst_addr, size_t dst_len, const RegisterValue &reg_value)
 
virtual lldb::tid_t GetThreadID () const
 
virtual NativeThreadProtocolGetThread ()
 
virtual std::vector< uint32_t > GetExpeditedRegisters (ExpeditedRegs expType) const
 
virtual bool RegisterOffsetIsDynamic () const
 
const RegisterInfoGetRegisterInfoByName (llvm::StringRef reg_name, uint32_t start_idx=0)
 
const RegisterInfoGetRegisterInfo (uint32_t reg_kind, uint32_t reg_num)
 
lldb::addr_t GetPC (lldb::addr_t fail_value=LLDB_INVALID_ADDRESS)
 
virtual lldb::addr_t GetPCfromBreakpointLocation (lldb::addr_t fail_value=LLDB_INVALID_ADDRESS)
 
Status SetPC (lldb::addr_t pc)
 
lldb::addr_t GetSP (lldb::addr_t fail_value=LLDB_INVALID_ADDRESS)
 
Status SetSP (lldb::addr_t sp)
 
lldb::addr_t GetFP (lldb::addr_t fail_value=LLDB_INVALID_ADDRESS)
 
Status SetFP (lldb::addr_t fp)
 
const char * GetRegisterName (uint32_t reg)
 
lldb::addr_t GetReturnAddress (lldb::addr_t fail_value=LLDB_INVALID_ADDRESS)
 
lldb::addr_t GetFlags (lldb::addr_t fail_value=0)
 
lldb::addr_t ReadRegisterAsUnsigned (uint32_t reg, lldb::addr_t fail_value)
 
lldb::addr_t ReadRegisterAsUnsigned (const RegisterInfo *reg_info, lldb::addr_t fail_value)
 
Status WriteRegisterFromUnsigned (uint32_t reg, uint64_t uval)
 
Status WriteRegisterFromUnsigned (const RegisterInfo *reg_info, uint64_t uval)
 

Protected Attributes

NativeThreadProtocolm_thread
 

Private Member Functions

 NativeRegisterContext (const NativeRegisterContext &)=delete
 
const NativeRegisterContextoperator= (const NativeRegisterContext &)=delete
 

Detailed Description

Definition at line 21 of file NativeRegisterContext.h.

Constructor & Destructor Documentation

◆ NativeRegisterContext() [1/2]

NativeRegisterContext::NativeRegisterContext ( NativeThreadProtocol thread)

Definition at line 20 of file NativeRegisterContext.cpp.

◆ ~NativeRegisterContext()

NativeRegisterContext::~NativeRegisterContext ( )
virtualdefault

◆ NativeRegisterContext() [2/2]

lldb_private::NativeRegisterContext::NativeRegisterContext ( const NativeRegisterContext )
privatedelete

Member Function Documentation

◆ ClearAllHardwareBreakpoints()

Status NativeRegisterContext::ClearAllHardwareBreakpoints ( )
virtual

Reimplemented in lldb_private::NativeRegisterContextDBReg_arm64.

Definition at line 248 of file NativeRegisterContext.cpp.

◆ ClearAllHardwareWatchpoints()

Status NativeRegisterContext::ClearAllHardwareWatchpoints ( )
virtual

◆ ClearHardwareBreakpoint()

bool NativeRegisterContext::ClearHardwareBreakpoint ( uint32_t  hw_idx)
virtual

Reimplemented in lldb_private::NativeRegisterContextDBReg_arm64.

Definition at line 252 of file NativeRegisterContext.cpp.

◆ ClearHardwareWatchpoint()

bool NativeRegisterContext::ClearHardwareWatchpoint ( uint32_t  hw_index)
virtual

◆ ClearWatchpointHit()

Status NativeRegisterContext::ClearWatchpointHit ( uint32_t  hw_index)
virtual

Reimplemented in lldb_private::NativeRegisterContextDBReg_x86.

Definition at line 274 of file NativeRegisterContext.cpp.

◆ ConvertRegisterKindToRegisterNumber()

uint32_t NativeRegisterContext::ConvertRegisterKindToRegisterNumber ( uint32_t  kind,
uint32_t  num 
) const

◆ GetExpeditedRegisters()

std::vector< uint32_t > NativeRegisterContext::GetExpeditedRegisters ( ExpeditedRegs  expType) const
virtual

◆ GetFlags()

lldb::addr_t NativeRegisterContext::GetFlags ( lldb::addr_t  fail_value = 0)

◆ GetFP()

lldb::addr_t NativeRegisterContext::GetFP ( lldb::addr_t  fail_value = LLDB_INVALID_ADDRESS)

◆ GetHardwareBreakHitIndex()

Status NativeRegisterContext::GetHardwareBreakHitIndex ( uint32_t &  bp_index,
lldb::addr_t  trap_addr 
)
virtual

◆ GetPC()

lldb::addr_t NativeRegisterContext::GetPC ( lldb::addr_t  fail_value = LLDB_INVALID_ADDRESS)

◆ GetPCfromBreakpointLocation()

lldb::addr_t NativeRegisterContext::GetPCfromBreakpointLocation ( lldb::addr_t  fail_value = LLDB_INVALID_ADDRESS)
virtual

◆ GetRegisterCount()

virtual uint32_t lldb_private::NativeRegisterContext::GetRegisterCount ( ) const
pure virtual

◆ GetRegisterInfo()

const RegisterInfo * NativeRegisterContext::GetRegisterInfo ( uint32_t  reg_kind,
uint32_t  reg_num 
)

◆ GetRegisterInfoAtIndex()

virtual const RegisterInfo * lldb_private::NativeRegisterContext::GetRegisterInfoAtIndex ( uint32_t  reg) const
pure virtual

◆ GetRegisterInfoByName()

const RegisterInfo * NativeRegisterContext::GetRegisterInfoByName ( llvm::StringRef  reg_name,
uint32_t  start_idx = 0 
)

◆ GetRegisterName()

const char * NativeRegisterContext::GetRegisterName ( uint32_t  reg)

◆ GetRegisterSet()

virtual const RegisterSet * lldb_private::NativeRegisterContext::GetRegisterSet ( uint32_t  set_index) const
pure virtual

◆ GetRegisterSetCount()

virtual uint32_t lldb_private::NativeRegisterContext::GetRegisterSetCount ( ) const
pure virtual

◆ GetRegisterSetNameForRegisterAtIndex()

const char * NativeRegisterContext::GetRegisterSetNameForRegisterAtIndex ( uint32_t  reg_index) const

◆ GetReturnAddress()

lldb::addr_t NativeRegisterContext::GetReturnAddress ( lldb::addr_t  fail_value = LLDB_INVALID_ADDRESS)

◆ GetSP()

lldb::addr_t NativeRegisterContext::GetSP ( lldb::addr_t  fail_value = LLDB_INVALID_ADDRESS)

◆ GetThread()

virtual NativeThreadProtocol & lldb_private::NativeRegisterContext::GetThread ( )
inlinevirtual

Definition at line 119 of file NativeRegisterContext.h.

References m_thread.

◆ GetThreadID()

lldb::tid_t NativeRegisterContext::GetThreadID ( ) const
virtual

◆ GetUserRegisterCount()

virtual uint32_t lldb_private::NativeRegisterContext::GetUserRegisterCount ( ) const
pure virtual

◆ GetWatchpointAddress()

lldb::addr_t NativeRegisterContext::GetWatchpointAddress ( uint32_t  wp_index)
virtual

◆ GetWatchpointHitAddress()

lldb::addr_t NativeRegisterContext::GetWatchpointHitAddress ( uint32_t  wp_index)
virtual

◆ GetWatchpointHitIndex()

Status NativeRegisterContext::GetWatchpointHitIndex ( uint32_t &  wp_index,
lldb::addr_t  trap_addr 
)
virtual

◆ HardwareSingleStep()

bool NativeRegisterContext::HardwareSingleStep ( bool  enable)
virtual

Definition at line 307 of file NativeRegisterContext.cpp.

◆ IsWatchpointHit()

Status NativeRegisterContext::IsWatchpointHit ( uint32_t  wp_index,
bool &  is_hit 
)
virtual

Reimplemented in lldb_private::NativeRegisterContextDBReg_x86.

Definition at line 282 of file NativeRegisterContext.cpp.

◆ IsWatchpointVacant()

Status NativeRegisterContext::IsWatchpointVacant ( uint32_t  wp_index,
bool &  is_vacant 
)
virtual

Reimplemented in lldb_private::NativeRegisterContextDBReg_x86.

Definition at line 293 of file NativeRegisterContext.cpp.

◆ NumSupportedHardwareBreakpoints()

uint32_t NativeRegisterContext::NumSupportedHardwareBreakpoints ( )
virtual

◆ NumSupportedHardwareWatchpoints()

uint32_t NativeRegisterContext::NumSupportedHardwareWatchpoints ( )
virtual

◆ operator=()

const NativeRegisterContext & lldb_private::NativeRegisterContext::operator= ( const NativeRegisterContext )
privatedelete

◆ ReadAllRegisterValues()

virtual Status lldb_private::NativeRegisterContext::ReadAllRegisterValues ( lldb::WritableDataBufferSP data_sp)
pure virtual

◆ ReadRegister()

virtual Status lldb_private::NativeRegisterContext::ReadRegister ( const RegisterInfo reg_info,
RegisterValue reg_value 
)
pure virtual

◆ ReadRegisterAsUnsigned() [1/2]

uint64_t NativeRegisterContext::ReadRegisterAsUnsigned ( const RegisterInfo reg_info,
lldb::addr_t  fail_value 
)

◆ ReadRegisterAsUnsigned() [2/2]

lldb::addr_t NativeRegisterContext::ReadRegisterAsUnsigned ( uint32_t  reg,
lldb::addr_t  fail_value 
)

◆ ReadRegisterValueFromMemory()

Status NativeRegisterContext::ReadRegisterValueFromMemory ( const lldb_private::RegisterInfo reg_info,
lldb::addr_t  src_addr,
size_t  src_len,
RegisterValue reg_value 
)
virtual

◆ RegisterOffsetIsDynamic()

virtual bool lldb_private::NativeRegisterContext::RegisterOffsetIsDynamic ( ) const
inlinevirtual

◆ SetFP()

Status NativeRegisterContext::SetFP ( lldb::addr_t  fp)

◆ SetHardwareBreakpoint()

uint32_t NativeRegisterContext::SetHardwareBreakpoint ( lldb::addr_t  addr,
size_t  size 
)
virtual

◆ SetHardwareWatchpoint()

uint32_t NativeRegisterContext::SetHardwareWatchpoint ( lldb::addr_t  addr,
size_t  size,
uint32_t  watch_flags 
)
virtual

◆ SetPC()

Status NativeRegisterContext::SetPC ( lldb::addr_t  pc)

◆ SetSP()

Status NativeRegisterContext::SetSP ( lldb::addr_t  sp)

◆ WriteAllRegisterValues()

virtual Status lldb_private::NativeRegisterContext::WriteAllRegisterValues ( const lldb::DataBufferSP data_sp)
pure virtual

◆ WriteRegister()

virtual Status lldb_private::NativeRegisterContext::WriteRegister ( const RegisterInfo reg_info,
const RegisterValue reg_value 
)
pure virtual

◆ WriteRegisterFromUnsigned() [1/2]

Status NativeRegisterContext::WriteRegisterFromUnsigned ( const RegisterInfo reg_info,
uint64_t  uval 
)

◆ WriteRegisterFromUnsigned() [2/2]

Status NativeRegisterContext::WriteRegisterFromUnsigned ( uint32_t  reg,
uint64_t  uval 
)

◆ WriteRegisterValueToMemory()

Status NativeRegisterContext::WriteRegisterValueToMemory ( const lldb_private::RegisterInfo reg_info,
lldb::addr_t  dst_addr,
size_t  dst_len,
const RegisterValue reg_value 
)
virtual

Member Data Documentation

◆ m_thread

NativeThreadProtocol& lldb_private::NativeRegisterContext::m_thread
protected

The documentation for this class was generated from the following files: