gem5
v20.1.0.0
|
#include <faults.hh>
Protected Member Functions | |
RiscvFault (FaultName n, bool i, ExceptionCode c) | |
FaultName | name () const override |
bool | isInterrupt () const |
ExceptionCode | exception () const |
virtual RegVal | trap_value () const |
virtual void | invokeSE (ThreadContext *tc, const StaticInstPtr &inst) |
void | invoke (ThreadContext *tc, const StaticInstPtr &inst) override |
Protected Attributes | |
const FaultName | _name |
const bool | _interrupt |
ExceptionCode | _code |
Additional Inherited Members | |
Public Member Functions inherited from FaultBase | |
virtual | ~FaultBase () |
|
inlineprotected |
|
inlineprotected |
|
overrideprotectedvirtual |
Reimplemented from FaultBase.
Definition at line 54 of file faults.cc.
References _code, addr, RiscvISA::advancePC(), bits(), DPRINTFS, FullSystem, ThreadContext::getCpuPtr(), ThreadContext::instAddr(), invokeSE(), isInterrupt(), mbits(), RiscvISA::MISCREG_MCAUSE, RiscvISA::MISCREG_MEDELEG, RiscvISA::MISCREG_MEPC, RiscvISA::MISCREG_MIDELEG, RiscvISA::MISCREG_MTVAL, RiscvISA::MISCREG_MTVEC, RiscvISA::MISCREG_PRV, RiscvISA::MISCREG_SCAUSE, RiscvISA::MISCREG_SEDELEG, RiscvISA::MISCREG_SEPC, RiscvISA::MISCREG_SIDELEG, RiscvISA::MISCREG_STATUS, RiscvISA::MISCREG_STVAL, RiscvISA::MISCREG_STVEC, RiscvISA::MISCREG_UCAUSE, RiscvISA::MISCREG_UEPC, RiscvISA::MISCREG_UTVAL, RiscvISA::MISCREG_UTVEC, name(), panic, ThreadContext::pcState(), RiscvISA::PRV_M, RiscvISA::PRV_S, RiscvISA::PRV_U, ThreadContext::readMiscReg(), GenericISA::UPCState< MachInst >::set(), ThreadContext::setMiscReg(), ArmISA::status, and trap_value().
|
protectedvirtual |
Reimplemented in RiscvISA::SyscallFault, RiscvISA::BreakpointFault, RiscvISA::IllegalFrmFault, RiscvISA::UnimplementedFault, RiscvISA::IllegalInstFault, and RiscvISA::UnknownInstFault.
Definition at line 48 of file faults.cc.
References name(), panic, and ThreadContext::pcState().
Referenced by invoke().
|
inlineprotected |
|
inlineoverrideprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in RiscvISA::BreakpointFault, RiscvISA::AddressFault, and RiscvISA::InstFault.
Definition at line 106 of file faults.hh.
Referenced by invoke().
|
protected |
Definition at line 97 of file faults.hh.
Referenced by exception(), invoke(), and RiscvISA::SyscallFault::SyscallFault().
|
protected |
Definition at line 96 of file faults.hh.
Referenced by isInterrupt().
|
protected |