LLDB mainline
RegisterContextCorePOSIX_riscv32 Class Reference

#include <RegisterContextPOSIXCore_riscv32.h>

Inheritance diagram for RegisterContextCorePOSIX_riscv32:
[legend]

Classes

struct  csr_kv_t

Public Member Functions

 ~RegisterContextCorePOSIX_riscv32 () override
void InvalidateAllRegisters () override
size_t GetRegisterCount () override
const lldb_private::RegisterInfoGetRegisterInfoAtIndex (size_t reg) override
size_t GetRegisterSetCount () override
const lldb_private::RegisterSetGetRegisterSet (size_t set) override
bool ReadRegister (const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue &value) override
bool WriteRegister (const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &value) override
Public Member Functions inherited from lldb_private::RegisterContext
 RegisterContext (Thread &thread, uint32_t concrete_frame_idx)
 ~RegisterContext () override
void InvalidateIfNeeded (bool force)
virtual lldb::ByteOrder GetByteOrder ()
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

Static Public Member Functions

static std::unique_ptr< RegisterContextCorePOSIX_riscv32Create (lldb_private::Thread &thread, const lldb_private::ArchSpec &arch, const lldb_private::DataExtractor &gpregset, llvm::ArrayRef< lldb_private::CoreNote > notes)

Protected Member Functions

 RegisterContextCorePOSIX_riscv32 (lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIXDynamic_riscv32 > register_info, const lldb_private::DataExtractor &gpregset, llvm::ArrayRef< lldb_private::CoreNote > notes)
bool IsGPR (unsigned reg)
bool IsFPR (unsigned reg)
bool IsCSR (unsigned reg)
lldb_private::DynamicRegisterInfo::Register BuildDynamicRegister (const lldb_private::RegisterInfo &reg_info, const lldb_private::ConstString &set_name, uint32_t byte_offset)
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.

Private Attributes

std::unique_ptr< RegisterInfoPOSIXDynamic_riscv32m_reg_infos_up
lldb_private::DataExtractor m_gpregset
lldb_private::DataExtractor m_fpregset
lldb_private::DataExtractor m_csregset

Additional Inherited Members

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 21 of file RegisterContextPOSIXCore_riscv32.h.

Constructor & Destructor Documentation

◆ ~RegisterContextCorePOSIX_riscv32()

RegisterContextCorePOSIX_riscv32::~RegisterContextCorePOSIX_riscv32 ( )
overridedefault

◆ RegisterContextCorePOSIX_riscv32()

Member Function Documentation

◆ BuildDynamicRegister()

◆ Create()

std::unique_ptr< RegisterContextCorePOSIX_riscv32 > RegisterContextCorePOSIX_riscv32::Create ( lldb_private::Thread & thread,
const lldb_private::ArchSpec & arch,
const lldb_private::DataExtractor & gpregset,
llvm::ArrayRef< lldb_private::CoreNote > notes )
static

◆ GetRegisterCount()

size_t RegisterContextCorePOSIX_riscv32::GetRegisterCount ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 135 of file RegisterContextPOSIXCore_riscv32.cpp.

References m_reg_infos_up.

Referenced by GetRegisterInfoAtIndex().

◆ GetRegisterInfoAtIndex()

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

◆ GetRegisterSet()

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

Implements lldb_private::RegisterContext.

Definition at line 151 of file RegisterContextPOSIXCore_riscv32.cpp.

References m_reg_infos_up.

Referenced by IsCSR(), IsFPR(), and IsGPR().

◆ GetRegisterSetCount()

size_t RegisterContextCorePOSIX_riscv32::GetRegisterSetCount ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 146 of file RegisterContextPOSIXCore_riscv32.cpp.

References m_reg_infos_up.

◆ InvalidateAllRegisters()

void RegisterContextCorePOSIX_riscv32::InvalidateAllRegisters ( )
overridevirtual

◆ IsCSR()

bool RegisterContextCorePOSIX_riscv32::IsCSR ( unsigned reg)
protected

◆ IsFPR()

bool RegisterContextCorePOSIX_riscv32::IsFPR ( unsigned reg)
protected

◆ IsGPR()

bool RegisterContextCorePOSIX_riscv32::IsGPR ( unsigned reg)
protected

◆ ReadRegister()

◆ WriteRegister()

bool RegisterContextCorePOSIX_riscv32::WriteRegister ( const lldb_private::RegisterInfo * reg_info,
const lldb_private::RegisterValue & value )
overridevirtual

Member Data Documentation

◆ m_csregset

lldb_private::DataExtractor RegisterContextCorePOSIX_riscv32::m_csregset
private

◆ m_fpregset

lldb_private::DataExtractor RegisterContextCorePOSIX_riscv32::m_fpregset
private

◆ m_gpregset

lldb_private::DataExtractor RegisterContextCorePOSIX_riscv32::m_gpregset
private

◆ m_reg_infos_up


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