33 #ifndef __ARCH_RISCV_STATIC_INST_HH__ 34 #define __ARCH_RISCV_STATIC_INST_HH__ 76 flags[IsMacroop] =
true;
90 panic(
"Tried to execute a macroop directly!\n");
97 panic(
"Tried to execute a macroop directly!\n");
103 panic(
"Tried to execute a macroop directly!\n");
117 flags[IsMicroop] =
true;
125 #endif // __ARCH_RISCV_STATIC_INST_HH__ #define panic(...)
This implements a cprintf based panic() function.
StaticInstPtr fetchMicroop(MicroPC upc) const override
Return the microop that goes with a particular micropc.
Base class for all RISC-V Microops.
Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const override
RiscvMicroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
Fault initiateAcc(ExecContext *xc, Trace::InstRecord *traceData) const override
const ExtMachInst machInst
The binary machine instruction.
std::bitset< Num_Flags > flags
Flag values for this instruction.
The ExecContext is an abstract base class the provides the interface used by the ISA to manipulate th...
Fault completeAcc(PacketPtr pkt, ExecContext *xc, Trace::InstRecord *traceData) const override
Base class for all RISC-V Macroops.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
size_t asBytes(void *buf, size_t size) override
Instruction classes can override this function to return a a representation of themselves as a blob o...
Declaration of the Packet class.
std::vector< StaticInstPtr > microops
Base, ISA-independent static instruction class.
StaticInst(const char *_mnemonic, ExtMachInst _machInst, OpClass __opClass)
Constructor.
TheISA::ExtMachInst ExtMachInst
Binary extended machine instruction type.
Base class for all RISC-V static instructions.
void advancePC(PCState &pc) const override
std::shared_ptr< FaultBase > Fault
RiscvMacroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
size_t simpleAsBytes(void *buf, size_t max_size, const T &t)