Go to the documentation of this file.
30 #ifndef __MIPS_FAULTS_HH__
31 #define __MIPS_FAULTS_HH__
37 #include "debug/MipsPRA.hh"
109 template <
typename T>
185 return cause.iv ? 0x200 : 0x180;
189 template <
typename T>
224 template <
typename T>
242 entryHi.asid = this->
asid;
243 entryHi.vpn2 = this->vpn >> 2;
244 entryHi.vpn2x = this->vpn & 0x3;
248 context.badVPN2 = this->vpn >> 2;
257 DPRINTF(MipsPRA,
"Fault %s encountered.\n", this->
name());
284 return status.exl ? 0x180 : 0x000;
333 #endif // __MIPS_FAULTS_HH__
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
virtual RegVal readMiscReg(RegIndex misc_reg)=0
FaultVect vect(ThreadContext *tc) const
virtual const PCStateBase & pcState() const =0
TlbInvalidFault(Addr asid, Addr vaddr, Addr vpn, bool store)
bool isMachineCheckFault()
AddressErrorFault(Addr _vaddr, bool _store)
FaultVect offset(ThreadContext *tc) const
virtual ExcCode code() const =0
FaultVect offset(ThreadContext *tc) const
CoprocessorUnusableFault(int _procid)
const StaticInstPtr nullStaticInstPtr
Statically allocated null StaticInstPtr.
virtual FaultVect offset(ThreadContext *tc) const =0
void setExceptionState(ThreadContext *, uint8_t)
TlbRefillFault(Addr asid, Addr vaddr, Addr vpn, bool store)
TlbFault(Addr _asid, Addr _vaddr, Addr _vpn, bool _store)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual RegVal readMiscRegNoEffect(RegIndex misc_reg) const =0
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
AddressFault(Addr _vaddr, bool _store)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
const typedef char * FaultName
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
TlbModifiedFault(Addr asid, Addr vaddr, Addr vpn)
FaultVect offset(ThreadContext *tc) const
virtual FaultVect base(ThreadContext *tc) const
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
void setTlbExceptionState(ThreadContext *tc, uint8_t excCode)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
void invoke(ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
virtual void setMiscRegNoEffect(RegIndex misc_reg, RegVal val)=0
Generated on Sun Jul 30 2023 01:56:47 for gem5 by doxygen 1.8.17