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

#include <faults.hh>

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

Public Member Functions

virtual uint8_t getVector () const
 Get the vector of an interrupt. More...
- Public Member Functions inherited from gem5::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
void invoke (ThreadContext *tc, const StaticInstPtr &inst=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 56 of file faults.hh.

Constructor & Destructor Documentation

◆ X86FaultBase()

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

Definition at line 64 of file faults.hh.

Member Function Documentation

◆ describe()

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

Reimplemented in gem5::X86ISA::PageFault.

Definition at line 100 of file

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

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

◆ getVector()

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

Get the vector of an interrupt.

interrupt vector number.

Definition at line 85 of file faults.hh.

References vector.

Referenced by gem5::X86KvmCPU::deliverInterrupts().

◆ invoke()

void gem5::X86ISA::X86FaultBase::invoke ( ThreadContext tc,
const StaticInstPtr inst = nullStaticInstPtr 

◆ isBenign()

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

Definition at line 71 of file faults.hh.

◆ mnemonic()

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

Definition at line 72 of file faults.hh.

References mnem.

Referenced by describe().

◆ name()

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

Implements gem5::FaultBase.

Definition at line 70 of file faults.hh.

References faultName.

Member Data Documentation

◆ errorCode

uint64_t gem5::X86ISA::X86FaultBase::errorCode

◆ faultName

const char* gem5::X86ISA::X86FaultBase::faultName

Definition at line 59 of file faults.hh.

Referenced by name().

◆ mnem

const char* gem5::X86ISA::X86FaultBase::mnem

Definition at line 60 of file faults.hh.

Referenced by mnemonic().

◆ vector

uint8_t gem5::X86ISA::X86FaultBase::vector

Definition at line 61 of file faults.hh.

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

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

Generated on Wed Dec 21 2022 10:25:03 for gem5 by doxygen 1.9.1