LLDB mainline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RegisterContextPOSIX_arm64 Class Referenceabstract

#include <RegisterContextPOSIX_arm64.h>

Inheritance diagram for RegisterContextPOSIX_arm64:
Inheritance graph
[legend]

Public Member Functions

 RegisterContextPOSIX_arm64 (lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIX_arm64 > register_info)
 
 ~RegisterContextPOSIX_arm64 () override
 
void Invalidate ()
 
void InvalidateAllRegisters () override
 
size_t GetRegisterCount () override
 
virtual size_t GetGPRSize ()
 
virtual unsigned GetRegisterSize (unsigned reg)
 
virtual unsigned GetRegisterOffset (unsigned reg)
 
const lldb_private::RegisterInfoGetRegisterInfoAtIndex (size_t reg) override
 
size_t GetRegisterSetCount () override
 
const lldb_private::RegisterSetGetRegisterSet (size_t set) override
 
const char * GetRegisterName (unsigned reg)
 
- Public Member Functions inherited from lldb_private::RegisterContext
 RegisterContext (Thread &thread, uint32_t concrete_frame_idx)
 
 ~RegisterContext () override
 
void InvalidateIfNeeded (bool force)
 
virtual void InvalidateAllRegisters ()=0
 
virtual size_t GetRegisterCount ()=0
 
virtual const RegisterInfoGetRegisterInfoAtIndex (size_t reg)=0
 
virtual size_t GetRegisterSetCount ()=0
 
virtual const RegisterSetGetRegisterSet (size_t reg_set)=0
 
virtual lldb::ByteOrder GetByteOrder ()
 
virtual bool ReadRegister (const RegisterInfo *reg_info, RegisterValue &reg_value)=0
 
virtual bool WriteRegister (const RegisterInfo *reg_info, const RegisterValue &reg_value)=0
 
virtual bool ReadAllRegisterValues (lldb::WritableDataBufferSP &data_sp)
 
virtual bool WriteAllRegisterValues (const lldb::DataBufferSP &data_sp)
 
virtual bool RegisterWriteCausesReconfigure (const llvm::StringRef name)
 
virtual bool ReconfigureRegisterInfo ()
 
virtual bool ReadAllRegisterValues (lldb_private::RegisterCheckpoint &reg_checkpoint)
 
virtual bool WriteAllRegisterValues (const lldb_private::RegisterCheckpoint &reg_checkpoint)
 
bool CopyFromRegisterContext (lldb::RegisterContextSP context)
 
virtual uint32_t ConvertRegisterKindToRegisterNumber (lldb::RegisterKind kind, uint32_t num)
 Convert from a given register numbering scheme to the lldb register numbering scheme.
 
virtual uint32_t NumSupportedHardwareBreakpoints ()
 
virtual uint32_t SetHardwareBreakpoint (lldb::addr_t addr, size_t size)
 
virtual bool ClearHardwareBreakpoint (uint32_t hw_idx)
 
virtual uint32_t NumSupportedHardwareWatchpoints ()
 
virtual uint32_t SetHardwareWatchpoint (lldb::addr_t addr, size_t size, bool read, bool write)
 
virtual bool ClearHardwareWatchpoint (uint32_t hw_index)
 
virtual bool HardwareSingleStep (bool enable)
 
virtual Status ReadRegisterValueFromMemory (const lldb_private::RegisterInfo *reg_info, lldb::addr_t src_addr, uint32_t src_len, RegisterValue &reg_value)
 
virtual Status WriteRegisterValueToMemory (const lldb_private::RegisterInfo *reg_info, lldb::addr_t dst_addr, uint32_t dst_len, const RegisterValue &reg_value)
 
virtual lldb::tid_t GetThreadID () const
 
virtual ThreadGetThread ()
 
const RegisterInfoGetRegisterInfoByName (llvm::StringRef reg_name, uint32_t start_idx=0)
 
const RegisterInfoGetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num)
 
uint64_t GetPC (uint64_t fail_value=LLDB_INVALID_ADDRESS)
 
uint64_t GetThreadPointer (uint64_t fail_value=LLDB_INVALID_ADDRESS)
 
bool GetPCForSymbolication (Address &address)
 Get an address suitable for symbolication.
 
bool SetPC (uint64_t pc)
 
bool SetPC (Address addr)
 
uint64_t GetSP (uint64_t fail_value=LLDB_INVALID_ADDRESS)
 
bool SetSP (uint64_t sp)
 
uint64_t GetFP (uint64_t fail_value=LLDB_INVALID_ADDRESS)
 
bool SetFP (uint64_t fp)
 
const char * GetRegisterName (uint32_t reg)
 
uint64_t GetReturnAddress (uint64_t fail_value=LLDB_INVALID_ADDRESS)
 
uint64_t GetFlags (uint64_t fail_value=0)
 
uint64_t ReadRegisterAsUnsigned (uint32_t reg, uint64_t fail_value)
 
uint64_t ReadRegisterAsUnsigned (const RegisterInfo *reg_info, uint64_t fail_value)
 
bool WriteRegisterFromUnsigned (uint32_t reg, uint64_t uval)
 
bool WriteRegisterFromUnsigned (const RegisterInfo *reg_info, uint64_t uval)
 
bool ConvertBetweenRegisterKinds (lldb::RegisterKind source_rk, uint32_t source_regnum, lldb::RegisterKind target_rk, uint32_t &target_regnum)
 
lldb::TargetSP CalculateTarget () override
 
lldb::ProcessSP CalculateProcess () override
 
lldb::ThreadSP CalculateThread () override
 
lldb::StackFrameSP CalculateStackFrame () override
 
void CalculateExecutionContext (ExecutionContext &exe_ctx) override
 Reconstruct the object's execution context into sc.
 
uint32_t GetStopID () const
 
void SetStopID (uint32_t stop_id)
 
- Public Member Functions inherited from lldb_private::ExecutionContextScope
virtual ~ExecutionContextScope ()=default
 
virtual lldb::TargetSP CalculateTarget ()=0
 
virtual lldb::ProcessSP CalculateProcess ()=0
 
virtual lldb::ThreadSP CalculateThread ()=0
 
virtual lldb::StackFrameSP CalculateStackFrame ()=0
 
virtual void CalculateExecutionContext (ExecutionContext &exe_ctx)=0
 Reconstruct the object's execution context into sc.
 

Protected Member Functions

virtual const lldb_private::RegisterInfoGetRegisterInfo ()
 
bool IsGPR (unsigned reg)
 
bool IsFPR (unsigned reg)
 
size_t GetFPUSize ()
 
bool IsSVE (unsigned reg) const
 
bool IsPAuth (unsigned reg) const
 
bool IsTLS (unsigned reg) const
 
bool IsSME (unsigned reg) const
 
bool IsMTE (unsigned reg) const
 
bool IsFPMR (unsigned reg) const
 
bool IsSVEZ (unsigned reg) const
 
bool IsSVEP (unsigned reg) const
 
bool IsSVEVG (unsigned reg) const
 
bool IsSMEZA (unsigned reg) const
 
uint32_t GetRegNumSVEZ0 () const
 
uint32_t GetRegNumSVEFFR () const
 
uint32_t GetRegNumFPCR () const
 
uint32_t GetRegNumFPSR () const
 
virtual bool ReadGPR ()=0
 
virtual bool ReadFPR ()=0
 
virtual bool WriteGPR ()=0
 
virtual bool WriteFPR ()=0
 
- Protected Member Functions inherited from lldb_private::RegisterContext
virtual bool BehavesLikeZerothFrame () const
 Indicates that this frame is currently executing code, that the PC value is not a return-pc but an actual executing instruction.
 

Protected Attributes

std::unique_ptr< RegisterInfoPOSIX_arm64m_register_info_up
 
- Protected Attributes inherited from lldb_private::RegisterContext
Threadm_thread
 
uint32_t m_concrete_frame_idx
 
uint32_t m_stop_id
 

Detailed Description

Definition at line 17 of file RegisterContextPOSIX_arm64.h.

Constructor & Destructor Documentation

◆ RegisterContextPOSIX_arm64()

RegisterContextPOSIX_arm64::RegisterContextPOSIX_arm64 ( lldb_private::Thread thread,
std::unique_ptr< RegisterInfoPOSIX_arm64 register_info 
)

Definition at line 66 of file RegisterContextPOSIX_arm64.cpp.

◆ ~RegisterContextPOSIX_arm64()

RegisterContextPOSIX_arm64::~RegisterContextPOSIX_arm64 ( )
overridedefault

Member Function Documentation

◆ GetFPUSize()

size_t RegisterContextPOSIX_arm64::GetFPUSize ( )
inlineprotected

Definition at line 54 of file RegisterContextPOSIX_arm64.h.

◆ GetGPRSize()

size_t RegisterContextPOSIX_arm64::GetGPRSize ( )
virtual

◆ GetRegisterCount()

size_t RegisterContextPOSIX_arm64::GetRegisterCount ( )
overridevirtual

◆ GetRegisterInfo()

const lldb_private::RegisterInfo * RegisterContextPOSIX_arm64::GetRegisterInfo ( )
protectedvirtual

◆ GetRegisterInfoAtIndex()

const lldb_private::RegisterInfo * RegisterContextPOSIX_arm64::GetRegisterInfoAtIndex ( size_t  reg)
overridevirtual

◆ GetRegisterName()

const char * RegisterContextPOSIX_arm64::GetRegisterName ( unsigned  reg)

◆ GetRegisterOffset()

unsigned RegisterContextPOSIX_arm64::GetRegisterOffset ( unsigned  reg)
virtual

Definition at line 78 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

◆ GetRegisterSet()

const lldb_private::RegisterSet * RegisterContextPOSIX_arm64::GetRegisterSet ( size_t  set)
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 115 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

◆ GetRegisterSetCount()

size_t RegisterContextPOSIX_arm64::GetRegisterSetCount ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 110 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

◆ GetRegisterSize()

unsigned RegisterContextPOSIX_arm64::GetRegisterSize ( unsigned  reg)
virtual

Definition at line 82 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

◆ GetRegNumFPCR()

uint32_t RegisterContextPOSIX_arm64::GetRegNumFPCR ( ) const
inlineprotected

◆ GetRegNumFPSR()

uint32_t RegisterContextPOSIX_arm64::GetRegNumFPSR ( ) const
inlineprotected

◆ GetRegNumSVEFFR()

uint32_t RegisterContextPOSIX_arm64::GetRegNumSVEFFR ( ) const
inlineprotected

Definition at line 75 of file RegisterContextPOSIX_arm64.h.

References m_register_info_up.

◆ GetRegNumSVEZ0()

uint32_t RegisterContextPOSIX_arm64::GetRegNumSVEZ0 ( ) const
inlineprotected

◆ Invalidate()

void RegisterContextPOSIX_arm64::Invalidate ( )

Definition at line 74 of file RegisterContextPOSIX_arm64.cpp.

◆ InvalidateAllRegisters()

void RegisterContextPOSIX_arm64::InvalidateAllRegisters ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 76 of file RegisterContextPOSIX_arm64.cpp.

◆ IsFPMR()

bool RegisterContextPOSIX_arm64::IsFPMR ( unsigned  reg) const
protected

◆ IsFPR()

bool RegisterContextPOSIX_arm64::IsFPR ( unsigned  reg)
protected

◆ IsGPR()

bool RegisterContextPOSIX_arm64::IsGPR ( unsigned  reg)
protected

◆ IsMTE()

bool RegisterContextPOSIX_arm64::IsMTE ( unsigned  reg) const
protected

◆ IsPAuth()

bool RegisterContextPOSIX_arm64::IsPAuth ( unsigned  reg) const
protected

◆ IsSME()

bool RegisterContextPOSIX_arm64::IsSME ( unsigned  reg) const
protected

◆ IsSMEZA()

bool RegisterContextPOSIX_arm64::IsSMEZA ( unsigned  reg) const
inlineprotected

Definition at line 68 of file RegisterContextPOSIX_arm64.h.

References m_register_info_up.

◆ IsSVE()

bool RegisterContextPOSIX_arm64::IsSVE ( unsigned  reg) const
protected

◆ IsSVEP()

bool RegisterContextPOSIX_arm64::IsSVEP ( unsigned  reg) const
inlineprotected

Definition at line 64 of file RegisterContextPOSIX_arm64.h.

References m_register_info_up.

◆ IsSVEVG()

bool RegisterContextPOSIX_arm64::IsSVEVG ( unsigned  reg) const
inlineprotected

◆ IsSVEZ()

bool RegisterContextPOSIX_arm64::IsSVEZ ( unsigned  reg) const
inlineprotected

◆ IsTLS()

bool RegisterContextPOSIX_arm64::IsTLS ( unsigned  reg) const
protected

◆ ReadFPR()

virtual bool RegisterContextPOSIX_arm64::ReadFPR ( )
protectedpure virtual

◆ ReadGPR()

virtual bool RegisterContextPOSIX_arm64::ReadGPR ( )
protectedpure virtual

◆ WriteFPR()

virtual bool RegisterContextPOSIX_arm64::WriteFPR ( )
protectedpure virtual

◆ WriteGPR()

virtual bool RegisterContextPOSIX_arm64::WriteGPR ( )
protectedpure virtual

Member Data Documentation

◆ m_register_info_up

std::unique_ptr<RegisterInfoPOSIX_arm64> RegisterContextPOSIX_arm64::m_register_info_up
protected

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