gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
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
 
bool isResumableNonMaskableInterrupt (ISA *isa) 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 159 of file faults.hh.

Constructor & Destructor Documentation

◆ RiscvFault()

Member Function Documentation

◆ exception()

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

Definition at line 180 of file faults.hh.

References _code.

Referenced by invoke().

◆ 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 171 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 172 of file faults.hh.

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

Referenced by invoke(), and isResumableNonMaskableInterrupt().

◆ isResumableNonMaskableInterrupt()

bool gem5::RiscvISA::RiscvFault::isResumableNonMaskableInterrupt ( ISA * isa) const
inlineprotected

Definition at line 176 of file faults.hh.

References gem5::RiscvISA::ISA::enableSmrnmi(), and isNonMaskableInterrupt().

Referenced by invoke().

◆ name()

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

Implements gem5::FaultBase.

Definition at line 170 of file faults.hh.

References _name.

Referenced by invoke(), invokeSE(), and gem5::RiscvISA::UnimplementedFault::UnimplementedFault().

◆ trap_value()

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

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

Definition at line 181 of file faults.hh.

Referenced by invoke().

Member Data Documentation

◆ _code

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

◆ _fault_type

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

Definition at line 163 of file faults.hh.

Referenced by isInterrupt(), isNonMaskableInterrupt(), and RiscvFault().

◆ _name

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

Definition at line 162 of file faults.hh.

Referenced by name(), and RiscvFault().


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

Generated on Mon May 26 2025 09:19:36 for gem5 by doxygen 1.13.2