gem5  v21.1.0.2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gem5::X86ISA::PageFault Class Reference

#include <faults.hh>

Inheritance diagram for gem5::X86ISA::PageFault:
gem5::X86ISA::X86Fault gem5::X86ISA::X86FaultBase gem5::FaultBase

Public Member Functions

 PageFault (Addr _addr, uint32_t _errorCode)
 
 PageFault (Addr _addr, bool present, BaseMMU::Mode mode, bool user, bool reserved)
 
void invoke (ThreadContext *tc, const StaticInstPtr &inst=nullStaticInstPtr)
 
virtual std::string describe () const
 
- Public Member Functions inherited from gem5::X86ISA::X86FaultBase
virtual uint8_t getVector () const
 Get the vector of an interrupt. More...
 
- Public Member Functions inherited from gem5::FaultBase
virtual ~FaultBase ()
 

Protected Member Functions

 BitUnion32 (PageFaultErrorCode) Bitfield< 0 > present
 
 EndBitUnion (PageFaultErrorCode) Addr addr
 
- Protected Member Functions inherited from gem5::X86ISA::X86Fault
 X86FaultBase (const char *_faultName, const char *_mnem, const uint8_t _vector, uint64_t _errorCode=(uint64_t) -1)
 
- Protected Member Functions inherited from gem5::X86ISA::X86FaultBase
 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 ()
 

Protected Attributes

Bitfield< 1 > write
 
Bitfield< 2 > user
 
Bitfield< 3 > reserved
 
Bitfield< 4 > fetch
 
- Protected Attributes inherited from gem5::X86ISA::X86FaultBase
const char * faultName
 
const char * mnem
 
uint8_t vector
 
uint64_t errorCode
 

Detailed Description

Definition at line 264 of file faults.hh.

Constructor & Destructor Documentation

◆ PageFault() [1/2]

gem5::X86ISA::PageFault::PageFault ( Addr  _addr,
uint32_t  _errorCode 
)
inline

Definition at line 278 of file faults.hh.

◆ PageFault() [2/2]

gem5::X86ISA::PageFault::PageFault ( Addr  _addr,
bool  present,
BaseMMU::Mode  mode,
bool  user,
bool  reserved 
)
inline

Member Function Documentation

◆ BitUnion32()

gem5::X86ISA::PageFault::BitUnion32 ( PageFaultErrorCode  )
protected

◆ describe()

std::string gem5::X86ISA::PageFault::describe ( ) const
virtual

Reimplemented from gem5::X86ISA::X86FaultBase.

Definition at line 179 of file faults.cc.

References gem5::X86ISA::addr, gem5::ccprintf(), gem5::X86ISA::X86FaultBase::describe(), and ss.

◆ EndBitUnion()

gem5::X86ISA::PageFault::EndBitUnion ( PageFaultErrorCode  )
protected

◆ invoke()

void gem5::X86ISA::PageFault::invoke ( ThreadContext tc,
const StaticInstPtr inst = nullStaticInstPtr 
)
virtual

Member Data Documentation

◆ fetch

Bitfield<4> gem5::X86ISA::PageFault::fetch
protected

Definition at line 272 of file faults.hh.

◆ reserved

Bitfield<3> gem5::X86ISA::PageFault::reserved
protected

Definition at line 271 of file faults.hh.

Referenced by PageFault().

◆ user

Bitfield<2> gem5::X86ISA::PageFault::user
protected

Definition at line 270 of file faults.hh.

Referenced by PageFault().

◆ write

Bitfield<1> gem5::X86ISA::PageFault::write
protected

Definition at line 269 of file faults.hh.


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

Generated on Tue Sep 21 2021 12:34:58 for gem5 by doxygen 1.8.17