gem5
|
#include <faults.hh>
Classes | |
struct | FaultVals |
Public Member Functions | |
void | setExceptionState (ThreadContext *, uint8_t) |
virtual FaultVect | offset (ThreadContext *tc) const =0 |
virtual ExcCode | code () const =0 |
virtual FaultVect | base (ThreadContext *tc) const |
FaultVect | vect (ThreadContext *tc) const |
void | invoke (ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr) |
Public Member Functions inherited from FaultBase | |
virtual FaultName | name () const =0 |
|
inlinevirtual |
Definition at line 90 of file faults.hh.
References MipsISA::MISCREG_EBASE, MipsISA::MISCREG_STATUS, ThreadContext::readMiscReg(), and ArmISA::status.
Referenced by vect().
|
pure virtual |
Implemented in MipsISA::TlbModifiedFault, MipsISA::TlbFault< T >, MipsISA::TlbFault< TlbRefillFault >, MipsISA::TlbFault< TlbModifiedFault >, MipsISA::TlbFault< TlbInvalidFault >, MipsISA::AddressErrorFault, MipsISA::MipsFault< T >, MipsISA::MipsFault< IntegerOverflowFault >, MipsISA::MipsFault< SoftResetFault >, MipsISA::MipsFault< TrapFault >, MipsISA::MipsFault< DspStateDisabledFault >, MipsISA::MipsFault< NonMaskableInterrupt >, MipsISA::MipsFault< MachineCheckFault >, MipsISA::MipsFault< AddressErrorFault >, MipsISA::MipsFault< ThreadFault >, MipsISA::MipsFault< CoprocessorUnusableFault >, MipsISA::MipsFault< ResetFault >, MipsISA::MipsFault< TlbRefillFault >, MipsISA::MipsFault< ReservedInstructionFault >, MipsISA::MipsFault< BreakpointFault >, MipsISA::MipsFault< TlbModifiedFault >, MipsISA::MipsFault< InterruptFault >, MipsISA::MipsFault< TlbInvalidFault >, and MipsISA::MipsFault< SystemCallFault >.
Referenced by invoke().
|
virtual |
Reimplemented from FaultBase.
Reimplemented in MipsISA::TlbFault< T >, MipsISA::TlbFault< TlbRefillFault >, MipsISA::TlbFault< TlbModifiedFault >, MipsISA::TlbFault< TlbInvalidFault >, MipsISA::AddressFault< T >, MipsISA::AddressFault< AddressErrorFault >, MipsISA::AddressFault< TlbRefillFault >, MipsISA::AddressFault< TlbModifiedFault >, MipsISA::AddressFault< TlbInvalidFault >, MipsISA::CoprocessorUnusableFault, MipsISA::NonMaskableInterrupt, MipsISA::SoftResetFault, and MipsISA::ResetFault.
Definition at line 135 of file faults.cc.
References code(), DPRINTF, FullSystem, FaultBase::name(), panic, ThreadContext::pcState(), setExceptionState(), and vect().
Referenced by MipsISA::CoprocessorUnusableFault::invoke(), and MipsISA::AddressFault< TlbInvalidFault >::invoke().
|
pure virtual |
Implemented in MipsISA::TlbRefillFault, MipsISA::InterruptFault, MipsISA::MipsFault< T >, MipsISA::MipsFault< IntegerOverflowFault >, MipsISA::MipsFault< SoftResetFault >, MipsISA::MipsFault< TrapFault >, MipsISA::MipsFault< DspStateDisabledFault >, MipsISA::MipsFault< NonMaskableInterrupt >, MipsISA::MipsFault< MachineCheckFault >, MipsISA::MipsFault< AddressErrorFault >, MipsISA::MipsFault< ThreadFault >, MipsISA::MipsFault< CoprocessorUnusableFault >, MipsISA::MipsFault< ResetFault >, MipsISA::MipsFault< TlbRefillFault >, MipsISA::MipsFault< ReservedInstructionFault >, MipsISA::MipsFault< BreakpointFault >, MipsISA::MipsFault< TlbModifiedFault >, MipsISA::MipsFault< InterruptFault >, MipsISA::MipsFault< TlbInvalidFault >, and MipsISA::MipsFault< SystemCallFault >.
Referenced by vect().
void MipsISA::MipsFaultBase::setExceptionState | ( | ThreadContext * | tc, |
uint8_t | excCode | ||
) |
Definition at line 103 of file faults.cc.
References DPRINTF, MipsISA::excCode, MipsISA::MISCREG_CAUSE, MipsISA::MISCREG_EPC, MipsISA::MISCREG_SRSCTL, MipsISA::MISCREG_STATUS, GenericISA::SimplePCState< MachInst >::npc(), GenericISA::SimplePCState< MachInst >::pc(), MipsISA::pc, ThreadContext::pcState(), ThreadContext::readMiscReg(), ThreadContext::setMiscRegNoEffect(), and ArmISA::status.
Referenced by invoke(), and MipsISA::TlbFault< TlbInvalidFault >::setTlbExceptionState().
|
inline |
Definition at line 100 of file faults.hh.
References base(), and offset().
Referenced by invoke(), MipsISA::ResetFault::invoke(), and MipsISA::TlbFault< TlbInvalidFault >::invoke().