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

#include <faults.hh>

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

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=nullStaticInstPtr)
 
virtual TrapType trapType ()=0
 
virtual FaultPriority priority ()=0
 
virtual PrivilegeLevel getNextLevel (PrivilegeLevel current)=0
 
- Public Member Functions inherited from gem5::FaultBase
virtual FaultName name () const =0
 
virtual ~FaultBase ()
 

Detailed Description

Definition at line 49 of file faults.hh.

Member Typedef Documentation

◆ PrivilegeLevelSpec

Definition at line 61 of file faults.hh.

Member Enumeration Documentation

◆ PrivilegeLevel

Enumerator
User 
Privileged 
Hyperprivileged 
NumLevels 
SH 
ShouldntHappen 

Definition at line 52 of file faults.hh.

Member Function Documentation

◆ getNextLevel()

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

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

Referenced by invoke().

◆ invoke()

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

◆ priority()

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

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

◆ trapType()

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

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

Referenced by invoke().


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

Generated on Thu Jul 28 2022 13:34:18 for gem5 by doxygen 1.8.17