gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
ArmISA::ArmFaultVals< T > Class Template Reference

#include <faults.hh>

Inheritance diagram for ArmISA::ArmFaultVals< T >:
ArmISA::ArmFault FaultBase ArmISA::AbortFault< T >

Public Member Functions

 ArmFaultVals (ExtMachInst _machInst=0, uint32_t _iss=0)
 
FaultName name () const
 
FaultStatcountStat ()
 
FaultOffset offset (ThreadContext *tc)
 
FaultOffset offset64 ()
 
OperatingMode nextMode ()
 
virtual bool routeToMonitor (ThreadContext *tc) const
 
uint8_t armPcOffset (bool isHyp)
 
uint8_t thumbPcOffset (bool isHyp)
 
uint8_t armPcElrOffset ()
 
uint8_t thumbPcElrOffset ()
 
virtual bool abortDisable (ThreadContext *tc)
 
virtual bool fiqDisable (ThreadContext *tc)
 
virtual ExceptionClass ec (ThreadContext *tc) const
 
virtual uint32_t iss () const
 
- Public Member Functions inherited from ArmISA::ArmFault
 ArmFault (ExtMachInst _machInst=0, uint32_t _iss=0)
 
MiscRegIndex getSyndromeReg64 () const
 
MiscRegIndex getFaultAddrReg64 () const
 
void invoke (ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
 
void invoke64 (ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
 
virtual void annotate (AnnotationIDs id, uint64_t val)
 
virtual bool routeToHyp (ThreadContext *tc) const
 
virtual bool isStage2 () const
 
virtual FSR getFsr (ThreadContext *tc)
 
virtual void setSyndrome (ThreadContext *tc, MiscRegIndex syndrome_reg)
 

Protected Member Functions

template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
template<>
ArmFault::FaultVals vals
 
- Protected Member Functions inherited from ArmISA::ArmFault
Addr getVector (ThreadContext *tc)
 
Addr getVector64 (ThreadContext *tc)
 

Static Protected Attributes

static FaultVals vals
 

Additional Inherited Members

- Public Types inherited from ArmISA::ArmFault
enum  FaultSource {
  AlignmentFault = 0, InstructionCacheMaintenance, SynchExtAbtOnTranslTableWalkLL, SynchPtyErrOnTranslTableWalkLL = SynchExtAbtOnTranslTableWalkLL + 4,
  TranslationLL = SynchPtyErrOnTranslTableWalkLL + 4, AccessFlagLL = TranslationLL + 4, DomainLL = AccessFlagLL + 4, PermissionLL = DomainLL + 4,
  DebugEvent = PermissionLL + 4, SynchronousExternalAbort, TLBConflictAbort, SynchPtyErrOnMemoryAccess,
  AsynchronousExternalAbort, AsynchPtyErrOnMemoryAccess, AddressSizeLL, PrefetchTLBMiss = AddressSizeLL + 4,
  PrefetchUncacheable, NumFaultSources, FaultSourceInvalid = 0xff
}
 Generic fault source enums used to index into {short/long/aarch64}DescFaultSources[] to get the actual encodings based on the current register width state and the translation table format in use. More...
 
enum  AnnotationIDs {
  S1PTW, OVA, SAS, SSE,
  SRT, SF, AR
}
 
enum  TranMethod { LpaeTran, VmsaTran, UnknownTran }
 
- Static Public Attributes inherited from ArmISA::ArmFault
static uint8_t shortDescFaultSources [NumFaultSources]
 Encodings of the fault sources when the short-desc. More...
 
static uint8_t longDescFaultSources [NumFaultSources]
 Encodings of the fault sources when the long-desc. More...
 
static uint8_t aarch64FaultSources [NumFaultSources]
 Encodings of the fault sources in AArch64 state. More...
 
- Protected Attributes inherited from ArmISA::ArmFault
ExtMachInst machInst
 
uint32_t issRaw
 
bool from64
 
bool to64
 
ExceptionLevel fromEL
 
ExceptionLevel toEL
 
OperatingMode fromMode
 

Detailed Description

template<typename T>
class ArmISA::ArmFaultVals< T >

Definition at line 210 of file faults.hh.

Constructor & Destructor Documentation

template<typename T>
ArmISA::ArmFaultVals< T >::ArmFaultVals ( ExtMachInst  _machInst = 0,
uint32_t  _iss = 0 
)
inline

Definition at line 216 of file faults.hh.

Member Function Documentation

template<typename T>
virtual bool ArmISA::ArmFaultVals< T >::abortDisable ( ThreadContext tc)
inlinevirtual
template<typename T>
uint8_t ArmISA::ArmFaultVals< T >::armPcElrOffset ( )
inlinevirtual

Implements ArmISA::ArmFault.

Definition at line 242 of file faults.hh.

template<typename T>
uint8_t ArmISA::ArmFaultVals< T >::armPcOffset ( bool  isHyp)
inlinevirtual

Implements ArmISA::ArmFault.

Definition at line 238 of file faults.hh.

template<typename T>
FaultStat& ArmISA::ArmFaultVals< T >::countStat ( )
inlinevirtual

Implements ArmISA::ArmFault.

Definition at line 219 of file faults.hh.

template<typename T>
virtual ExceptionClass ArmISA::ArmFaultVals< T >::ec ( ThreadContext tc) const
inlinevirtual
template<typename T>
virtual bool ArmISA::ArmFaultVals< T >::fiqDisable ( ThreadContext tc)
inlinevirtual

Implements ArmISA::ArmFault.

Reimplemented in ArmISA::FastInterrupt.

Definition at line 245 of file faults.hh.

template<typename T>
virtual uint32_t ArmISA::ArmFaultVals< T >::iss ( ) const
inlinevirtual
template<typename T>
FaultName ArmISA::ArmFaultVals< T >::name ( ) const
inlinevirtual

Implements FaultBase.

Definition at line 218 of file faults.hh.

template<typename T>
OperatingMode ArmISA::ArmFaultVals< T >::nextMode ( )
inlinevirtual

Implements ArmISA::ArmFault.

Definition at line 236 of file faults.hh.

template<class T >
FaultOffset ArmISA::ArmFaultVals< T >::offset ( ThreadContext tc)
virtual
template<typename T>
FaultOffset ArmISA::ArmFaultVals< T >::offset64 ( )
inlinevirtual

Implements ArmISA::ArmFault.

Definition at line 223 of file faults.hh.

template<typename T>
virtual bool ArmISA::ArmFaultVals< T >::routeToMonitor ( ThreadContext tc) const
inlinevirtual
template<typename T>
uint8_t ArmISA::ArmFaultVals< T >::thumbPcElrOffset ( )
inlinevirtual

Implements ArmISA::ArmFault.

Definition at line 243 of file faults.hh.

template<typename T>
uint8_t ArmISA::ArmFaultVals< T >::thumbPcOffset ( bool  isHyp)
inlinevirtual

Implements ArmISA::ArmFault.

Definition at line 240 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< Reset >::vals ( )
protected

Definition at line 207 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_UNDEFINED.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SupervisorCall >::vals ( )
protected

Definition at line 211 of file faults.cc.

References ArmISA::EC_SVC_TO_HYP, and ArmISA::MODE_SVC.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SecureMonitorCall >::vals ( )
protected

Definition at line 215 of file faults.cc.

References ArmISA::EC_SMC_TO_HYP, and ArmISA::MODE_MON.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< HypervisorCall >::vals ( )
protected

Definition at line 219 of file faults.cc.

References ArmISA::EC_HVC, and ArmISA::MODE_HYP.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< PrefetchAbort >::vals ( )
protected

Definition at line 223 of file faults.cc.

References ArmISA::EC_PREFETCH_ABORT_TO_HYP, and ArmISA::MODE_ABORT.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< DataAbort >::vals ( )
protected

Definition at line 227 of file faults.cc.

References ArmISA::EC_DATA_ABORT_TO_HYP, and ArmISA::MODE_ABORT.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< VirtualDataAbort >::vals ( )
protected

Definition at line 231 of file faults.cc.

References ArmISA::EC_INVALID, and ArmISA::MODE_ABORT.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< HypervisorTrap >::vals ( )
protected

Definition at line 235 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_HYP.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< Interrupt >::vals ( )
protected

Definition at line 240 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_IRQ.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< VirtualInterrupt >::vals ( )
protected

Definition at line 244 of file faults.cc.

References ArmISA::EC_INVALID, and ArmISA::MODE_IRQ.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< FastInterrupt >::vals ( )
protected

Definition at line 248 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_FIQ.

Definition at line 252 of file faults.cc.

References ArmISA::EC_INVALID, and ArmISA::MODE_FIQ.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SupervisorTrap >::vals ( )
protected

Definition at line 256 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_SVC.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SecureMonitorTrap >::vals ( )
protected

Definition at line 261 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_MON.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< PCAlignmentFault >::vals ( )
protected

Definition at line 266 of file faults.cc.

References ArmISA::EC_PC_ALIGNMENT, and ArmISA::MODE_SVC.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SPAlignmentFault >::vals ( )
protected

Definition at line 271 of file faults.cc.

References ArmISA::EC_STACK_PTR_ALIGNMENT, and ArmISA::MODE_SVC.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SystemError >::vals ( )
protected

Definition at line 276 of file faults.cc.

References ArmISA::EC_SERROR, and ArmISA::MODE_SVC.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< FlushPipe >::vals ( )
protected

Definition at line 281 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_SVC.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< ArmSev >::vals ( )
protected

Definition at line 286 of file faults.cc.

References ArmISA::EC_UNKNOWN, and ArmISA::MODE_SVC.

Definition at line 291 of file faults.cc.

References ArmISA::EC_ILLEGAL_INST, and ArmISA::MODE_SVC.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< Reset >::vals ( )
protected

Definition at line 573 of file faults.hh.

Definition at line 574 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SupervisorCall >::vals ( )
protected

Definition at line 575 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SecureMonitorCall >::vals ( )
protected

Definition at line 576 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< HypervisorCall >::vals ( )
protected

Definition at line 577 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< PrefetchAbort >::vals ( )
protected

Definition at line 578 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< DataAbort >::vals ( )
protected

Definition at line 579 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< VirtualDataAbort >::vals ( )
protected

Definition at line 580 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< HypervisorTrap >::vals ( )
protected

Definition at line 581 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< Interrupt >::vals ( )
protected

Definition at line 582 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< VirtualInterrupt >::vals ( )
protected

Definition at line 583 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< FastInterrupt >::vals ( )
protected

Definition at line 584 of file faults.hh.

Definition at line 585 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SupervisorTrap >::vals ( )
protected

Definition at line 586 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SecureMonitorTrap >::vals ( )
protected

Definition at line 587 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< PCAlignmentFault >::vals ( )
protected

Definition at line 588 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SPAlignmentFault >::vals ( )
protected

Definition at line 589 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< SystemError >::vals ( )
protected

Definition at line 590 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< FlushPipe >::vals ( )
protected

Definition at line 591 of file faults.hh.

template<>
ArmFault::FaultVals ArmISA::ArmFaultVals< ArmSev >::vals ( )
protected

Definition at line 592 of file faults.hh.

Member Data Documentation

template<typename T>
FaultVals ArmISA::ArmFaultVals< T >::vals
staticprotected

Definition at line 213 of file faults.hh.


The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:24 for gem5 by doxygen 1.8.6