Go to the documentation of this file.
40 #include "debug/Fault.hh"
120 panic(
"Unknown privilege mode %d.", prv);
126 uint64_t _cause =
_code;
128 _cause |= (1
L << 63);
166 panic(
"Unknown instruction 0x%08x at pc 0x%016llx", inst->
machInst,
173 panic(
"Illegal instruction 0x%08x at pc 0x%016llx: %s", inst->
machInst,
181 panic(
"Unimplemented instruction %s at pc 0x%016llx",
instName,
188 panic(
"Illegal floating-point rounding mode 0x%x at pc 0x%016llx.",
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr) override
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
const std::string instName
virtual void invokeSE(ThreadContext *tc, const StaticInstPtr &inst)
const TheISA::ExtMachInst machInst
The binary machine instruction.
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
FaultName name() const override
Workload * workload
OS kernel.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
std::shared_ptr< FaultBase > Fault
void schedRelBreak(Tick delta)
Cause the simulator to execute a breakpoint relative to the current tick.
constexpr T mbits(T val, unsigned first, unsigned last)
Mask off the given bits in place like bits() but without shifting.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual TheISA::PCState pcState() const =0
virtual void syscall(ThreadContext *tc)
void invoke(ThreadContext *tc, const StaticInstPtr &inst) override
virtual RegVal trap_value() const
virtual RegVal readMiscReg(RegIndex misc_reg)=0
virtual void setMiscReg(RegIndex misc_reg, RegVal val)=0
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 advancePC(PCState &pc, const StaticInstPtr &inst)
virtual BaseCPU * getCpuPtr()=0
virtual Addr instAddr() const =0
virtual System * getSystemPtr()=0
void invokeSE(ThreadContext *tc, const StaticInstPtr &inst) override
#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