38 #ifndef __ARCH_ARM_INSTS_MISC64_HH__ 39 #define __ARCH_ARM_INSTS_MISC64_HH__ 49 OpClass __opClass, uint64_t _imm) :
67 uint64_t _imm1, uint64_t _imm2) :
69 dest(_dest), op1(_op1), imm1(_imm1), imm2(_imm2)
88 dest(_dest), op1(_op1), op2(_op2), imm(_imm)
124 OpClass __opClass,
bool misc_read) :
134 uint32_t &immediate)
const;
138 uint32_t &immediate)
const;
142 uint32_t &immediate)
const;
156 dest(_dest), imm(_imm)
164 RegVal miscRegImm()
const;
181 dest(_dest), op1(_op1), imm(_imm)
199 dest(_dest), op1(_op1), imm(_imm)
217 uint32_t _imm,
const std::string full_mnem,
219 MiscRegOp64(mnem, _machInst, No_OpClass, misc_read),
220 fullMnemonic(full_mnem), miscReg(misc_reg), imm(_imm),
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
ImmOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, uint64_t _imm)
virtual Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const =0
MiscRegOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, bool misc_read)
This class is implementing the Base class for a generic AArch64 instruction which is making use of sy...
RegMiscRegImmOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, MiscRegIndex _op1, uint32_t _imm)
ThreadContext is the external interface to all thread state for anything outside of the CPU...
The ExecContext is an abstract base class the provides the interface used by the ISA to manipulate th...
MiscRegImmOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, MiscRegIndex _dest, uint32_t _imm)
const MiscRegIndex miscReg
RegRegRegImmOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2, uint64_t _imm)
MiscRegImplDefined64(const char *mnem, ExtMachInst _machInst, MiscRegIndex misc_reg, bool misc_read, uint32_t _imm, const std::string full_mnem, bool _warning)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
RegRegImmImmOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _op1, uint64_t _imm1, uint64_t _imm2)
UnknownOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
MiscRegRegImmOp64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, MiscRegIndex _dest, IntRegIndex _op1, uint32_t _imm)
TheISA::ExtMachInst ExtMachInst
Binary extended machine instruction type.
std::shared_ptr< FaultBase > Fault
const std::string fullMnemonic