|
gem5 [DEVELOP-FOR-25.0]
|
#include <faults.hh>
Public Member Functions | |
| SupervisorCall (ExtMachInst mach_inst, uint32_t _iss, ExceptionClass _overrideEc=ExceptionClass::INVALID) | |
| void | invoke (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) override |
| bool | routeToHyp (ThreadContext *tc) const override |
| uint32_t | vectorCatchFlag () const override |
| ExceptionClass | ec (ThreadContext *tc) const override |
| Syndrome methods. | |
| uint32_t | iss () const override |
Public Member Functions inherited from gem5::ArmISA::ArmFaultVals< SupervisorCall > | |
| 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 |
| virtual bool | routeToMonitor (ThreadContext *tc) const 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 |
| bool | il (ThreadContext *tc) const override |
Public Member Functions inherited from gem5::ArmISA::ArmFault | |
| ArmFault (ExtMachInst mach_inst=0, uint32_t _iss=0) | |
| MiscRegIndex | getSyndromeReg64 () const |
| void | invoke32 (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) |
| void | invoke64 (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr) |
| virtual void | update (ThreadContext *tc) |
| bool | isResetSPSR () |
| bool | vectorCatch (ThreadContext *tc, const StaticInstPtr &inst) |
| ArmStaticInst * | instrAnnotate (const StaticInstPtr &inst) |
| virtual void | annotate (AnnotationIDs id, uint64_t val) |
| virtual bool | isStage2 () const |
| virtual FSR | getFsr (ThreadContext *tc) const |
| virtual void | setSyndrome (ThreadContext *tc, MiscRegIndex syndrome_reg) |
| virtual bool | getFaultVAddr (Addr &va) const |
| OperatingMode | getToMode () const |
| virtual bool | isExternalAbort () const |
Public Member Functions inherited from gem5::FaultBase | |
| virtual | ~FaultBase () |
Protected Attributes | |
| ExceptionClass | overrideEc |
Protected Attributes inherited from gem5::ArmISA::ArmFault | |
| ExtMachInst | machInst |
| uint32_t | issRaw |
| bool | bStep |
| bool | from64 |
| bool | to64 |
| ExceptionLevel | fromEL |
| ExceptionLevel | toEL |
| OperatingMode | fromMode |
| OperatingMode | toMode |
| bool | faultUpdated |
| bool | hypRouted |
| bool | span |
|
inline |
Definition at line 357 of file faults.hh.
References gem5::ArmISA::ArmFaultVals< SupervisorCall >::ArmFaultVals(), gem5::ArmISA::ArmFault::bStep, gem5::ArmISA::INVALID, overrideEc, and SupervisorCall().
Referenced by SupervisorCall().
|
overridevirtual |
Syndrome methods.
Reimplemented from gem5::ArmISA::ArmFaultVals< SupervisorCall >.
Definition at line 857 of file faults.cc.
References gem5::ArmISA::ArmFault::from64, gem5::ArmISA::INVALID, overrideEc, gem5::ArmISA::SVC_64, and gem5::ArmISA::ArmFaultVals< SupervisorCall >::vals().
|
overridevirtual |
Reimplemented from gem5::ArmISA::ArmFault.
Definition at line 830 of file faults.cc.
References gem5::StaticInst::advancePC(), gem5::PCStateBase::as(), gem5::FullSystem, gem5::ThreadContext::getSystemPtr(), gem5::ArmISA::ArmFault::invoke(), gem5::ArmISA::ArmFault::machInst, gem5::MipsISA::pc, gem5::ThreadContext::pcState(), gem5::Workload::syscall(), and gem5::System::workload.
|
overridevirtual |
Reimplemented from gem5::ArmISA::ArmFaultVals< SupervisorCall >.
Definition at line 864 of file faults.cc.
References gem5::ArmISA::ArmFault::issRaw.
|
overridevirtual |
Reimplemented from gem5::ArmISA::ArmFault.
Definition at line 849 of file faults.cc.
References gem5::ArmISA::EL0, gem5::ArmISA::EL2, gem5::ArmISA::EL2Enabled(), gem5::ArmISA::ArmFault::fromEL, gem5::ArmISA::MISCREG_HCR_EL2, and gem5::ThreadContext::readMiscRegNoEffect().
|
inlineoverridevirtual |
Reimplemented from gem5::ArmISA::ArmFault.
|
protected |
Definition at line 355 of file faults.hh.
Referenced by ec(), and SupervisorCall().