gem5  v22.1.0.0
Protected Member Functions | Protected Attributes | List of all members
gem5::RiscvISA::RiscvFault Class Reference

#include <faults.hh>

Inheritance diagram for gem5::RiscvISA::RiscvFault:
gem5::FaultBase gem5::RiscvISA::AddressFault gem5::RiscvISA::BreakpointFault gem5::RiscvISA::InstFault gem5::RiscvISA::InterruptFault gem5::RiscvISA::NonMaskableInterruptFault gem5::RiscvISA::SyscallFault gem5::RiscvISA::IllegalFrmFault gem5::RiscvISA::IllegalInstFault gem5::RiscvISA::UnimplementedFault gem5::RiscvISA::UnknownInstFault

Protected Member Functions

 RiscvFault (FaultName n, FaultType ft, ExceptionCode c)
 
FaultName name () const override
 
bool isInterrupt () const
 
bool isNonMaskableInterrupt () const
 
ExceptionCode exception () const
 
virtual RegVal trap_value () const
 
virtual void invokeSE (ThreadContext *tc, const StaticInstPtr &inst)
 
void invoke (ThreadContext *tc, const StaticInstPtr &inst) override
 

Protected Attributes

const FaultName _name
 
const FaultType _fault_type
 
ExceptionCode _code
 

Additional Inherited Members

- Public Member Functions inherited from gem5::FaultBase
virtual ~FaultBase ()
 

Detailed Description

Definition at line 110 of file faults.hh.

Constructor & Destructor Documentation

◆ RiscvFault()

gem5::RiscvISA::RiscvFault::RiscvFault ( FaultName  n,
FaultType  ft,
ExceptionCode  c 
)
inlineprotected

Definition at line 117 of file faults.hh.

Member Function Documentation

◆ exception()

ExceptionCode gem5::RiscvISA::RiscvFault::exception ( ) const
inlineprotected

Definition at line 127 of file faults.hh.

References _code.

◆ invoke()

void gem5::RiscvISA::RiscvFault::invoke ( ThreadContext tc,
const StaticInstPtr inst 
)
overrideprotectedvirtual

◆ invokeSE()

void gem5::RiscvISA::RiscvFault::invokeSE ( ThreadContext tc,
const StaticInstPtr inst 
)
protectedvirtual

◆ isInterrupt()

bool gem5::RiscvISA::RiscvFault::isInterrupt ( ) const
inlineprotected

Definition at line 122 of file faults.hh.

References _fault_type, and gem5::RiscvISA::INTERRUPT.

Referenced by invoke().

◆ isNonMaskableInterrupt()

bool gem5::RiscvISA::RiscvFault::isNonMaskableInterrupt ( ) const
inlineprotected

Definition at line 123 of file faults.hh.

References _fault_type, and gem5::RiscvISA::NON_MASKABLE_INTERRUPT.

Referenced by invoke().

◆ name()

FaultName gem5::RiscvISA::RiscvFault::name ( ) const
inlineoverrideprotectedvirtual

Implements gem5::FaultBase.

Definition at line 121 of file faults.hh.

References _name.

Referenced by invoke(), and invokeSE().

◆ trap_value()

virtual RegVal gem5::RiscvISA::RiscvFault::trap_value ( ) const
inlineprotectedvirtual

Reimplemented in gem5::RiscvISA::BreakpointFault, gem5::RiscvISA::AddressFault, and gem5::RiscvISA::InstFault.

Definition at line 128 of file faults.hh.

Referenced by invoke().

Member Data Documentation

◆ _code

ExceptionCode gem5::RiscvISA::RiscvFault::_code
protected

Definition at line 115 of file faults.hh.

Referenced by exception(), invoke(), and gem5::RiscvISA::SyscallFault::SyscallFault().

◆ _fault_type

const FaultType gem5::RiscvISA::RiscvFault::_fault_type
protected

Definition at line 114 of file faults.hh.

Referenced by isInterrupt(), and isNonMaskableInterrupt().

◆ _name

const FaultName gem5::RiscvISA::RiscvFault::_name
protected

Definition at line 113 of file faults.hh.

Referenced by name().


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

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