gem5  v20.1.0.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
X86ISA::X86FaultBase Class Reference

#include <faults.hh>

Inheritance diagram for X86ISA::X86FaultBase:
FaultBase X86ISA::DebugException X86ISA::SecurityException X86ISA::X86Abort X86ISA::X86Fault X86ISA::X86Interrupt X86ISA::X86Trap X86ISA::DoubleFault X86ISA::MachineCheck X86ISA::AlignmentCheck X86ISA::BoundRange X86ISA::DeviceNotAvailable X86ISA::DivideError X86ISA::GeneralProtection X86ISA::InvalidOpcode X86ISA::InvalidTSS X86ISA::PageFault X86ISA::SegmentNotPresent X86ISA::SIMDFloatingPointFault X86ISA::StackFault X86ISA::X87FpExceptionPending X86ISA::ExternalInterrupt X86ISA::InitInterrupt X86ISA::NonMaskableInterrupt X86ISA::SoftwareInterrupt X86ISA::StartupInterrupt X86ISA::SystemManagementInterrupt X86ISA::Breakpoint X86ISA::OverflowTrap

Public Member Functions

virtual uint8_t getVector () const
 Get the vector of an interrupt. More...
 
- Public Member Functions inherited from FaultBase
virtual ~FaultBase ()
 

Protected Member Functions

 X86FaultBase (const char *_faultName, const char *_mnem, const uint8_t _vector, uint64_t _errorCode=(uint64_t) -1)
 
const char * name () const override
 
virtual bool isBenign ()
 
virtual const char * mnemonic () const
 
virtual bool isSoft ()
 
void invoke (ThreadContext *tc, const StaticInstPtr &inst=StaticInst::nullStaticInstPtr) override
 
virtual std::string describe () const
 

Protected Attributes

const char * faultName
 
const char * mnem
 
uint8_t vector
 
uint64_t errorCode
 

Detailed Description

Definition at line 52 of file faults.hh.

Constructor & Destructor Documentation

◆ X86FaultBase()

X86ISA::X86FaultBase::X86FaultBase ( const char *  _faultName,
const char *  _mnem,
const uint8_t  _vector,
uint64_t  _errorCode = (uint64_t)-1 
)
inlineprotected

Definition at line 60 of file faults.hh.

Member Function Documentation

◆ describe()

std::string X86ISA::X86FaultBase::describe ( ) const
protectedvirtual

Reimplemented in X86ISA::PageFault.

Definition at line 95 of file faults.cc.

References ccprintf(), errorCode, mnemonic(), and ArmISA::ss.

Referenced by X86ISA::PageFault::describe(), and invoke().

◆ getVector()

virtual uint8_t X86ISA::X86FaultBase::getVector ( ) const
inlinevirtual

Get the vector of an interrupt.

Returns
interrupt vector number.

Definition at line 82 of file faults.hh.

References vector.

Referenced by X86KvmCPU::deliverInterrupts().

◆ invoke()

void X86ISA::X86FaultBase::invoke ( ThreadContext tc,
const StaticInstPtr inst = StaticInst::nullStaticInstPtr 
)
overrideprotectedvirtual

◆ isBenign()

virtual bool X86ISA::X86FaultBase::isBenign ( )
inlineprotectedvirtual

Definition at line 67 of file faults.hh.

◆ isSoft()

virtual bool X86ISA::X86FaultBase::isSoft ( )
inlineprotectedvirtual

Reimplemented in X86ISA::SoftwareInterrupt.

Definition at line 69 of file faults.hh.

Referenced by invoke().

◆ mnemonic()

virtual const char* X86ISA::X86FaultBase::mnemonic ( ) const
inlineprotectedvirtual

Definition at line 68 of file faults.hh.

References mnem.

Referenced by describe().

◆ name()

const char* X86ISA::X86FaultBase::name ( ) const
inlineoverrideprotectedvirtual

Implements FaultBase.

Definition at line 66 of file faults.hh.

References faultName.

Member Data Documentation

◆ errorCode

uint64_t X86ISA::X86FaultBase::errorCode
protected

◆ faultName

const char* X86ISA::X86FaultBase::faultName
protected

Definition at line 55 of file faults.hh.

Referenced by name().

◆ mnem

const char* X86ISA::X86FaultBase::mnem
protected

Definition at line 56 of file faults.hh.

Referenced by mnemonic().

◆ vector

uint8_t X86ISA::X86FaultBase::vector
protected

Definition at line 57 of file faults.hh.

Referenced by getVector(), invoke(), and X86ISA::StartupInterrupt::invoke().


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

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