LLDB mainline
|
#include <EmulationStateARM.h>
Classes | |
struct | _sd_regs |
Public Member Functions | |
EmulationStateARM () | |
virtual | ~EmulationStateARM () |
bool | StorePseudoRegisterValue (uint32_t reg_num, uint64_t value) |
uint64_t | ReadPseudoRegisterValue (uint32_t reg_num, bool &success) |
bool | StoreToPseudoAddress (lldb::addr_t p_address, uint32_t value) |
uint32_t | ReadFromPseudoAddress (lldb::addr_t p_address, bool &success) |
void | ClearPseudoRegisters () |
void | ClearPseudoMemory () |
bool | LoadStateFromDictionary (lldb_private::OptionValueDictionary *test_data) |
bool | CompareState (EmulationStateARM &other_state, lldb_private::Stream &out_stream) |
Static Public Member Functions | |
static size_t | ReadPseudoMemory (lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::EmulateInstruction::Context &context, lldb::addr_t addr, void *dst, size_t length) |
static size_t | WritePseudoMemory (lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::EmulateInstruction::Context &context, lldb::addr_t addr, const void *dst, size_t length) |
static bool | ReadPseudoRegister (lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue ®_value) |
static bool | WritePseudoRegister (lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::EmulateInstruction::Context &context, const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue ®_value) |
Private Member Functions | |
bool | LoadRegistersStateFromDictionary (lldb_private::OptionValueDictionary *reg_dict, char kind, int first_reg, int num) |
EmulationStateARM (const EmulationStateARM &)=delete | |
const EmulationStateARM & | operator= (const EmulationStateARM &)=delete |
Private Attributes | |
uint32_t | m_gpr [17] = {0} |
struct EmulationStateARM::_sd_regs | m_vfp_regs |
std::map< lldb::addr_t, uint32_t > | m_memory |
Definition at line 17 of file EmulationStateARM.h.
EmulationStateARM::EmulationStateARM | ( | ) |
Definition at line 23 of file EmulationStateARM.cpp.
References ClearPseudoRegisters().
|
virtualdefault |
|
privatedelete |
void EmulationStateARM::ClearPseudoMemory | ( | ) |
Definition at line 83 of file EmulationStateARM.cpp.
References m_memory.
void EmulationStateARM::ClearPseudoRegisters | ( | ) |
Definition at line 72 of file EmulationStateARM.cpp.
References EmulationStateARM::_sd_regs::d_regs, m_gpr, m_vfp_regs, and EmulationStateARM::_sd_regs::s_regs.
Referenced by EmulationStateARM().
bool EmulationStateARM::CompareState | ( | EmulationStateARM & | other_state, |
lldb_private::Stream & | out_stream | ||
) |
Definition at line 217 of file EmulationStateARM.cpp.
References EmulationStateARM::_sd_regs::d_regs, m_gpr, m_memory, m_vfp_regs, lldb_private::Stream::Printf(), and EmulationStateARM::_sd_regs::s_regs.
Referenced by lldb_private::EmulateInstructionARM::TestEmulation().
|
private |
Definition at line 260 of file EmulationStateARM.cpp.
References lldb_private::StreamString::Clear(), lldb_private::StreamString::GetString(), lldb_private::OptionValueDictionary::GetValueForKey(), lldb_private::Stream::Printf(), and StorePseudoRegisterValue().
Referenced by LoadStateFromDictionary().
bool EmulationStateARM::LoadStateFromDictionary | ( | lldb_private::OptionValueDictionary * | test_data | ) |
Definition at line 276 of file EmulationStateARM.cpp.
References dwarf_cpsr, dwarf_d0, dwarf_r0, dwarf_s0, lldb_private::OptionValue::GetAsArray(), lldb_private::OptionValue::GetAsDictionary(), lldb_private::OptionValueArray::GetSize(), lldb_private::OptionValueArray::GetValueAtIndex(), lldb_private::OptionValueDictionary::GetValueForKey(), LoadRegistersStateFromDictionary(), StorePseudoRegisterValue(), and StoreToPseudoAddress().
Referenced by lldb_private::EmulateInstructionARM::TestEmulation().
|
privatedelete |
uint32_t EmulationStateARM::ReadFromPseudoAddress | ( | lldb::addr_t | p_address, |
bool & | success | ||
) |
Definition at line 91 of file EmulationStateARM.cpp.
References m_memory.
Referenced by ReadPseudoMemory().
|
static |
Definition at line 106 of file EmulationStateARM.cpp.
References lldb::eByteOrderBig, lldb_private::endian::InlHostByteOrder(), and ReadFromPseudoAddress().
Referenced by lldb_private::EmulateInstructionARM::TestEmulation().
|
static |
Definition at line 183 of file EmulationStateARM.cpp.
References lldb_private::RegisterInfo::byte_size, lldb::eRegisterKindDWARF, lldb_private::RegisterInfo::kinds, LLDB_INVALID_REGNUM, ReadPseudoRegisterValue(), and lldb_private::RegisterValue::SetUInt().
Referenced by lldb_private::EmulateInstructionARM::TestEmulation().
uint64_t EmulationStateARM::ReadPseudoRegisterValue | ( | uint32_t | reg_num, |
bool & | success | ||
) |
Definition at line 49 of file EmulationStateARM.cpp.
References EmulationStateARM::_sd_regs::d_regs, dwarf_cpsr, dwarf_d0, dwarf_d31, dwarf_r0, dwarf_s0, dwarf_s31, m_gpr, m_vfp_regs, and EmulationStateARM::_sd_regs::s_regs.
Referenced by ReadPseudoRegister().
bool EmulationStateARM::StorePseudoRegisterValue | ( | uint32_t | reg_num, |
uint64_t | value | ||
) |
Definition at line 29 of file EmulationStateARM.cpp.
References EmulationStateARM::_sd_regs::d_regs, dwarf_cpsr, dwarf_d0, dwarf_d31, dwarf_r0, dwarf_s0, dwarf_s31, m_gpr, m_vfp_regs, and EmulationStateARM::_sd_regs::s_regs.
Referenced by LoadRegistersStateFromDictionary(), LoadStateFromDictionary(), and WritePseudoRegister().
bool EmulationStateARM::StoreToPseudoAddress | ( | lldb::addr_t | p_address, |
uint32_t | value | ||
) |
Definition at line 85 of file EmulationStateARM.cpp.
References m_memory.
Referenced by LoadStateFromDictionary(), and WritePseudoMemory().
|
static |
Definition at line 147 of file EmulationStateARM.cpp.
References lldb::eByteOrderBig, lldb_private::endian::InlHostByteOrder(), and StoreToPseudoAddress().
Referenced by lldb_private::EmulateInstructionARM::TestEmulation().
|
static |
Definition at line 202 of file EmulationStateARM.cpp.
References lldb::eRegisterKindDWARF, lldb_private::RegisterValue::GetAsUInt64(), lldb_private::RegisterInfo::kinds, LLDB_INVALID_REGNUM, and StorePseudoRegisterValue().
Referenced by lldb_private::EmulateInstructionARM::TestEmulation().
|
private |
Definition at line 67 of file EmulationStateARM.h.
Referenced by ClearPseudoRegisters(), CompareState(), ReadPseudoRegisterValue(), and StorePseudoRegisterValue().
|
private |
Definition at line 75 of file EmulationStateARM.h.
Referenced by ClearPseudoMemory(), CompareState(), ReadFromPseudoAddress(), and StoreToPseudoAddress().
|
private |
Referenced by ClearPseudoRegisters(), CompareState(), ReadPseudoRegisterValue(), and StorePseudoRegisterValue().