|
LLDB mainline
|
#include <RegisterContextELFCore_x86.h>
Public Member Functions | |
| RegisterContextELFCore_x86 (lldb_private::Thread &thread, lldb_private::RegisterInfoInterface *register_info, const lldb_private::DataExtractor &gpregset, llvm::ArrayRef< lldb_private::CoreNote > notes) | |
| 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 |
| bool | HardwareSingleStep (bool enable) override |
| Public Member Functions inherited from RegisterContextCore_x86 | |
| RegisterContextCore_x86 (lldb_private::Thread &thread, uint32_t concrete_frame_idx, lldb_private::RegisterInfoInterface *register_info) | |
| ~RegisterContextCore_x86 () override | |
| void | Invalidate () |
| void | InvalidateAllRegisters () override |
| size_t | GetRegisterCount () override |
| virtual size_t | GetGPRSize () |
| virtual size_t | GetFXSAVEOffset () |
| 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) |
| virtual lldb::ByteOrder | GetByteOrder () |
| 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 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 |
Protected Member Functions | |
| bool | ReadGPR () override |
| bool | ReadFPR () override |
| bool | WriteGPR () override |
| bool | WriteFPR () override |
| Protected Member Functions inherited from RegisterContextCore_x86 | |
| virtual bool | IsRegisterSetAvailable (size_t set_index) |
| virtual const lldb_private::RegisterInfo * | GetRegisterInfo () |
| bool | IsGPR (unsigned reg) |
| bool | IsFPR (unsigned reg) |
| bool | IsAVX (unsigned reg) |
| bool | CopyXSTATEtoYMM (uint32_t reg, lldb::ByteOrder byte_order) |
| bool | CopyYMMtoXSTATE (uint32_t reg, lldb::ByteOrder byte_order) |
| bool | IsFPR (unsigned reg, FPRType fpr_type) |
| FPRType | GetFPRType () |
| virtual lldb_private::RegInfo & | GetRegInfo () |
| 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< uint8_t[]> | m_gpregset |
| std::unique_ptr< uint8_t[]> | m_fpregset |
Additional Inherited Members | |
| Public Types inherited from RegisterContextCore_x86 | |
| enum | FPRType { eNotValid = 0 , eFSAVE , eFXSAVE , eSOFT , eXSAVE } |
| Protected Attributes inherited from RegisterContextCore_x86 | |
| FPRType | m_fpr_type |
| lldb_private::FPR | m_fpr |
| lldb_private::YMM | m_ymm_set |
| std::unique_ptr< lldb_private::RegisterInfoInterface > | m_register_info_up |
| Protected Attributes inherited from lldb_private::RegisterContext | |
| Thread & | m_thread |
| uint32_t | m_concrete_frame_idx |
| uint32_t | m_stop_id |
Definition at line 15 of file RegisterContextELFCore_x86.h.
| RegisterContextELFCore_x86::RegisterContextELFCore_x86 | ( | lldb_private::Thread & | thread, |
| lldb_private::RegisterInfoInterface * | register_info, | ||
| const lldb_private::DataExtractor & | gpregset, | ||
| llvm::ArrayRef< lldb_private::CoreNote > | notes ) |
Definition at line 16 of file RegisterContextELFCore_x86.cpp.
References lldb::eByteOrderLittle, lldb_private::DataExtractor::ExtractBytes(), lldb_private::FPR_Desc, RegisterContextCore_x86::GetGPRSize(), lldb_private::getRegset(), lldb_private::RegisterInfoInterface::GetTargetArchitecture(), lldb_private::ArchSpec::GetTriple(), m_fpregset, m_gpregset, and RegisterContextCore_x86::RegisterContextCore_x86().
Referenced by RegisterContextLinuxCore_x86::RegisterContextLinuxCore_x86().
Reimplemented from lldb_private::RegisterContext.
Definition at line 97 of file RegisterContextELFCore_x86.cpp.
|
overridevirtual |
Reimplemented from lldb_private::RegisterContext.
Definition at line 82 of file RegisterContextELFCore_x86.cpp.
|
overrideprotectedvirtual |
Implements RegisterContextCore_x86.
Definition at line 43 of file RegisterContextELFCore_x86.cpp.
References m_fpregset.
|
overrideprotectedvirtual |
Implements RegisterContextCore_x86.
Definition at line 39 of file RegisterContextELFCore_x86.cpp.
References m_gpregset.
|
overridevirtual |
Implements lldb_private::RegisterContext.
Definition at line 57 of file RegisterContextELFCore_x86.cpp.
References lldb_private::RegisterInfo::byte_offset, lldb_private::RegisterInfo::byte_size, lldb::eByteOrderLittle, error(), RegisterContextCore_x86::GetFXSAVEOffset(), RegisterContextCore_x86::GetGPRSize(), m_fpregset, m_gpregset, and lldb_private::RegisterValue::SetFromMemoryData().
|
overridevirtual |
Reimplemented from lldb_private::RegisterContext.
Definition at line 92 of file RegisterContextELFCore_x86.cpp.
|
overrideprotectedvirtual |
Implements RegisterContextCore_x86.
Definition at line 52 of file RegisterContextELFCore_x86.cpp.
|
overrideprotectedvirtual |
Implements RegisterContextCore_x86.
Definition at line 47 of file RegisterContextELFCore_x86.cpp.
|
overridevirtual |
Implements lldb_private::RegisterContext.
Definition at line 87 of file RegisterContextELFCore_x86.cpp.
|
private |
Definition at line 46 of file RegisterContextELFCore_x86.h.
Referenced by ReadFPR(), ReadRegister(), and RegisterContextELFCore_x86().
|
private |
Definition at line 45 of file RegisterContextELFCore_x86.h.
Referenced by ReadGPR(), ReadRegister(), and RegisterContextELFCore_x86().