|
gem5 [DEVELOP-FOR-25.0]
|
#include <faults.hh>
Public Member Functions | |
| PrefetchAbort (Addr _addr, uint8_t _source, bool _stage2=false, TranMethod _tran_method=TranMethod::UnknownTran, ArmFault::DebugType _debug=ArmFault::NODEBUG) | |
| bool | routeToMonitor (ThreadContext *tc) const override |
| bool | routeToHyp (ThreadContext *tc) const override |
| uint32_t | vectorCatchFlag () const override |
| ExceptionClass | ec (ThreadContext *tc) const override |
| Syndrome methods. | |
| bool | il (ThreadContext *tc) const override |
| uint32_t | iss () const override |
Public Member Functions inherited from gem5::ArmISA::AbortFault< PrefetchAbort > | |
| AbortFault (Addr _faultAddr, bool _write, DomainType _domain, uint8_t _source, bool _stage2, TranMethod _tranMethod=TranMethod::UnknownTran, ArmFault::DebugType _debug=ArmFault::NODEBUG) | |
| bool | getFaultVAddr (Addr &va) const override |
| void | invoke (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override |
| void | update (ThreadContext *tc) override |
| FSR | getFsr (ThreadContext *tc) const override |
| uint8_t | getFaultStatusCode (ThreadContext *tc) const |
| bool | abortDisable (ThreadContext *tc) override |
| bool | isStage2 () const override |
| void | annotate (ArmFault::AnnotationIDs id, uint64_t val) override |
| void | setSyndrome (ThreadContext *tc, MiscRegIndex syndrome_reg) override |
| bool | isMMUFault () const |
| bool | isExternalAbort () const override |
Public Member Functions inherited from gem5::ArmISA::ArmFaultVals< PrefetchAbort > | |
| ArmFaultVals (ExtMachInst mach_inst=0, uint32_t _iss=0) | |
| FaultName | name () const override |
| FaultOffset | offset (ThreadContext *tc) override |
| FaultOffset | offset64 (ThreadContext *tc) override |
| OperatingMode | nextMode () override |
| uint8_t | armPcOffset (bool is_hyp) override |
| uint8_t | thumbPcOffset (bool is_hyp) override |
| uint8_t | armPcElrOffset () override |
| uint8_t | thumbPcElrOffset () override |
| bool | abortDisable (ThreadContext *tc) override |
| bool | fiqDisable (ThreadContext *tc) override |
Public Member Functions inherited from gem5::ArmISA::ArmFault | |
| ArmFault (ExtMachInst mach_inst=0, uint32_t _iss=0) | |
| MiscRegIndex | getSyndromeReg64 () const |
| void | invoke (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override |
| void | invoke32 (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) |
| void | invoke64 (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) |
| bool | isResetSPSR () |
| bool | vectorCatch (ThreadContext *tc, const StaticInstPtr &inst) |
| ArmStaticInst * | instrAnnotate (const StaticInstPtr &inst) |
| OperatingMode | getToMode () const |
Public Member Functions inherited from gem5::FaultBase | |
| virtual | ~FaultBase () |
Static Public Attributes | |
| static const MiscRegIndex | FsrIndex = MISCREG_IFSR |
| static const MiscRegIndex | FarIndex = MISCREG_IFAR |
| static const MiscRegIndex | HFarIndex = MISCREG_HIFAR |
Static Public Attributes inherited from gem5::ArmISA::ArmFault | |
| static uint8_t | shortDescFaultSources [NumFaultSources] |
| Encodings of the fault sources when the short-desc. | |
| static uint8_t | longDescFaultSources [NumFaultSources] |
| Encodings of the fault sources when the long-desc. | |
| static uint8_t | aarch64FaultSources [NumFaultSources] |
| Encodings of the fault sources in AArch64 state. | |
|
inline |
Definition at line 520 of file faults.hh.
References gem5::ArmISA::AbortFault< PrefetchAbort >::AbortFault(), gem5::ArmISA::NoAccess, gem5::ArmISA::ArmFault::NODEBUG, PrefetchAbort(), and gem5::ArmISA::UnknownTran.
Referenced by PrefetchAbort().
|
overridevirtual |
Syndrome methods.
Reimplemented from gem5::ArmISA::ArmFaultVals< PrefetchAbort >.
Definition at line 1249 of file faults.cc.
References ec(), gem5::ArmISA::ArmFault::fromEL, gem5::ArmISA::MISCREG_SPSR_HYP, gem5::ArmISA::MODE_HYP, gem5::ArmISA::PREFETCH_ABORT_CURR_EL, gem5::ArmISA::PREFETCH_ABORT_LOWER_EL, gem5::ThreadContext::readMiscReg(), gem5::ArmISA::ArmFault::to64, gem5::ArmISA::ArmFault::toEL, and gem5::ArmISA::ArmFaultVals< T >::vals.
Referenced by ec().
|
inlineoverridevirtual |
Reimplemented from gem5::ArmISA::ArmFaultVals< PrefetchAbort >.
|
overridevirtual |
Reimplemented from gem5::ArmISA::ArmFaultVals< PrefetchAbort >.
Definition at line 1274 of file faults.cc.
References iss(), gem5::ArmISA::AbortFault< PrefetchAbort >::s1ptw, and gem5::ArmISA::AbortFault< PrefetchAbort >::srcEncoded.
Referenced by iss().
|
overridevirtual |
Reimplemented from gem5::ArmISA::ArmFault.
Definition at line 1293 of file faults.cc.
References gem5::ArmISA::currEL(), gem5::ArmISA::ArmFault::DebugEvent, gem5::ArmISA::EL1, gem5::ArmISA::EL2, gem5::ArmISA::ArmFault::fromEL, gem5::ArmSystem::haveEL(), gem5::ArmISA::isSecure(), gem5::ArmISA::MISCREG_HCR_EL2, gem5::ArmISA::MISCREG_HDCR, gem5::ThreadContext::readMiscRegNoEffect(), gem5::ArmISA::AbortFault< PrefetchAbort >::source, and gem5::ArmISA::AbortFault< PrefetchAbort >::stage2.
|
overridevirtual |
Reimplemented from gem5::ArmISA::ArmFaultVals< PrefetchAbort >.
Definition at line 1286 of file faults.cc.
References gem5::ArmISA::AbortFault< PrefetchAbort >::isMMUFault(), gem5::ArmISA::MISCREG_SCR_EL3, and gem5::ThreadContext::readMiscRegNoEffect().
|
inlineoverridevirtual |
Reimplemented from gem5::ArmISA::ArmFault.
|
static |
|
static |
|
static |