32 #ifndef __SPARC_FAULTS_HH__
33 #define __SPARC_FAULTS_HH__
140 public SparcFault<InstructionInvalidTSBEntry> {};
166 public SparcFault<InstructionRealTranslationMiss> {};
200 public SparcFault<FastInstructionAccessMMUMiss>
358 #endif // __SPARC_FAULTS_HH__
virtual TrapType trapType()=0
virtual PrivilegeLevel getNextLevel(PrivilegeLevel current)=0
void getHyperVector(ThreadContext *tc, Addr &PC, Addr &NPC, MiscReg TT)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
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)
ThreadContext is the external interface to all thread state for anything outside of the CPU...
This is a simple scalar statistic, like a counter.
FastInstructionAccessMMUMiss(Addr addr)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
SparcFaultBase::FaultVals vals
EnumeratedFault(uint32_t n)
void enterREDState(ThreadContext *tc)
This causes the thread context to enter RED state.
virtual FaultPriority priority()=0
FastInstructionAccessMMUMiss()
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const FaultPriority priority
virtual FaultStat & countStat()=0
FastDataAccessMMUMiss(Addr addr)
PrivilegeLevel getNextLevel(PrivilegeLevel current)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
void doREDFault(ThreadContext *tc, TrapType tt)
This sets everything up for a RED state trap except for actually jumping to the handler.
InterruptLevelN(uint32_t n)
void getREDVector(MiscReg TT, Addr &PC, Addr &NPC)
void getPrivVector(ThreadContext *tc, Addr &PC, Addr &NPC, MiscReg TT, MiscReg TL)
static StaticInstPtr nullStaticInstPtr
Pointer to a statically allocated "null" instruction object.
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
const PrivilegeLevel nextPrivilegeLevel[NumLevels]
TrapInstruction(uint32_t n)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)