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
Collaboration diagram for RegisterContextPOSIX_arm64:
Collaboration graph

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::RegisterInfo * GetRegisterInfoAtIndex (size_t reg) override
size_t GetRegisterSetCount () override
const lldb_private::RegisterSet * GetRegisterSet (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)
uint32_t UpdateDynamicRegisterSize (const lldb_private::ArchSpec &arch, RegisterInfo *reg_info)
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::DataBufferSP &data_sp)
virtual bool WriteAllRegisterValues (const lldb::DataBufferSP &data_sp)
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. More...
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 RegisterInfo * GetRegisterInfoByName (llvm::StringRef reg_name, uint32_t start_idx=0)
const RegisterInfo * GetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num)
uint64_t GetPC (uint64_t fail_value=LLDB_INVALID_ADDRESS)
bool GetPCForSymbolication (Address &address)
 Get an address suitable for symbolication. More...
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. More...
uint32_t GetStopID () const
void SetStopID (uint32_t stop_id)
- Public Member Functions inherited from lldb_private::ExecutionContextScope
virtual ~ExecutionContextScope ()

Protected Member Functions

virtual const lldb_private::RegisterInfo * GetRegisterInfo ()
bool IsGPR (unsigned reg)
bool IsFPR (unsigned reg)
size_t GetFPUSize ()
bool IsSVE (unsigned reg) const
bool IsPAuth (unsigned reg) const
bool IsSVEZ (unsigned reg) const
bool IsSVEP (unsigned reg) const
bool IsSVEVG (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. More...

Protected Attributes

std::unique_ptr< RegisterInfoPOSIX_arm64m_register_info_up
- Protected Attributes inherited from lldb_private::RegisterContext
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 50 of file RegisterContextPOSIX_arm64.cpp.

◆ ~RegisterContextPOSIX_arm64()

RegisterContextPOSIX_arm64::~RegisterContextPOSIX_arm64 ( )

Definition at line 56 of file RegisterContextPOSIX_arm64.cpp.

Member Function Documentation

◆ GetFPUSize()

size_t RegisterContextPOSIX_arm64::GetFPUSize ( )

Definition at line 54 of file RegisterContextPOSIX_arm64.h.

◆ GetGPRSize()

size_t RegisterContextPOSIX_arm64::GetGPRSize ( )

◆ GetRegisterCount()

size_t RegisterContextPOSIX_arm64::GetRegisterCount ( )

◆ GetRegisterInfo()

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

Definition at line 79 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

Referenced by GetRegisterInfoAtIndex(), and GetRegisterName().

◆ GetRegisterInfoAtIndex()

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

◆ GetRegisterName()

const char * RegisterContextPOSIX_arm64::GetRegisterName ( unsigned  reg)

Definition at line 103 of file RegisterContextPOSIX_arm64.cpp.

References GetRegisterCount(), and GetRegisterInfo().

◆ GetRegisterOffset()

unsigned RegisterContextPOSIX_arm64::GetRegisterOffset ( unsigned  reg)

Definition at line 62 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

◆ GetRegisterSet()

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

Implements lldb_private::RegisterContext.

Definition at line 99 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up, and set().

◆ GetRegisterSetCount()

size_t RegisterContextPOSIX_arm64::GetRegisterSetCount ( )

Implements lldb_private::RegisterContext.

Definition at line 94 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

◆ GetRegisterSize()

unsigned RegisterContextPOSIX_arm64::GetRegisterSize ( unsigned  reg)

Definition at line 66 of file RegisterContextPOSIX_arm64.cpp.

References m_register_info_up.

◆ GetRegNumFPCR()

uint32_t RegisterContextPOSIX_arm64::GetRegNumFPCR ( ) const

◆ GetRegNumFPSR()

uint32_t RegisterContextPOSIX_arm64::GetRegNumFPSR ( ) const

◆ GetRegNumSVEFFR()

uint32_t RegisterContextPOSIX_arm64::GetRegNumSVEFFR ( ) const

Definition at line 68 of file RegisterContextPOSIX_arm64.h.

References m_register_info_up.

◆ GetRegNumSVEZ0()

uint32_t RegisterContextPOSIX_arm64::GetRegNumSVEZ0 ( ) const

◆ Invalidate()

void RegisterContextPOSIX_arm64::Invalidate ( )

Definition at line 58 of file RegisterContextPOSIX_arm64.cpp.

◆ InvalidateAllRegisters()

void RegisterContextPOSIX_arm64::InvalidateAllRegisters ( )

Implements lldb_private::RegisterContext.

Definition at line 60 of file RegisterContextPOSIX_arm64.cpp.

◆ IsFPR()

bool RegisterContextPOSIX_arm64::IsFPR ( unsigned  reg)

◆ IsGPR()

bool RegisterContextPOSIX_arm64::IsGPR ( unsigned  reg)

Definition at line 28 of file RegisterContextPOSIX_arm64.cpp.

References RegisterInfoPOSIX_arm64::GPRegSet.

◆ IsPAuth()

bool RegisterContextPOSIX_arm64::IsPAuth ( unsigned  reg) const

◆ IsSVE()

bool RegisterContextPOSIX_arm64::IsSVE ( unsigned  reg) const

◆ IsSVEP()

bool RegisterContextPOSIX_arm64::IsSVEP ( unsigned  reg) const

Definition at line 60 of file RegisterContextPOSIX_arm64.h.

References m_register_info_up.


bool RegisterContextPOSIX_arm64::IsSVEVG ( unsigned  reg) const

◆ IsSVEZ()

bool RegisterContextPOSIX_arm64::IsSVEZ ( unsigned  reg) const

◆ 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

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