gem5 v24.0.0.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
 
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()

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

Definition at line 166 of file faults.hh.

Member Function Documentation

◆ exception()

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

Definition at line 176 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().

◆ name()

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

Implements gem5::FaultBase.

Definition at line 170 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::AddressFault, gem5::RiscvISA::BreakpointFault, and gem5::RiscvISA::InstFault.

Definition at line 177 of file faults.hh.

Referenced by invoke().

Member Data Documentation

◆ _code

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

Definition at line 164 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 163 of file faults.hh.

Referenced by isInterrupt(), and isNonMaskableInterrupt().

◆ _name

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

Definition at line 162 of file faults.hh.

Referenced by name().


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

Generated on Tue Jun 18 2024 16:24:21 for gem5 by doxygen 1.11.0