LLDB mainline
|
#include <RegisterContextKDP_i386.h>
Public Member Functions | |
RegisterContextKDP_i386 (ThreadKDP &thread, uint32_t concrete_frame_idx) | |
~RegisterContextKDP_i386 () override | |
Public Member Functions inherited from RegisterContextDarwin_i386 | |
RegisterContextDarwin_i386 (lldb_private::Thread &thread, uint32_t concrete_frame_idx) | |
~RegisterContextDarwin_i386 () override | |
void | InvalidateAllRegisters () override |
size_t | GetRegisterCount () override |
const lldb_private::RegisterInfo * | GetRegisterInfoAtIndex (size_t reg) override |
size_t | GetRegisterSetCount () override |
const lldb_private::RegisterSet * | GetRegisterSet (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 |
bool | ReadAllRegisterValues (lldb::WritableDataBufferSP &data_sp) override |
bool | WriteAllRegisterValues (const lldb::DataBufferSP &data_sp) override |
uint32_t | ConvertRegisterKindToRegisterNumber (lldb::RegisterKind kind, uint32_t num) override |
Convert from a given register numbering scheme to the lldb register numbering scheme. | |
bool | HardwareSingleStep (bool enable) 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 RegisterInfo * | GetRegisterInfoAtIndex (size_t reg)=0 |
virtual size_t | GetRegisterSetCount ()=0 |
virtual const RegisterSet * | GetRegisterSet (size_t reg_set)=0 |
virtual lldb::ByteOrder | GetByteOrder () |
virtual bool | ReadRegister (const RegisterInfo *reg_info, RegisterValue ®_value)=0 |
virtual bool | WriteRegister (const RegisterInfo *reg_info, const RegisterValue ®_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 ®_checkpoint) |
virtual bool | WriteAllRegisterValues (const lldb_private::RegisterCheckpoint ®_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 ®_value) |
virtual Status | WriteRegisterValueToMemory (const lldb_private::RegisterInfo *reg_info, lldb::addr_t dst_addr, uint32_t dst_len, const RegisterValue ®_value) |
virtual lldb::tid_t | GetThreadID () const |
virtual Thread & | GetThread () |
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) |
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 | |
int | DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr) override |
int | DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu) override |
int | DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc) override |
int | DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr) override |
int | DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu) override |
int | DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc) override |
Protected Member Functions inherited from RegisterContextDarwin_i386 | |
void | InvalidateAllRegisterStates () |
int | GetError (int flavor, uint32_t err_idx) const |
bool | SetError (int flavor, uint32_t err_idx, int err) |
bool | RegisterSetIsCached (int set) const |
void | LogGPR (lldb_private::Log *log, const char *title) |
int | ReadGPR (bool force) |
int | ReadFPU (bool force) |
int | ReadEXC (bool force) |
int | WriteGPR () |
int | WriteFPU () |
int | WriteEXC () |
virtual int | DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr)=0 |
virtual int | DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu)=0 |
virtual int | DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc)=0 |
virtual int | DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr)=0 |
virtual int | DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu)=0 |
virtual int | DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc)=0 |
int | ReadRegisterSet (uint32_t set, bool force) |
int | WriteRegisterSet (uint32_t set) |
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 | |
ThreadKDP & | m_kdp_thread |
Protected Attributes inherited from RegisterContextDarwin_i386 | |
GPR | gpr |
FPU | fpu |
EXC | exc |
int | gpr_errs [2] |
int | fpu_errs [2] |
int | exc_errs [2] |
Protected Attributes inherited from lldb_private::RegisterContext | |
Thread & | m_thread |
uint32_t | m_concrete_frame_idx |
uint32_t | m_stop_id |
Additional Inherited Members | |
Protected Types inherited from RegisterContextDarwin_i386 | |
enum | { GPRRegSet = 1 , FPURegSet = 2 , EXCRegSet = 3 } |
enum | { GPRWordCount = sizeof(GPR) / sizeof(uint32_t) , FPUWordCount = sizeof(FPU) / sizeof(uint32_t) , EXCWordCount = sizeof(EXC) / sizeof(uint32_t) } |
enum | { Read = 0 , Write = 1 , kNumErrors = 2 } |
Static Protected Member Functions inherited from RegisterContextDarwin_i386 | |
static uint32_t | GetRegisterNumber (uint32_t reg_kind, uint32_t reg_num) |
static int | GetSetForNativeRegNum (int reg_num) |
static size_t | GetRegisterInfosCount () |
static const lldb_private::RegisterInfo * | GetRegisterInfos () |
Definition at line 16 of file RegisterContextKDP_i386.h.
RegisterContextKDP_i386::RegisterContextKDP_i386 | ( | ThreadKDP & | thread, |
uint32_t | concrete_frame_idx | ||
) |
Definition at line 16 of file RegisterContextKDP_i386.cpp.
|
overridedefault |
|
overrideprotectedvirtual |
Implements RegisterContextDarwin_i386.
Definition at line 53 of file RegisterContextKDP_i386.cpp.
References lldb_private::RegisterContext::CalculateProcess(), error(), RegisterContextDarwin_i386::exc, RegisterContextDarwin_i386::EXCRegSet, ProcessKDP::GetCommunication(), and CommunicationKDP::SendRequestReadRegisters().
|
overrideprotectedvirtual |
Implements RegisterContextDarwin_i386.
Definition at line 38 of file RegisterContextKDP_i386.cpp.
References lldb_private::RegisterContext::CalculateProcess(), error(), RegisterContextDarwin_i386::fpu, RegisterContextDarwin_i386::FPURegSet, ProcessKDP::GetCommunication(), and CommunicationKDP::SendRequestReadRegisters().
|
overrideprotectedvirtual |
Implements RegisterContextDarwin_i386.
Definition at line 23 of file RegisterContextKDP_i386.cpp.
References lldb_private::RegisterContext::CalculateProcess(), error(), ProcessKDP::GetCommunication(), RegisterContextDarwin_i386::gpr, RegisterContextDarwin_i386::GPRRegSet, and CommunicationKDP::SendRequestReadRegisters().
|
overrideprotectedvirtual |
Implements RegisterContextDarwin_i386.
Definition at line 100 of file RegisterContextKDP_i386.cpp.
References lldb_private::RegisterContext::CalculateProcess(), error(), RegisterContextDarwin_i386::exc, RegisterContextDarwin_i386::EXCRegSet, ProcessKDP::GetCommunication(), and CommunicationKDP::SendRequestWriteRegisters().
|
overrideprotectedvirtual |
Implements RegisterContextDarwin_i386.
Definition at line 84 of file RegisterContextKDP_i386.cpp.
References lldb_private::RegisterContext::CalculateProcess(), error(), RegisterContextDarwin_i386::fpu, RegisterContextDarwin_i386::FPURegSet, ProcessKDP::GetCommunication(), and CommunicationKDP::SendRequestWriteRegisters().
|
overrideprotectedvirtual |
Implements RegisterContextDarwin_i386.
Definition at line 68 of file RegisterContextKDP_i386.cpp.
References lldb_private::RegisterContext::CalculateProcess(), error(), ProcessKDP::GetCommunication(), RegisterContextDarwin_i386::gpr, RegisterContextDarwin_i386::GPRRegSet, and CommunicationKDP::SendRequestWriteRegisters().
|
protected |
Definition at line 35 of file RegisterContextKDP_i386.h.