LLDB mainline
|
#include <EmulateInstructionMIPS64.h>
Classes | |
struct | MipsOpcode |
Public Member Functions | |
EmulateInstructionMIPS64 (const lldb_private::ArchSpec &arch) | |
llvm::StringRef | GetPluginName () override |
bool | SetTargetTriple (const lldb_private::ArchSpec &arch) override |
bool | SupportsEmulatingInstructionsOfType (lldb_private::InstructionType inst_type) override |
bool | ReadInstruction () override |
bool | EvaluateInstruction (uint32_t evaluate_options) override |
bool | TestEmulation (lldb_private::Stream &out_stream, lldb_private::ArchSpec &arch, lldb_private::OptionValueDictionary *test_data) override |
std::optional< lldb_private::RegisterInfo > | GetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num) override |
bool | CreateFunctionEntryUnwind (lldb_private::UnwindPlan &unwind_plan) override |
Public Member Functions inherited from lldb_private::EmulateInstruction | |
EmulateInstruction (const ArchSpec &arch) | |
~EmulateInstruction () override=default | |
virtual bool | SupportsEmulatingInstructionsOfType (InstructionType inst_type)=0 |
virtual bool | SetTargetTriple (const ArchSpec &arch)=0 |
virtual bool | ReadInstruction ()=0 |
virtual std::optional< uint32_t > | GetLastInstrSize () |
virtual bool | EvaluateInstruction (uint32_t evaluate_options)=0 |
virtual InstructionCondition | GetInstructionCondition () |
virtual bool | TestEmulation (Stream &out_stream, ArchSpec &arch, OptionValueDictionary *test_data)=0 |
virtual std::optional< RegisterInfo > | GetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num)=0 |
virtual bool | SetInstruction (const Opcode &insn_opcode, const Address &inst_addr, Target *target) |
virtual bool | CreateFunctionEntryUnwind (UnwindPlan &unwind_plan) |
std::optional< RegisterValue > | ReadRegister (const RegisterInfo ®_info) |
uint64_t | ReadRegisterUnsigned (const RegisterInfo ®_info, uint64_t fail_value, bool *success_ptr) |
bool | WriteRegister (const Context &context, const RegisterInfo &ref_info, const RegisterValue ®_value) |
bool | WriteRegisterUnsigned (const Context &context, const RegisterInfo ®_info, uint64_t reg_value) |
bool | ReadRegister (lldb::RegisterKind reg_kind, uint32_t reg_num, RegisterValue ®_value) |
bool | WriteRegister (const Context &context, lldb::RegisterKind reg_kind, uint32_t reg_num, const RegisterValue ®_value) |
uint64_t | ReadRegisterUnsigned (lldb::RegisterKind reg_kind, uint32_t reg_num, uint64_t fail_value, bool *success_ptr) |
bool | WriteRegisterUnsigned (const Context &context, lldb::RegisterKind reg_kind, uint32_t reg_num, uint64_t reg_value) |
size_t | ReadMemory (const Context &context, lldb::addr_t addr, void *dst, size_t dst_len) |
uint64_t | ReadMemoryUnsigned (const Context &context, lldb::addr_t addr, size_t byte_size, uint64_t fail_value, bool *success_ptr) |
bool | WriteMemory (const Context &context, lldb::addr_t addr, const void *src, size_t src_len) |
bool | WriteMemoryUnsigned (const Context &context, lldb::addr_t addr, uint64_t uval, size_t uval_byte_size) |
uint32_t | GetAddressByteSize () const |
lldb::ByteOrder | GetByteOrder () const |
const Opcode & | GetOpcode () const |
lldb::addr_t | GetAddress () const |
const ArchSpec & | GetArchitecture () const |
void | SetBaton (void *baton) |
void | SetCallbacks (ReadMemoryCallback read_mem_callback, WriteMemoryCallback write_mem_callback, ReadRegisterCallback read_reg_callback, WriteRegisterCallback write_reg_callback) |
void | SetReadMemCallback (ReadMemoryCallback read_mem_callback) |
void | SetWriteMemCallback (WriteMemoryCallback write_mem_callback) |
void | SetReadRegCallback (ReadRegisterCallback read_reg_callback) |
void | SetWriteRegCallback (WriteRegisterCallback write_reg_callback) |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
static void | Initialize () |
static void | Terminate () |
static llvm::StringRef | GetPluginNameStatic () |
static llvm::StringRef | GetPluginDescriptionStatic () |
static lldb_private::EmulateInstruction * | CreateInstance (const lldb_private::ArchSpec &arch, lldb_private::InstructionType inst_type) |
static bool | SupportsEmulatingInstructionsOfTypeStatic (lldb_private::InstructionType inst_type) |
Static Public Member Functions inherited from lldb_private::EmulateInstruction | |
static EmulateInstruction * | FindPlugin (const ArchSpec &arch, InstructionType supported_inst_type, const char *plugin_name) |
static const char * | TranslateRegister (lldb::RegisterKind reg_kind, uint32_t reg_num, std::string ®_name) |
static size_t | ReadMemoryFrame (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, void *dst, size_t length) |
static size_t | WriteMemoryFrame (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, const void *dst, size_t length) |
static bool | ReadRegisterFrame (EmulateInstruction *instruction, void *baton, const RegisterInfo *reg_info, RegisterValue ®_value) |
static bool | WriteRegisterFrame (EmulateInstruction *instruction, void *baton, const Context &context, const RegisterInfo *reg_info, const RegisterValue ®_value) |
static size_t | ReadMemoryDefault (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, void *dst, size_t length) |
static size_t | WriteMemoryDefault (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, const void *dst, size_t length) |
static bool | ReadRegisterDefault (EmulateInstruction *instruction, void *baton, const RegisterInfo *reg_info, RegisterValue ®_value) |
static bool | WriteRegisterDefault (EmulateInstruction *instruction, void *baton, const Context &context, const RegisterInfo *reg_info, const RegisterValue ®_value) |
static bool | GetBestRegisterKindAndNumber (const RegisterInfo *reg_info, lldb::RegisterKind ®_kind, uint32_t ®_num) |
static uint32_t | GetInternalRegisterNumber (RegisterContext *reg_ctx, const RegisterInfo ®_info) |
Protected Member Functions | |
bool | Emulate_DADDiu (llvm::MCInst &insn) |
bool | Emulate_DSUBU_DADDU (llvm::MCInst &insn) |
bool | Emulate_LUI (llvm::MCInst &insn) |
bool | Emulate_SD (llvm::MCInst &insn) |
bool | Emulate_LD (llvm::MCInst &insn) |
bool | Emulate_LDST_Imm (llvm::MCInst &insn) |
bool | Emulate_LDST_Reg (llvm::MCInst &insn) |
bool | Emulate_BXX_3ops (llvm::MCInst &insn) |
bool | Emulate_BXX_3ops_C (llvm::MCInst &insn) |
bool | Emulate_BXX_2ops (llvm::MCInst &insn) |
bool | Emulate_BXX_2ops_C (llvm::MCInst &insn) |
bool | Emulate_Bcond_Link_C (llvm::MCInst &insn) |
bool | Emulate_Bcond_Link (llvm::MCInst &insn) |
bool | Emulate_FP_branch (llvm::MCInst &insn) |
bool | Emulate_3D_branch (llvm::MCInst &insn) |
bool | Emulate_BAL (llvm::MCInst &insn) |
bool | Emulate_BALC (llvm::MCInst &insn) |
bool | Emulate_BC (llvm::MCInst &insn) |
bool | Emulate_J (llvm::MCInst &insn) |
bool | Emulate_JAL (llvm::MCInst &insn) |
bool | Emulate_JALR (llvm::MCInst &insn) |
bool | Emulate_JIALC (llvm::MCInst &insn) |
bool | Emulate_JIC (llvm::MCInst &insn) |
bool | Emulate_JR (llvm::MCInst &insn) |
bool | Emulate_BC1EQZ (llvm::MCInst &insn) |
bool | Emulate_BC1NEZ (llvm::MCInst &insn) |
bool | Emulate_BNZB (llvm::MCInst &insn) |
bool | Emulate_BNZH (llvm::MCInst &insn) |
bool | Emulate_BNZW (llvm::MCInst &insn) |
bool | Emulate_BNZD (llvm::MCInst &insn) |
bool | Emulate_BZB (llvm::MCInst &insn) |
bool | Emulate_BZH (llvm::MCInst &insn) |
bool | Emulate_BZW (llvm::MCInst &insn) |
bool | Emulate_BZD (llvm::MCInst &insn) |
bool | Emulate_MSA_Branch_DF (llvm::MCInst &insn, int element_byte_size, bool bnz) |
bool | Emulate_BNZV (llvm::MCInst &insn) |
bool | Emulate_BZV (llvm::MCInst &insn) |
bool | Emulate_MSA_Branch_V (llvm::MCInst &insn, bool bnz) |
bool | nonvolatile_reg_p (uint64_t regnum) |
const char * | GetRegisterName (unsigned reg_num, bool alternate_name) |
Static Protected Member Functions | |
static MipsOpcode * | GetOpcodeForInstruction (llvm::StringRef op_name) |
Private Attributes | |
std::unique_ptr< llvm::MCDisassembler > | m_disasm |
std::unique_ptr< llvm::MCSubtargetInfo > | m_subtype_info |
std::unique_ptr< llvm::MCRegisterInfo > | m_reg_info |
std::unique_ptr< llvm::MCAsmInfo > | m_asm_info |
std::unique_ptr< llvm::MCContext > | m_context |
std::unique_ptr< llvm::MCInstrInfo > | m_insn_info |
Definition at line 27 of file EmulateInstructionMIPS64.h.
EmulateInstructionMIPS64::EmulateInstructionMIPS64 | ( | const lldb_private::ArchSpec & | arch | ) |
Definition at line 63 of file EmulateInstructionMIPS64.cpp.
References lldb_private::ArchSpec::eCore_mips32, lldb_private::ArchSpec::eCore_mips32el, lldb_private::ArchSpec::eCore_mips32r2, lldb_private::ArchSpec::eCore_mips32r2el, lldb_private::ArchSpec::eCore_mips32r3, lldb_private::ArchSpec::eCore_mips32r3el, lldb_private::ArchSpec::eCore_mips32r5, lldb_private::ArchSpec::eCore_mips32r5el, lldb_private::ArchSpec::eCore_mips32r6, lldb_private::ArchSpec::eCore_mips32r6el, lldb_private::ArchSpec::eCore_mips64, lldb_private::ArchSpec::eCore_mips64el, lldb_private::ArchSpec::eCore_mips64r2, lldb_private::ArchSpec::eCore_mips64r2el, lldb_private::ArchSpec::eCore_mips64r3, lldb_private::ArchSpec::eCore_mips64r3el, lldb_private::ArchSpec::eCore_mips64r5, lldb_private::ArchSpec::eCore_mips64r5el, lldb_private::ArchSpec::eCore_mips64r6, lldb_private::ArchSpec::eCore_mips64r6el, lldb_private::ArchSpec::eMIPSAse_dsp, lldb_private::ArchSpec::eMIPSAse_dspr2, lldb_private::ArchSpec::eMIPSAse_micromips, lldb_private::ArchSpec::eMIPSAse_mips16, lldb_private::ArchSpec::eMIPSAse_msa, lldb_private::ArchSpec::GetCore(), lldb_private::ArchSpec::GetFlags(), lldb_private::ArchSpec::GetTriple(), m_asm_info, m_context, m_disasm, m_insn_info, m_reg_info, and m_subtype_info.
|
overridevirtual |
Reimplemented from lldb_private::EmulateInstruction.
Definition at line 1015 of file EmulateInstructionMIPS64.cpp.
References lldb_private::UnwindPlan::AppendRow(), lldb_private::UnwindPlan::Clear(), dwarf_pc_mips64, dwarf_ra_mips64, dwarf_sp_mips64, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb::eRegisterKindDWARF, lldb_private::UnwindPlan::SetRegisterKind(), lldb_private::UnwindPlan::SetReturnAddressRegister(), lldb_private::UnwindPlan::SetSourcedFromCompiler(), lldb_private::UnwindPlan::SetSourceName(), lldb_private::UnwindPlan::SetUnwindPlanForSignalTrap(), and lldb_private::UnwindPlan::SetUnwindPlanValidAtAllInstructions().
|
static |
Definition at line 189 of file EmulateInstructionMIPS64.cpp.
References lldb_private::ArchSpec::GetTriple(), and SupportsEmulatingInstructionsOfTypeStatic().
Referenced by Initialize(), and Terminate().
|
protected |
Definition at line 2109 of file EmulateInstructionMIPS64.cpp.
References dwarf_fcsr_mips64, dwarf_pc_mips64, lldb::eRegisterKindDWARF, m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1427 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_ra_mips64, lldb::eRegisterKindDWARF, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1458 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_ra_mips64, lldb::eRegisterKindDWARF, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1617 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, lldb::eRegisterKindDWARF, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2030 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2066 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1381 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_ra_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1493 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_ra_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2162 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2174 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2166 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2254 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_V().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2170 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1561 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextRelativeBranchImmediate, lldb::eRegisterKindDWARF, m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetImmediate(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1735 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextRelativeBranchImmediate, lldb::eRegisterKindDWARF, m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetImmediate(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1329 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextRelativeBranchImmediate, lldb::eRegisterKindDWARF, m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetImmediate(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1650 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextRelativeBranchImmediate, lldb::eRegisterKindDWARF, IsAdd64bitOverflow(), m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetImmediate(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2178 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2190 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2182 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2258 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_V().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2186 of file EmulateInstructionMIPS64.cpp.
References Emulate_MSA_Branch_DF().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1063 of file EmulateInstructionMIPS64.cpp.
References dwarf_sp_mips64, dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextAdjustStackPointer, lldb_private::EmulateInstruction::eContextImmediate, lldb::eRegisterKindDWARF, GetRegisterInfo(), m_reg_info, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetImmediateSigned(), lldb_private::EmulateInstruction::Context::SetRegisterPlusOffset(), lldb_private::SignedBits(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1243 of file EmulateInstructionMIPS64.cpp.
References dwarf_sp_mips64, dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextAdjustStackPointer, lldb_private::EmulateInstruction::eContextImmediate, lldb::eRegisterKindDWARF, GetRegisterInfo(), m_insn_info, m_reg_info, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetImmediateSigned(), lldb_private::EmulateInstruction::Context::SetRegisterPlusOffset(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1982 of file EmulateInstructionMIPS64.cpp.
References dwarf_fcsr_mips64, dwarf_pc_mips64, lldb::eRegisterKindDWARF, m_insn_info, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1801 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, lldb::eRegisterKindDWARF, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1825 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_ra_mips64, lldb::eRegisterKindDWARF, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1856 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1891 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_ra_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1929 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_reg_info, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1955 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_zero_mips64, lldb::eRegisterKindDWARF, m_reg_info, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1183 of file EmulateInstructionMIPS64.cpp.
References dwarf_bad_mips64, dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextInvalid, lldb_private::EmulateInstruction::eContextRegisterLoad, lldb::eRegisterKindDWARF, GetRegisterInfo(), m_reg_info, nonvolatile_reg_p(), lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::type, lldb_private::EmulateInstruction::WriteRegister(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2297 of file EmulateInstructionMIPS64.cpp.
References dwarf_bad_mips, dwarf_zero_mips, lldb_private::EmulateInstruction::eContextInvalid, lldb::eRegisterKindDWARF, GetRegisterInfo(), m_reg_info, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2328 of file EmulateInstructionMIPS64.cpp.
References dwarf_bad_mips, dwarf_zero_mips, lldb_private::EmulateInstruction::eContextInvalid, lldb::eRegisterKindDWARF, GetRegisterInfo(), m_reg_info, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 1226 of file EmulateInstructionMIPS64.cpp.
References dwarf_zero_mips64, lldb_private::EmulateInstruction::eContextImmediate, lldb::eRegisterKindDWARF, m_reg_info, lldb_private::EmulateInstruction::Context::SetImmediateSigned(), lldb_private::SignedBits(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
protected |
Definition at line 2194 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_w0_mips64, lldb_private::EmulateInstruction::eContextRelativeBranchImmediate, lldb::eRegisterKindDWARF, lldb_private::RegisterValue::GetBytes(), m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegister(), lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by Emulate_BNZB(), Emulate_BNZD(), Emulate_BNZH(), Emulate_BNZW(), Emulate_BZB(), Emulate_BZD(), Emulate_BZH(), and Emulate_BZW().
|
protected |
Definition at line 2262 of file EmulateInstructionMIPS64.cpp.
References dwarf_pc_mips64, dwarf_w0_mips64, lldb_private::EmulateInstruction::eContextRelativeBranchImmediate, lldb::eRegisterKindDWARF, lldb_private::RegisterValue::GetAsUInt128(), m_reg_info, pc, lldb_private::EmulateInstruction::ReadRegister(), lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::type, and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by Emulate_BNZV(), and Emulate_BZV().
|
protected |
Definition at line 1127 of file EmulateInstructionMIPS64.cpp.
References dwarf_bad_mips64, dwarf_zero_mips64, lldb::eByteOrderLittle, lldb_private::EmulateInstruction::eContextInvalid, lldb_private::EmulateInstruction::eContextPushRegisterOnStack, lldb::eRegisterKindDWARF, error(), GetRegisterInfo(), m_reg_info, nonvolatile_reg_p(), lldb_private::EmulateInstruction::ReadRegister(), lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetRegisterToRegisterPlusOffset(), lldb_private::SignedBits(), lldb_private::EmulateInstruction::Context::type, lldb_private::EmulateInstruction::WriteMemory(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
Referenced by GetOpcodeForInstruction().
|
overridevirtual |
Implements lldb_private::EmulateInstruction.
Definition at line 948 of file EmulateInstructionMIPS64.cpp.
References EmulateInstructionMIPS64::MipsOpcode::callback, dwarf_pc_mips64, lldb::eRegisterKindDWARF, lldb_private::DataExtractor::GetByteSize(), lldb_private::Opcode::GetData(), lldb_private::DataExtractor::GetDataStart(), GetOpcodeForInstruction(), lldb_private::EmulateInstruction::m_addr, m_disasm, m_insn_info, lldb_private::EmulateInstruction::m_opcode, lldb_private::EmulateInstruction::ReadRegisterUnsigned(), and lldb_private::EmulateInstruction::WriteRegisterUnsigned().
|
staticprotected |
Definition at line 660 of file EmulateInstructionMIPS64.cpp.
References Emulate_3D_branch(), Emulate_BAL(), Emulate_BALC(), Emulate_BC(), Emulate_BC1EQZ(), Emulate_BC1NEZ(), Emulate_Bcond_Link(), Emulate_Bcond_Link_C(), Emulate_BNZB(), Emulate_BNZD(), Emulate_BNZH(), Emulate_BNZV(), Emulate_BNZW(), Emulate_BXX_2ops(), Emulate_BXX_2ops_C(), Emulate_BXX_3ops(), Emulate_BXX_3ops_C(), Emulate_BZB(), Emulate_BZD(), Emulate_BZH(), Emulate_BZV(), Emulate_BZW(), Emulate_DADDiu(), Emulate_DSUBU_DADDU(), Emulate_FP_branch(), Emulate_J(), Emulate_JAL(), Emulate_JALR(), Emulate_JIALC(), Emulate_JIC(), Emulate_JR(), Emulate_LD(), Emulate_LDST_Imm(), Emulate_LDST_Reg(), Emulate_LUI(), and Emulate_SD().
Referenced by EvaluateInstruction().
|
static |
Definition at line 184 of file EmulateInstructionMIPS64.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 57 of file EmulateInstructionMIPS64.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 35 of file EmulateInstructionMIPS64.h.
Referenced by GetPluginName(), and Initialize().
|
overridevirtual |
Implements lldb_private::EmulateInstruction.
Definition at line 577 of file EmulateInstructionMIPS64.cpp.
References lldb_private::RegisterInfo::alt_name, lldb_private::RegisterInfo::byte_size, dwarf_config5_mips64, dwarf_f31_mips64, dwarf_fcsr_mips64, dwarf_fir_mips64, dwarf_mcsr_mips64, dwarf_mir_mips64, dwarf_pc_mips64, dwarf_r30_mips64, dwarf_ra_mips64, dwarf_sp_mips64, dwarf_sr_mips64, dwarf_w0_mips64, dwarf_w31_mips64, dwarf_zero_mips64, lldb::eEncodingUint, lldb::eEncodingVector, lldb::eFormatHex, lldb::eFormatVectorOfUInt8, lldb_private::RegisterInfo::encoding, lldb::eRegisterKindDWARF, lldb::eRegisterKindGeneric, lldb_private::RegisterInfo::format, GetRegisterName(), lldb_private::RegisterInfo::kinds, LLDB_INVALID_REGNUM, LLDB_REGNUM_GENERIC_FLAGS, LLDB_REGNUM_GENERIC_FP, LLDB_REGNUM_GENERIC_PC, LLDB_REGNUM_GENERIC_RA, LLDB_REGNUM_GENERIC_SP, and lldb_private::RegisterInfo::name.
Referenced by Emulate_DADDiu(), Emulate_DSUBU_DADDU(), Emulate_LD(), Emulate_LDST_Imm(), Emulate_LDST_Reg(), and Emulate_SD().
|
protected |
Definition at line 207 of file EmulateInstructionMIPS64.cpp.
References dwarf_bad_mips64, dwarf_cause_mips64, dwarf_config5_mips64, dwarf_f0_mips64, dwarf_f10_mips64, dwarf_f11_mips64, dwarf_f12_mips64, dwarf_f13_mips64, dwarf_f14_mips64, dwarf_f15_mips64, dwarf_f16_mips64, dwarf_f17_mips64, dwarf_f18_mips64, dwarf_f19_mips64, dwarf_f1_mips64, dwarf_f20_mips64, dwarf_f21_mips64, dwarf_f22_mips64, dwarf_f23_mips64, dwarf_f24_mips64, dwarf_f25_mips64, dwarf_f26_mips64, dwarf_f27_mips64, dwarf_f28_mips64, dwarf_f29_mips64, dwarf_f2_mips64, dwarf_f30_mips64, dwarf_f31_mips64, dwarf_f3_mips64, dwarf_f4_mips64, dwarf_f5_mips64, dwarf_f6_mips64, dwarf_f7_mips64, dwarf_f8_mips64, dwarf_f9_mips64, dwarf_fcsr_mips64, dwarf_fir_mips64, dwarf_gp_mips64, dwarf_hi_mips64, dwarf_lo_mips64, dwarf_mcsr_mips64, dwarf_mir_mips64, dwarf_pc_mips64, dwarf_r10_mips64, dwarf_r11_mips64, dwarf_r12_mips64, dwarf_r13_mips64, dwarf_r14_mips64, dwarf_r15_mips64, dwarf_r16_mips64, dwarf_r17_mips64, dwarf_r18_mips64, dwarf_r19_mips64, dwarf_r1_mips64, dwarf_r20_mips64, dwarf_r21_mips64, dwarf_r22_mips64, dwarf_r23_mips64, dwarf_r24_mips64, dwarf_r25_mips64, dwarf_r26_mips64, dwarf_r27_mips64, dwarf_r2_mips64, dwarf_r30_mips64, dwarf_r3_mips64, dwarf_r4_mips64, dwarf_r5_mips64, dwarf_r6_mips64, dwarf_r7_mips64, dwarf_r8_mips64, dwarf_r9_mips64, dwarf_ra_mips64, dwarf_sp_mips64, dwarf_sr_mips64, dwarf_w0_mips64, dwarf_w10_mips64, dwarf_w11_mips64, dwarf_w12_mips64, dwarf_w13_mips64, dwarf_w14_mips64, dwarf_w15_mips64, dwarf_w16_mips64, dwarf_w17_mips64, dwarf_w18_mips64, dwarf_w19_mips64, dwarf_w1_mips64, dwarf_w20_mips64, dwarf_w21_mips64, dwarf_w22_mips64, dwarf_w23_mips64, dwarf_w24_mips64, dwarf_w25_mips64, dwarf_w26_mips64, dwarf_w27_mips64, dwarf_w28_mips64, dwarf_w29_mips64, dwarf_w2_mips64, dwarf_w30_mips64, dwarf_w31_mips64, dwarf_w3_mips64, dwarf_w4_mips64, dwarf_w5_mips64, dwarf_w6_mips64, dwarf_w7_mips64, dwarf_w8_mips64, dwarf_w9_mips64, and dwarf_zero_mips64.
Referenced by GetRegisterInfo().
|
static |
Definition at line 175 of file EmulateInstructionMIPS64.cpp.
References CreateInstance(), GetPluginDescriptionStatic(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
|
protected |
Definition at line 1042 of file EmulateInstructionMIPS64.cpp.
References dwarf_gp_mips64, dwarf_r16_mips64, dwarf_r17_mips64, dwarf_r18_mips64, dwarf_r19_mips64, dwarf_r20_mips64, dwarf_r21_mips64, dwarf_r22_mips64, dwarf_r23_mips64, dwarf_r30_mips64, dwarf_ra_mips64, and dwarf_sp_mips64.
Referenced by Emulate_LD(), and Emulate_SD().
|
overridevirtual |
Implements lldb_private::EmulateInstruction.
Definition at line 931 of file EmulateInstructionMIPS64.cpp.
References lldb_private::EmulateInstruction::eContextReadOpcode, lldb::eRegisterKindGeneric, lldb_private::EmulateInstruction::GetByteOrder(), LLDB_INVALID_ADDRESS, LLDB_REGNUM_GENERIC_PC, lldb_private::EmulateInstruction::m_addr, lldb_private::EmulateInstruction::m_opcode, lldb_private::EmulateInstruction::ReadMemoryUnsigned(), lldb_private::EmulateInstruction::ReadRegisterUnsigned(), lldb_private::EmulateInstruction::Context::SetNoArgs(), lldb_private::Opcode::SetOpcode32(), and lldb_private::EmulateInstruction::Context::type.
|
overridevirtual |
Implements lldb_private::EmulateInstruction.
Definition at line 202 of file EmulateInstructionMIPS64.cpp.
References lldb_private::ArchSpec::GetTriple().
|
inlineoverridevirtual |
Implements lldb_private::EmulateInstruction.
Definition at line 61 of file EmulateInstructionMIPS64.h.
References SupportsEmulatingInstructionsOfTypeStatic().
|
inlinestatic |
Definition at line 43 of file EmulateInstructionMIPS64.h.
References lldb_private::eInstructionTypeAll, lldb_private::eInstructionTypeAny, lldb_private::eInstructionTypePCModifying, and lldb_private::eInstructionTypePrologueEpilogue.
Referenced by CreateInstance(), and SupportsEmulatingInstructionsOfType().
|
static |
Definition at line 180 of file EmulateInstructionMIPS64.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
|
inlineoverridevirtual |
Implements lldb_private::EmulateInstruction.
Definition at line 70 of file EmulateInstructionMIPS64.h.
|
private |
Definition at line 176 of file EmulateInstructionMIPS64.h.
Referenced by EmulateInstructionMIPS64().
|
private |
Definition at line 177 of file EmulateInstructionMIPS64.h.
Referenced by EmulateInstructionMIPS64().
|
private |
Definition at line 173 of file EmulateInstructionMIPS64.h.
Referenced by EmulateInstructionMIPS64(), and EvaluateInstruction().
|
private |
Definition at line 178 of file EmulateInstructionMIPS64.h.
Referenced by Emulate_3D_branch(), Emulate_Bcond_Link(), Emulate_Bcond_Link_C(), Emulate_BXX_2ops(), Emulate_BXX_2ops_C(), Emulate_BXX_3ops(), Emulate_BXX_3ops_C(), Emulate_DSUBU_DADDU(), Emulate_FP_branch(), EmulateInstructionMIPS64(), and EvaluateInstruction().
|
private |
Definition at line 175 of file EmulateInstructionMIPS64.h.
Referenced by Emulate_3D_branch(), Emulate_BC1EQZ(), Emulate_BC1NEZ(), Emulate_Bcond_Link(), Emulate_Bcond_Link_C(), Emulate_BXX_2ops(), Emulate_BXX_2ops_C(), Emulate_BXX_3ops(), Emulate_BXX_3ops_C(), Emulate_DADDiu(), Emulate_DSUBU_DADDU(), Emulate_FP_branch(), Emulate_JALR(), Emulate_JIALC(), Emulate_JIC(), Emulate_JR(), Emulate_LD(), Emulate_LDST_Imm(), Emulate_LDST_Reg(), Emulate_LUI(), Emulate_MSA_Branch_DF(), Emulate_MSA_Branch_V(), Emulate_SD(), and EmulateInstructionMIPS64().
|
private |
Definition at line 174 of file EmulateInstructionMIPS64.h.
Referenced by EmulateInstructionMIPS64().