Go to the documentation of this file.
29 #ifndef __SPARC_FAULTS_HH__
30 #define __SPARC_FAULTS_HH__
145 public SparcFault<InstructionInvalidTSBEntry> {};
171 public SparcFault<InstructionRealTranslationMiss> {};
205 public SparcFault<FastInstructionAccessMMUMiss>
364 #endif // __SPARC_FAULTS_HH__
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
void getHyperVector(ThreadContext *tc, Addr &PC, Addr &NPC, RegVal TT)
std::array< PrivilegeLevel, NumLevels > PrivilegeLevelSpec
void getPrivVector(ThreadContext *tc, Addr &PC, Addr &NPC, RegVal TT, RegVal TL)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
FastInstructionAccessMMUMiss(Addr addr)
virtual FaultPriority priority()=0
virtual PrivilegeLevel getNextLevel(PrivilegeLevel current)=0
This is a simple scalar statistic, like a counter.
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
InterruptLevelN(uint32_t n)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
const typedef char * FaultName
const PrivilegeLevelSpec nextPrivilegeLevel
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
void getREDVector(RegVal TT, Addr &PC, Addr &NPC)
virtual FaultStat & countStat()=0
TrapInstruction(uint32_t n)
FastDataAccessMMUMiss(Addr addr)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
static StaticInstPtr nullStaticInstPtr
Pointer to a statically allocated "null" instruction object.
void doREDFault(ThreadContext *tc, TrapType tt)
This sets everything up for a RED state trap except for actually jumping to the handler.
FaultVals(const FaultName &name_, const TrapType &trapType_, const FaultPriority &priority_, const PrivilegeLevelSpec &il)
FastInstructionAccessMMUMiss()
void enterREDState(ThreadContext *tc)
This causes the thread context to enter RED state.
virtual TrapType trapType()=0
PrivilegeLevel getNextLevel(PrivilegeLevel current)
EnumeratedFault(uint32_t n)
void doNormalFault(ThreadContext *tc, TrapType tt, bool gotoHpriv)
This sets everything up for a normal trap except for actually jumping to the handler.
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
const FaultPriority priority
Generated on Wed Sep 30 2020 14:01:59 for gem5 by doxygen 1.8.17