gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ArmISA::DataAbort Class Reference

#include <faults.hh>

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

Public Member Functions

 DataAbort (Addr _addr, TlbEntry::DomainType _domain, bool _write, uint8_t _source, bool _stage2=false, ArmFault::TranMethod _tranMethod=ArmFault::UnknownTran)
 
ExceptionClass ec (ThreadContext *tc) const
 
bool routeToMonitor (ThreadContext *tc) const
 
bool routeToHyp (ThreadContext *tc) const
 
uint32_t iss () const
 
void annotate (AnnotationIDs id, uint64_t val)
 
- Public Member Functions inherited from ArmISA::AbortFault< DataAbort >
 AbortFault (Addr _faultAddr, bool _write, TlbEntry::DomainType _domain, uint8_t _source, bool _stage2, ArmFault::TranMethod _tranMethod=ArmFault::UnknownTran)
 
void invoke (ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
 
FSR getFsr (ThreadContext *tc)
 
bool abortDisable (ThreadContext *tc)
 
uint32_t iss () const
 
bool isStage2 () const
 
void annotate (ArmFault::AnnotationIDs id, uint64_t val)
 
bool isMMUFault () const
 
- Public Member Functions inherited from ArmISA::ArmFaultVals< DataAbort >
 ArmFaultVals (ExtMachInst _machInst=0, uint32_t _iss=0)
 
FaultName name () const
 
FaultStatcountStat ()
 
FaultOffset offset (ThreadContext *tc)
 
FaultOffset offset64 ()
 
OperatingMode nextMode ()
 
uint8_t armPcOffset (bool isHyp)
 
uint8_t thumbPcOffset (bool isHyp)
 
uint8_t armPcElrOffset ()
 
uint8_t thumbPcElrOffset ()
 
virtual bool fiqDisable (ThreadContext *tc)
 
- Public Member Functions inherited from ArmISA::ArmFault
 ArmFault (ExtMachInst _machInst=0, uint32_t _iss=0)
 
MiscRegIndex getSyndromeReg64 () const
 
MiscRegIndex getFaultAddrReg64 () const
 
void invoke64 (ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
 
virtual void setSyndrome (ThreadContext *tc, MiscRegIndex syndrome_reg)
 

Public Attributes

bool isv
 
uint8_t sas
 
uint8_t sse
 
uint8_t srt
 
bool sf
 
bool ar
 

Static Public Attributes

static const MiscRegIndex FsrIndex = MISCREG_DFSR
 
static const MiscRegIndex FarIndex = MISCREG_DFAR
 
static const MiscRegIndex HFarIndex = MISCREG_HDFAR
 
- 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...
 

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 }
 
- Protected Member Functions inherited from ArmISA::ArmFault
Addr getVector (ThreadContext *tc)
 
Addr getVector64 (ThreadContext *tc)
 
- Protected Attributes inherited from ArmISA::AbortFault< DataAbort >
Addr faultAddr
 The virtual address the fault occured at. More...
 
Addr OVAddr
 Original virtual address. More...
 
bool write
 
TlbEntry::DomainType domain
 
uint8_t source
 
uint8_t srcEncoded
 
bool stage2
 
bool s1ptw
 
ArmFault::TranMethod tranMethod
 
- Protected Attributes inherited from ArmISA::ArmFault
ExtMachInst machInst
 
uint32_t issRaw
 
bool from64
 
bool to64
 
ExceptionLevel fromEL
 
ExceptionLevel toEL
 
OperatingMode fromMode
 
- Static Protected Attributes inherited from ArmISA::ArmFaultVals< DataAbort >
static FaultVals vals
 

Detailed Description

Definition at line 439 of file faults.hh.

Constructor & Destructor Documentation

ArmISA::DataAbort::DataAbort ( Addr  _addr,
TlbEntry::DomainType  _domain,
bool  _write,
uint8_t  _source,
bool  _stage2 = false,
ArmFault::TranMethod  _tranMethod = ArmFault::UnknownTran 
)
inline

Definition at line 454 of file faults.hh.

Member Function Documentation

void ArmISA::DataAbort::annotate ( AnnotationIDs  id,
uint64_t  val 
)
virtual
ExceptionClass ArmISA::DataAbort::ec ( ThreadContext tc) const
virtual
uint32_t ArmISA::DataAbort::iss ( ) const
virtual
bool ArmISA::DataAbort::routeToHyp ( ThreadContext tc) const
virtual
bool ArmISA::DataAbort::routeToMonitor ( ThreadContext tc) const
virtual

Member Data Documentation

bool ArmISA::DataAbort::ar

Definition at line 452 of file faults.hh.

Referenced by annotate(), and iss().

const MiscRegIndex ArmISA::DataAbort::FarIndex = MISCREG_DFAR
static

Definition at line 443 of file faults.hh.

const MiscRegIndex ArmISA::DataAbort::FsrIndex = MISCREG_DFSR
static

Definition at line 442 of file faults.hh.

const MiscRegIndex ArmISA::DataAbort::HFarIndex = MISCREG_HDFAR
static

Definition at line 444 of file faults.hh.

bool ArmISA::DataAbort::isv

Definition at line 445 of file faults.hh.

Referenced by annotate(), and iss().

uint8_t ArmISA::DataAbort::sas

Definition at line 446 of file faults.hh.

Referenced by annotate(), and iss().

bool ArmISA::DataAbort::sf

Definition at line 451 of file faults.hh.

Referenced by annotate(), and iss().

uint8_t ArmISA::DataAbort::srt

Definition at line 448 of file faults.hh.

Referenced by annotate(), and iss().

uint8_t ArmISA::DataAbort::sse

Definition at line 447 of file faults.hh.

Referenced by annotate(), and iss().


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

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