gem5  v20.1.0.0
Classes | Public Types | Public Member Functions | List of all members
SparcISA::SparcFaultBase Class Referenceabstract

#include <faults.hh>

Inheritance diagram for SparcISA::SparcFaultBase:
FaultBase SparcISA::SparcFault< CleanWindow > SparcISA::SparcFault< CpuMondo > SparcISA::SparcFault< DataAccessError > SparcISA::SparcFault< DataAccessException > SparcISA::SparcFault< DataAccessProtection > SparcISA::SparcFault< DataInvalidTSBEntry > SparcISA::SparcFault< DataRealTranslationMiss > SparcISA::SparcFault< DevMondo > SparcISA::SparcFault< DivisionByZero > SparcISA::SparcFault< ExternallyInitiatedReset > SparcISA::SparcFault< FastDataAccessMMUMiss > SparcISA::SparcFault< FastDataAccessProtection > SparcISA::SparcFault< FastInstructionAccessMMUMiss > SparcISA::SparcFault< FillNNormal > SparcISA::SparcFault< FillNOther > SparcISA::SparcFault< FpDisabled > SparcISA::SparcFault< FpExceptionIEEE754 > SparcISA::SparcFault< FpExceptionOther > SparcISA::SparcFault< HstickMatch > SparcISA::SparcFault< IllegalInstruction > SparcISA::SparcFault< InstructionAccessError > SparcISA::SparcFault< InstructionAccessException > SparcISA::SparcFault< InstructionBreakpoint > SparcISA::SparcFault< InstructionInvalidTSBEntry > SparcISA::SparcFault< InstructionRealTranslationMiss > SparcISA::SparcFault< InternalProcessorError > SparcISA::SparcFault< InterruptLevelN > SparcISA::SparcFault< InterruptVector > SparcISA::SparcFault< LDDFMemAddressNotAligned > SparcISA::SparcFault< LDQFMemAddressNotAligned > SparcISA::SparcFault< MemAddressNotAligned > SparcISA::SparcFault< PAWatchpoint > SparcISA::SparcFault< PowerOnReset > SparcISA::SparcFault< PrivilegedAction > SparcISA::SparcFault< PrivilegedOpcode > SparcISA::SparcFault< REDStateException > SparcISA::SparcFault< ResumableError > SparcISA::SparcFault< SoftwareInitiatedReset > SparcISA::SparcFault< SpillNNormal > SparcISA::SparcFault< SpillNOther > SparcISA::SparcFault< STDFMemAddressNotAligned > SparcISA::SparcFault< StoreError > SparcISA::SparcFault< STQFMemAddressNotAligned > SparcISA::SparcFault< TagOverflow > SparcISA::SparcFault< TrapInstruction > SparcISA::SparcFault< TrapLevelZero > SparcISA::SparcFault< VAWatchpoint > SparcISA::SparcFault< VecDisabled > SparcISA::SparcFault< WatchDogReset > SparcISA::SparcFault< T >

Classes

struct  FaultVals
 

Public Types

enum  PrivilegeLevel {
  U, User = U, P, Privileged = P,
  H, Hyperprivileged = H, NumLevels, SH = -1,
  ShouldntHappen = SH
}
 
using PrivilegeLevelSpec = std::array< PrivilegeLevel, NumLevels >
 

Public Member Functions

void invoke (ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr)
 
virtual TrapType trapType ()=0
 
virtual FaultPriority priority ()=0
 
virtual FaultStatcountStat ()=0
 
virtual PrivilegeLevel getNextLevel (PrivilegeLevel current)=0
 
- Public Member Functions inherited from FaultBase
virtual FaultName name () const =0
 
virtual ~FaultBase ()
 

Detailed Description

Definition at line 45 of file faults.hh.

Member Typedef Documentation

◆ PrivilegeLevelSpec

Definition at line 57 of file faults.hh.

Member Enumeration Documentation

◆ PrivilegeLevel

Enumerator
User 
Privileged 
Hyperprivileged 
NumLevels 
SH 
ShouldntHappen 

Definition at line 48 of file faults.hh.

Member Function Documentation

◆ countStat()

virtual FaultStat& SparcISA::SparcFaultBase::countStat ( )
pure virtual

Implemented in SparcISA::SparcFault< T >, SparcISA::SparcFault< TagOverflow >, SparcISA::SparcFault< InstructionInvalidTSBEntry >, SparcISA::SparcFault< PrivilegedOpcode >, SparcISA::SparcFault< REDStateException >, SparcISA::SparcFault< HstickMatch >, SparcISA::SparcFault< InstructionBreakpoint >, SparcISA::SparcFault< VecDisabled >, SparcISA::SparcFault< StoreError >, SparcISA::SparcFault< FpDisabled >, SparcISA::SparcFault< DataRealTranslationMiss >, SparcISA::SparcFault< PrivilegedAction >, SparcISA::SparcFault< FpExceptionIEEE754 >, SparcISA::SparcFault< InterruptLevelN >, SparcISA::SparcFault< MemAddressNotAligned >, SparcISA::SparcFault< InstructionAccessException >, SparcISA::SparcFault< InstructionRealTranslationMiss >, SparcISA::SparcFault< FastInstructionAccessMMUMiss >, SparcISA::SparcFault< ExternallyInitiatedReset >, SparcISA::SparcFault< TrapInstruction >, SparcISA::SparcFault< DevMondo >, SparcISA::SparcFault< STDFMemAddressNotAligned >, SparcISA::SparcFault< CleanWindow >, SparcISA::SparcFault< LDQFMemAddressNotAligned >, SparcISA::SparcFault< FastDataAccessProtection >, SparcISA::SparcFault< DivisionByZero >, SparcISA::SparcFault< SpillNNormal >, SparcISA::SparcFault< DataAccessError >, SparcISA::SparcFault< IllegalInstruction >, SparcISA::SparcFault< SoftwareInitiatedReset >, SparcISA::SparcFault< DataInvalidTSBEntry >, SparcISA::SparcFault< InstructionAccessError >, SparcISA::SparcFault< FpExceptionOther >, SparcISA::SparcFault< PowerOnReset >, SparcISA::SparcFault< FillNOther >, SparcISA::SparcFault< DataAccessProtection >, SparcISA::SparcFault< InternalProcessorError >, SparcISA::SparcFault< ResumableError >, SparcISA::SparcFault< PAWatchpoint >, SparcISA::SparcFault< InterruptVector >, SparcISA::SparcFault< TrapLevelZero >, SparcISA::SparcFault< SpillNOther >, SparcISA::SparcFault< DataAccessException >, SparcISA::SparcFault< FillNNormal >, SparcISA::SparcFault< FastDataAccessMMUMiss >, SparcISA::SparcFault< VAWatchpoint >, SparcISA::SparcFault< WatchDogReset >, SparcISA::SparcFault< STQFMemAddressNotAligned >, SparcISA::SparcFault< LDDFMemAddressNotAligned >, and SparcISA::SparcFault< CpuMondo >.

◆ getNextLevel()

virtual PrivilegeLevel SparcISA::SparcFaultBase::getNextLevel ( PrivilegeLevel  current)
pure virtual

Implemented in SparcISA::SparcFault< T >, SparcISA::SparcFault< TagOverflow >, SparcISA::SparcFault< InstructionInvalidTSBEntry >, SparcISA::SparcFault< PrivilegedOpcode >, SparcISA::SparcFault< REDStateException >, SparcISA::SparcFault< HstickMatch >, SparcISA::SparcFault< InstructionBreakpoint >, SparcISA::SparcFault< VecDisabled >, SparcISA::SparcFault< StoreError >, SparcISA::SparcFault< FpDisabled >, SparcISA::SparcFault< DataRealTranslationMiss >, SparcISA::SparcFault< PrivilegedAction >, SparcISA::SparcFault< FpExceptionIEEE754 >, SparcISA::SparcFault< InterruptLevelN >, SparcISA::SparcFault< MemAddressNotAligned >, SparcISA::SparcFault< InstructionAccessException >, SparcISA::SparcFault< InstructionRealTranslationMiss >, SparcISA::SparcFault< FastInstructionAccessMMUMiss >, SparcISA::SparcFault< ExternallyInitiatedReset >, SparcISA::SparcFault< TrapInstruction >, SparcISA::SparcFault< DevMondo >, SparcISA::SparcFault< STDFMemAddressNotAligned >, SparcISA::SparcFault< CleanWindow >, SparcISA::SparcFault< LDQFMemAddressNotAligned >, SparcISA::SparcFault< FastDataAccessProtection >, SparcISA::SparcFault< DivisionByZero >, SparcISA::SparcFault< SpillNNormal >, SparcISA::SparcFault< DataAccessError >, SparcISA::SparcFault< IllegalInstruction >, SparcISA::SparcFault< SoftwareInitiatedReset >, SparcISA::SparcFault< DataInvalidTSBEntry >, SparcISA::SparcFault< InstructionAccessError >, SparcISA::SparcFault< FpExceptionOther >, SparcISA::SparcFault< PowerOnReset >, SparcISA::SparcFault< FillNOther >, SparcISA::SparcFault< DataAccessProtection >, SparcISA::SparcFault< InternalProcessorError >, SparcISA::SparcFault< ResumableError >, SparcISA::SparcFault< PAWatchpoint >, SparcISA::SparcFault< InterruptVector >, SparcISA::SparcFault< TrapLevelZero >, SparcISA::SparcFault< SpillNOther >, SparcISA::SparcFault< DataAccessException >, SparcISA::SparcFault< FillNNormal >, SparcISA::SparcFault< FastDataAccessMMUMiss >, SparcISA::SparcFault< VAWatchpoint >, SparcISA::SparcFault< WatchDogReset >, SparcISA::SparcFault< STQFMemAddressNotAligned >, SparcISA::SparcFault< LDDFMemAddressNotAligned >, and SparcISA::SparcFault< CpuMondo >.

◆ invoke()

void SparcISA::SparcFaultBase::invoke ( ThreadContext tc,
const StaticInstPtr inst = StaticInst::nullStaticInstPtr 
)
virtual

◆ priority()

virtual FaultPriority SparcISA::SparcFaultBase::priority ( )
pure virtual

Implemented in SparcISA::InterruptLevelN, SparcISA::SparcFault< T >, SparcISA::SparcFault< TagOverflow >, SparcISA::SparcFault< InstructionInvalidTSBEntry >, SparcISA::SparcFault< PrivilegedOpcode >, SparcISA::SparcFault< REDStateException >, SparcISA::SparcFault< HstickMatch >, SparcISA::SparcFault< InstructionBreakpoint >, SparcISA::SparcFault< VecDisabled >, SparcISA::SparcFault< StoreError >, SparcISA::SparcFault< FpDisabled >, SparcISA::SparcFault< DataRealTranslationMiss >, SparcISA::SparcFault< PrivilegedAction >, SparcISA::SparcFault< FpExceptionIEEE754 >, SparcISA::SparcFault< InterruptLevelN >, SparcISA::SparcFault< MemAddressNotAligned >, SparcISA::SparcFault< InstructionAccessException >, SparcISA::SparcFault< InstructionRealTranslationMiss >, SparcISA::SparcFault< FastInstructionAccessMMUMiss >, SparcISA::SparcFault< ExternallyInitiatedReset >, SparcISA::SparcFault< TrapInstruction >, SparcISA::SparcFault< DevMondo >, SparcISA::SparcFault< STDFMemAddressNotAligned >, SparcISA::SparcFault< CleanWindow >, SparcISA::SparcFault< LDQFMemAddressNotAligned >, SparcISA::SparcFault< FastDataAccessProtection >, SparcISA::SparcFault< DivisionByZero >, SparcISA::SparcFault< SpillNNormal >, SparcISA::SparcFault< DataAccessError >, SparcISA::SparcFault< IllegalInstruction >, SparcISA::SparcFault< SoftwareInitiatedReset >, SparcISA::SparcFault< DataInvalidTSBEntry >, SparcISA::SparcFault< InstructionAccessError >, SparcISA::SparcFault< FpExceptionOther >, SparcISA::SparcFault< PowerOnReset >, SparcISA::SparcFault< FillNOther >, SparcISA::SparcFault< DataAccessProtection >, SparcISA::SparcFault< InternalProcessorError >, SparcISA::SparcFault< ResumableError >, SparcISA::SparcFault< PAWatchpoint >, SparcISA::SparcFault< InterruptVector >, SparcISA::SparcFault< TrapLevelZero >, SparcISA::SparcFault< SpillNOther >, SparcISA::SparcFault< DataAccessException >, SparcISA::SparcFault< FillNNormal >, SparcISA::SparcFault< FastDataAccessMMUMiss >, SparcISA::SparcFault< VAWatchpoint >, SparcISA::SparcFault< WatchDogReset >, SparcISA::SparcFault< STQFMemAddressNotAligned >, SparcISA::SparcFault< LDDFMemAddressNotAligned >, and SparcISA::SparcFault< CpuMondo >.

◆ trapType()

virtual TrapType SparcISA::SparcFaultBase::trapType ( )
pure virtual

Implemented in SparcISA::EnumeratedFault< T >, SparcISA::EnumeratedFault< InterruptLevelN >, SparcISA::EnumeratedFault< TrapInstruction >, SparcISA::EnumeratedFault< SpillNNormal >, SparcISA::EnumeratedFault< FillNOther >, SparcISA::EnumeratedFault< SpillNOther >, SparcISA::EnumeratedFault< FillNNormal >, SparcISA::SparcFault< T >, SparcISA::SparcFault< TagOverflow >, SparcISA::SparcFault< InstructionInvalidTSBEntry >, SparcISA::SparcFault< PrivilegedOpcode >, SparcISA::SparcFault< REDStateException >, SparcISA::SparcFault< HstickMatch >, SparcISA::SparcFault< InstructionBreakpoint >, SparcISA::SparcFault< VecDisabled >, SparcISA::SparcFault< StoreError >, SparcISA::SparcFault< FpDisabled >, SparcISA::SparcFault< DataRealTranslationMiss >, SparcISA::SparcFault< PrivilegedAction >, SparcISA::SparcFault< FpExceptionIEEE754 >, SparcISA::SparcFault< InterruptLevelN >, SparcISA::SparcFault< MemAddressNotAligned >, SparcISA::SparcFault< InstructionAccessException >, SparcISA::SparcFault< InstructionRealTranslationMiss >, SparcISA::SparcFault< FastInstructionAccessMMUMiss >, SparcISA::SparcFault< ExternallyInitiatedReset >, SparcISA::SparcFault< TrapInstruction >, SparcISA::SparcFault< DevMondo >, SparcISA::SparcFault< STDFMemAddressNotAligned >, SparcISA::SparcFault< CleanWindow >, SparcISA::SparcFault< LDQFMemAddressNotAligned >, SparcISA::SparcFault< FastDataAccessProtection >, SparcISA::SparcFault< DivisionByZero >, SparcISA::SparcFault< SpillNNormal >, SparcISA::SparcFault< DataAccessError >, SparcISA::SparcFault< IllegalInstruction >, SparcISA::SparcFault< SoftwareInitiatedReset >, SparcISA::SparcFault< DataInvalidTSBEntry >, SparcISA::SparcFault< InstructionAccessError >, SparcISA::SparcFault< FpExceptionOther >, SparcISA::SparcFault< PowerOnReset >, SparcISA::SparcFault< FillNOther >, SparcISA::SparcFault< DataAccessProtection >, SparcISA::SparcFault< InternalProcessorError >, SparcISA::SparcFault< ResumableError >, SparcISA::SparcFault< PAWatchpoint >, SparcISA::SparcFault< InterruptVector >, SparcISA::SparcFault< TrapLevelZero >, SparcISA::SparcFault< SpillNOther >, SparcISA::SparcFault< DataAccessException >, SparcISA::SparcFault< FillNNormal >, SparcISA::SparcFault< FastDataAccessMMUMiss >, SparcISA::SparcFault< VAWatchpoint >, SparcISA::SparcFault< WatchDogReset >, SparcISA::SparcFault< STQFMemAddressNotAligned >, SparcISA::SparcFault< LDDFMemAddressNotAligned >, and SparcISA::SparcFault< CpuMondo >.


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

Generated on Wed Sep 30 2020 14:03:11 for gem5 by doxygen 1.8.17