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

#include <RegisterContextPOSIX_riscv64.h>

Inheritance diagram for RegisterContextPOSIX_riscv64:
Inheritance graph
[legend]

Public Member Functions

 RegisterContextPOSIX_riscv64 (lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIX_riscv64 > register_info)
 
 ~RegisterContextPOSIX_riscv64 () 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
 
- 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 GetFPRSize ()
 
uint32_t GetRegNumFCSR () 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_riscv64m_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 18 of file RegisterContextPOSIX_riscv64.h.

Constructor & Destructor Documentation

◆ RegisterContextPOSIX_riscv64()

RegisterContextPOSIX_riscv64::RegisterContextPOSIX_riscv64 ( lldb_private::Thread thread,
std::unique_ptr< RegisterInfoPOSIX_riscv64 register_info 
)

Definition at line 24 of file RegisterContextPOSIX_riscv64.cpp.

◆ ~RegisterContextPOSIX_riscv64()

RegisterContextPOSIX_riscv64::~RegisterContextPOSIX_riscv64 ( )
overridedefault

Member Function Documentation

◆ GetFPRSize()

size_t RegisterContextPOSIX_riscv64::GetFPRSize ( )
inlineprotected

Definition at line 53 of file RegisterContextPOSIX_riscv64.h.

◆ GetGPRSize()

size_t RegisterContextPOSIX_riscv64::GetGPRSize ( )
virtual

◆ GetRegisterCount()

size_t RegisterContextPOSIX_riscv64::GetRegisterCount ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 36 of file RegisterContextPOSIX_riscv64.cpp.

References m_register_info_up.

Referenced by GetRegisterInfoAtIndex().

◆ GetRegisterInfo()

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

Definition at line 70 of file RegisterContextPOSIX_riscv64.cpp.

References m_register_info_up.

Referenced by GetRegisterInfoAtIndex().

◆ GetRegisterInfoAtIndex()

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

◆ GetRegisterOffset()

unsigned RegisterContextPOSIX_riscv64::GetRegisterOffset ( unsigned  reg)
virtual

Definition at line 48 of file RegisterContextPOSIX_riscv64.cpp.

References m_register_info_up.

◆ GetRegisterSet()

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

Implements lldb_private::RegisterContext.

Definition at line 65 of file RegisterContextPOSIX_riscv64.cpp.

References m_register_info_up.

◆ GetRegisterSetCount()

size_t RegisterContextPOSIX_riscv64::GetRegisterSetCount ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 60 of file RegisterContextPOSIX_riscv64.cpp.

References m_register_info_up.

◆ GetRegisterSize()

unsigned RegisterContextPOSIX_riscv64::GetRegisterSize ( unsigned  reg)
virtual

Definition at line 44 of file RegisterContextPOSIX_riscv64.cpp.

References m_register_info_up.

◆ GetRegNumFCSR()

uint32_t RegisterContextPOSIX_riscv64::GetRegNumFCSR ( ) const
inlineprotected

Definition at line 55 of file RegisterContextPOSIX_riscv64.h.

References fpr_fcsr_riscv.

◆ invalidate()

void RegisterContextPOSIX_riscv64::invalidate ( )

Definition at line 32 of file RegisterContextPOSIX_riscv64.cpp.

◆ InvalidateAllRegisters()

void RegisterContextPOSIX_riscv64::InvalidateAllRegisters ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 34 of file RegisterContextPOSIX_riscv64.cpp.

◆ IsFPR()

bool RegisterContextPOSIX_riscv64::IsFPR ( unsigned  reg)
protected

◆ IsGPR()

bool RegisterContextPOSIX_riscv64::IsGPR ( unsigned  reg)
protected

◆ ReadFPR()

virtual bool RegisterContextPOSIX_riscv64::ReadFPR ( )
protectedpure virtual

◆ ReadGPR()

virtual bool RegisterContextPOSIX_riscv64::ReadGPR ( )
protectedpure virtual

◆ WriteFPR()

virtual bool RegisterContextPOSIX_riscv64::WriteFPR ( )
protectedpure virtual

◆ WriteGPR()

virtual bool RegisterContextPOSIX_riscv64::WriteGPR ( )
protectedpure virtual

Member Data Documentation

◆ m_register_info_up

std::unique_ptr<RegisterInfoPOSIX_riscv64> RegisterContextPOSIX_riscv64::m_register_info_up
protected

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