Go to the documentation of this file.
42 NopStaticInst() :
StaticInst(
"gem5 nop", nopMachInst, No_OpClass)
98 panic(
"StaticInst::fetchMicroop() called on instruction "
99 "that is not microcoded.");
105 panic(
"StaticInst::branchTarget() called on instruction "
106 "that is not a PC-relative branch.");
112 panic(
"StaticInst::branchTarget() called on instruction "
113 "that is not an indirect branch.");
127 const std::string &separator)
const
129 bool printed_a_flag =
false;
131 for (
unsigned int flag = IsNop; flag < Num_Flags; flag++) {
136 outs << FlagsStrings[flag];
137 printed_a_flag =
true;
std::bitset< Num_Flags > flags
Flag values for this instruction.
bool isDirectCtrl() const
virtual void advancePC(TheISA::PCState &pcState) const =0
Base, ISA-independent static instruction class.
bool hasBranchTarget(const TheISA::PCState &pc, ThreadContext *tc, TheISA::PCState &tgt) const
Return true if the instruction is a control transfer, and if so, return the target address as well.
virtual const std::string & disassemble(Addr pc, const Loader::SymbolTable *symtab=nullptr) const
Return string representation of disassembled instruction.
std::string * cachedDisassembly
String representation of disassembly (lazily evaluated via disassemble()).
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual TheISA::PCState branchTarget(const TheISA::PCState &pc) const
Return the target address for a PC-relative branch.
void printFlags(std::ostream &outs, const std::string &separator) const
Print a separator separated list of this instruction's set flag names on the given stream.
std::shared_ptr< FaultBase > Fault
The ExecContext is an abstract base class the provides the interface used by the ISA to manipulate th...
const char * mnemonic
Base mnemonic (e.g., "add").
bool isIndirectCtrl() const
constexpr decltype(nullptr) NoFault
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static StaticInstPtr nullStaticInstPtr
Pointer to a statically allocated "null" instruction object.
virtual StaticInstPtr fetchMicroop(MicroPC upc) const
Return the microop that goes with a particular micropc.
GenericISA::DelaySlotPCState< MachInst > PCState
virtual Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const =0
static StaticInstPtr nopStaticInstPtr
Pointer to a statically allocated generic "nop" instruction object.
virtual std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const =0
Internal function to generate disassembly string.
#define panic(...)
This implements a cprintf based panic() function.
Generated on Tue Mar 23 2021 19:41:19 for gem5 by doxygen 1.8.17