Go to the documentation of this file.
29 #ifndef __SPARC_FAULTS_HH__
30 #define __SPARC_FAULTS_HH__
146 public SparcFault<InstructionInvalidTSBEntry> {};
172 public SparcFault<InstructionRealTranslationMiss> {};
206 public SparcFault<FastInstructionAccessMMUMiss>
366 #endif // __SPARC_FAULTS_HH__
FastDataAccessMMUMiss(Addr addr)
virtual TrapType trapType()=0
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
FastInstructionAccessMMUMiss(Addr addr)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
FastInstructionAccessMMUMiss()
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
const FaultPriority priority
virtual PrivilegeLevel getNextLevel(PrivilegeLevel current)=0
FaultVals(const FaultName &name_, const TrapType &trapType_, const FaultPriority &priority_, const PrivilegeLevelSpec &il)
virtual FaultPriority priority()=0
void doNormalFault(ThreadContext *tc, TrapType tt, bool gotoHpriv)
This sets everything up for a normal trap except for actually jumping to the handler.
EnumeratedFault(uint32_t n)
const StaticInstPtr nullStaticInstPtr
Statically allocated null StaticInstPtr.
void getPrivVector(ThreadContext *tc, Addr &PC, Addr &NPC, RegVal TT, RegVal TL)
void getHyperVector(ThreadContext *tc, Addr &PC, Addr &NPC, RegVal TT)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
std::array< PrivilegeLevel, NumLevels > PrivilegeLevelSpec
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
PrivilegeLevel getNextLevel(PrivilegeLevel current)
void getREDVector(RegVal TT, Addr &PC, Addr &NPC)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void doREDFault(ThreadContext *tc, TrapType tt)
This sets everything up for a RED state trap except for actually jumping to the handler.
TrapInstruction(uint32_t n)
const typedef char * FaultName
InterruptLevelN(uint32_t n)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
const PrivilegeLevelSpec nextPrivilegeLevel
void enterREDState(ThreadContext *tc)
This causes the thread context to enter RED state.
Generated on Sun Jul 30 2023 01:56:47 for gem5 by doxygen 1.8.17