diff options
Diffstat (limited to 'source/Plugins/Instruction/ARM/EmulationStateARM.h')
-rw-r--r-- | source/Plugins/Instruction/ARM/EmulationStateARM.h | 130 |
1 files changed, 57 insertions, 73 deletions
diff --git a/source/Plugins/Instruction/ARM/EmulationStateARM.h b/source/Plugins/Instruction/ARM/EmulationStateARM.h index e82ef94b5a01..f27f4755a177 100644 --- a/source/Plugins/Instruction/ARM/EmulationStateARM.h +++ b/source/Plugins/Instruction/ARM/EmulationStateARM.h @@ -16,81 +16,65 @@ #include "lldb/Core/Opcode.h" class EmulationStateARM { -public: - - 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 - LoadPseudoRegistersFromFrame (lldb_private::StackFrame &frame); - - bool - LoadStateFromDictionary (lldb_private::OptionValueDictionary *test_data); - - bool - CompareState (EmulationStateARM &other_state); - - static size_t - ReadPseudoMemory (lldb_private::EmulateInstruction *instruction, +public: + 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 LoadPseudoRegistersFromFrame(lldb_private::StackFrame &frame); + + bool LoadStateFromDictionary(lldb_private::OptionValueDictionary *test_data); + + bool CompareState(EmulationStateARM &other_state); + + 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, - 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); + const lldb_private::RegisterInfo *reg_info, + const lldb_private::RegisterValue ®_value); + private: - uint32_t m_gpr[17]; - struct _sd_regs - { - uint32_t s_regs[32]; // sregs 0 - 31 & dregs 0 - 15 - - uint64_t d_regs[16]; // dregs 16-31 - - } m_vfp_regs; - - std::map<lldb::addr_t, uint32_t> m_memory; // Eventually will want to change uint32_t to a data buffer heap type. - - DISALLOW_COPY_AND_ASSIGN (EmulationStateARM); + uint32_t m_gpr[17]; + struct _sd_regs { + uint32_t s_regs[32]; // sregs 0 - 31 & dregs 0 - 15 + + uint64_t d_regs[16]; // dregs 16-31 + + } m_vfp_regs; + + std::map<lldb::addr_t, uint32_t> m_memory; // Eventually will want to change + // uint32_t to a data buffer heap + // type. + + DISALLOW_COPY_AND_ASSIGN(EmulationStateARM); }; -#endif // lldb_EmulationStateARM_h_ +#endif // lldb_EmulationStateARM_h_ |