gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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...
 

Protected Member Functions

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

Protected Attributes

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

Detailed Description

Definition at line 53 of file faults.hh.

Constructor & Destructor Documentation

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

Definition at line 61 of file faults.hh.

Member Function Documentation

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

Reimplemented in X86ISA::PageFault.

Definition at line 97 of file faults.cc.

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

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

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

Get the vector of an interrupt.

Returns
interrupt vector number.

Definition at line 99 of file faults.hh.

References vector.

Referenced by X86KvmCPU::deliverInterrupts().

void X86ISA::X86FaultBase::invoke ( ThreadContext tc,
const StaticInstPtr inst = StaticInst::nullStaticInstPtr 
)
protectedvirtual
virtual bool X86ISA::X86FaultBase::isBenign ( )
inlineprotectedvirtual

Definition at line 73 of file faults.hh.

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

Reimplemented in X86ISA::SoftwareInterrupt.

Definition at line 83 of file faults.hh.

Referenced by invoke().

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

Definition at line 78 of file faults.hh.

References mnem.

Referenced by describe().

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

Implements FaultBase.

Definition at line 68 of file faults.hh.

References faultName.

Member Data Documentation

uint64_t X86ISA::X86FaultBase::errorCode
protected
const char* X86ISA::X86FaultBase::faultName
protected

Definition at line 56 of file faults.hh.

Referenced by name().

const char* X86ISA::X86FaultBase::mnem
protected

Definition at line 57 of file faults.hh.

Referenced by mnemonic().

uint8_t X86ISA::X86FaultBase::vector
protected

Definition at line 58 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 Fri Jun 9 2017 13:04:41 for gem5 by doxygen 1.8.6