9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_GDBREMOTEREGISTERCONTEXT_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_GDBREMOTEREGISTERCONTEXT_H
26namespace process_gdb_remote {
29class ProcessGDBRemote;
30class GDBRemoteDynamicRegisterInfo;
32typedef std::shared_ptr<GDBRemoteDynamicRegisterInfo>
49 bool read_all_at_once,
bool write_all_at_once);
79 uint32_t num)
override;
91 uint32_t data_offset);
GDBRemoteDynamicRegisterInfo()
~GDBRemoteDynamicRegisterInfo() override=default
void UpdateARM64SMERegistersInfos(uint64_t svg)
void UpdateARM64SVERegistersInfos(uint64_t vg)
const RegisterInfo * GetRegisterInfoAtIndex(size_t reg) override
const RegisterSet * GetRegisterSet(size_t reg_set) override
bool ReadRegisterBytes(const RegisterInfo *reg_info)
~GDBRemoteRegisterContext() override
std::vector< bool > m_reg_valid
void SetAllRegisterValid(bool b)
bool GetRegisterIsValid(uint32_t reg) const
const GDBRemoteRegisterContext & operator=(const GDBRemoteRegisterContext &)=delete
bool RegisterWriteCausesReconfigure(const llvm::StringRef name) override
GDBRemoteDynamicRegisterInfoSP m_reg_info_sp
GDBRemoteRegisterContext(const GDBRemoteRegisterContext &)=delete
bool WriteRegisterBytes(const RegisterInfo *reg_info, DataExtractor &data, uint32_t data_offset)
bool PrivateSetRegisterValue(uint32_t reg, llvm::ArrayRef< uint8_t > data)
bool ReadRegister(const RegisterInfo *reg_info, RegisterValue &value) override
size_t GetRegisterCount() override
bool WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) override
void InvalidateAllRegisters() override
void SetRegisterIsValid(uint32_t reg, bool valid)
bool WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value) override
bool ReadAllRegisterValues(lldb::WritableDataBufferSP &data_sp) override
size_t GetRegisterSetCount() override
void SetRegisterIsValid(const RegisterInfo *reg_info, bool valid)
bool SetPrimordialRegister(const RegisterInfo *reg_info, GDBRemoteCommunicationClient &gdb_comm)
uint32_t ConvertRegisterKindToRegisterNumber(lldb::RegisterKind kind, uint32_t num) override
Convert from a given register numbering scheme to the lldb register numbering scheme.
bool ReconfigureRegisterInfo() override
bool GetPrimordialRegister(const RegisterInfo *reg_info, GDBRemoteCommunicationClient &gdb_comm)
std::shared_ptr< GDBRemoteDynamicRegisterInfo > GDBRemoteDynamicRegisterInfoSP
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
std::shared_ptr< lldb_private::WritableDataBuffer > WritableDataBufferSP
RegisterKind
Register numbering types.
@ eRegisterKindLLDB
lldb's internal register numbers
Every register is described in detail including its name, alternate name (optional),...
uint32_t kinds[lldb::kNumRegisterKinds]
Holds all of the various register numbers for all register kinds.
Registers are grouped into register sets.