Go to the documentation of this file.
30 #ifndef __ARCH_RISCV_STATIC_INST_HH__
31 #define __ARCH_RISCV_STATIC_INST_HH__
76 std::unique_ptr<PCStateBase>
84 return std::unique_ptr<PCStateBase>{ret_pc_ptr};
106 flags[IsMacroop] =
true;
120 panic(
"Tried to execute a macroop directly!\n");
127 panic(
"Tried to execute a macroop directly!\n");
133 panic(
"Tried to execute a macroop directly!\n");
147 flags[IsMicroop] =
true;
157 #endif // __ARCH_RISCV_STATIC_INST_HH__
Fault completeAcc(PacketPtr pkt, ExecContext *xc, Trace::InstRecord *traceData) const override
std::unique_ptr< PCStateBase > buildRetPC(const PCStateBase &cur_pc, const PCStateBase &call_pc) const override
RiscvMicroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
Base class for all RISC-V static instructions.
StaticInstPtr fetchMicroop(MicroPC upc) const override
Return the microop that goes with a particular micropc.
virtual const PCStateBase & pcState() const =0
size_t simpleAsBytes(void *buf, size_t max_size, const T &t)
Base class for all RISC-V Macroops.
Fault initiateAcc(ExecContext *xc, Trace::InstRecord *traceData) const override
RiscvStaticInst(const char *_mnemonic, ExtMachInst _machInst, OpClass __opClass)
RiscvMacroInst(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
void advancePC(PCStateBase &pcState) const override
Base, ISA-independent static instruction class.
void advancePC(PCStateBase &pc) const override
ThreadContext is the external interface to all thread state for anything outside of the CPU.
std::shared_ptr< FaultBase > Fault
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...
std::bitset< Num_Flags > flags
Flag values for this instruction.
Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const override
The ExecContext is an abstract base class the provides the interface used by the ISA to manipulate th...
Base class for all RISC-V Microops.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void advancePC(ThreadContext *tc) const override
std::vector< StaticInstPtr > microops
virtual PCStateBase * clone() const =0
#define panic(...)
This implements a cprintf based panic() function.
Generated on Wed May 4 2022 12:13:48 for gem5 by doxygen 1.8.17