Go to the documentation of this file.
40 #include "debug/Fault.hh"
124 panic(
"Unknown privilege mode %d.", prv);
130 uint64_t _cause =
_code;
132 _cause |= (1
L << 63);
171 panic(
"Unknown instruction 0x%08x at pc 0x%016llx", rsi->machInst,
179 panic(
"Illegal instruction 0x%08x at pc 0x%016llx: %s", rsi->machInst,
187 panic(
"Unimplemented instruction %s at pc 0x%016llx",
instName,
194 panic(
"Illegal floating-point rounding mode 0x%x at pc 0x%016llx.",
const std::string instName
virtual RegVal readMiscReg(RegIndex misc_reg)=0
virtual System * getSystemPtr()=0
Base class for all RISC-V static instructions.
void invoke(ThreadContext *tc, const StaticInstPtr &inst) override
Workload * workload
OS kernel.
virtual Addr instAddr() const =0
T * get() const
Directly access the pointer itself without taking a reference.
constexpr T mbits(T val, unsigned first, unsigned last)
Mask off the given bits in place like bits() but without shifting.
void schedRelBreak(Tick delta)
Cause the simulator to execute a breakpoint relative to the current tick.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
std::shared_ptr< FaultBase > Fault
FaultName name() const override
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override
virtual TheISA::PCState pcState() const =0
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
#define DPRINTFS(x, s,...)
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
virtual void setMiscReg(RegIndex misc_reg, RegVal val)=0
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
virtual BaseCPU * getCpuPtr()=0
virtual RegVal trap_value() const
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
virtual void invokeSE(ThreadContext *tc, const StaticInstPtr &inst)
virtual void advancePC(TheISA::PCState &pc_state) const =0
virtual void syscall(ThreadContext *tc)
#define panic(...)
This implements a cprintf based panic() function.
Generated on Tue Sep 7 2021 14:53:40 for gem5 by doxygen 1.8.17