gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::ArmISA::BaseISADevice Class Referenceabstract

Base class for devices that use the MiscReg interfaces. More...

#include <isa_device.hh>

Inheritance diagram for gem5::ArmISA::BaseISADevice:
gem5::ArmISA::DummyISADevice gem5::ArmISA::PMU gem5::GenericTimerISA gem5::Gicv3CPUInterface

Public Member Functions

 BaseISADevice ()
 
virtual ~BaseISADevice ()
 
virtual void setISA (ISA *isa)
 
virtual void setThreadContext (ThreadContext *tc)
 
virtual void setMiscReg (int misc_reg, RegVal val)=0
 Write to a system register belonging to this device.
 
virtual RegVal readMiscReg (int misc_reg)=0
 Read a system register belonging to this device.
 

Protected Attributes

ISAisa
 

Detailed Description

Base class for devices that use the MiscReg interfaces.

This class provides a well-defined interface that the ArmISA class can use when forwarding MiscReg accesses to a device model (e.g., a PMU or GIC).

Definition at line 61 of file isa_device.hh.

Constructor & Destructor Documentation

◆ BaseISADevice()

gem5::ArmISA::BaseISADevice::BaseISADevice ( )

Definition at line 49 of file isa_device.cc.

◆ ~BaseISADevice()

virtual gem5::ArmISA::BaseISADevice::~BaseISADevice ( )
inlinevirtual

Definition at line 65 of file isa_device.hh.

Member Function Documentation

◆ readMiscReg()

virtual RegVal gem5::ArmISA::BaseISADevice::readMiscReg ( int misc_reg)
pure virtual

Read a system register belonging to this device.

Parameters
misc_regRegister number (see regs/misc.hh)
Returns
Register value.

Implemented in gem5::ArmISA::DummyISADevice, gem5::ArmISA::PMU, gem5::GenericTimerISA, and gem5::Gicv3CPUInterface.

Referenced by gem5::ArmISA::ISA::readMiscReg().

◆ setISA()

void gem5::ArmISA::BaseISADevice::setISA ( ISA * isa)
virtual

Definition at line 55 of file isa_device.cc.

References isa.

Referenced by gem5::Gicv3CPUInterface::Gicv3CPUInterface(), and gem5::ArmISA::ISA::ISA().

◆ setMiscReg()

virtual void gem5::ArmISA::BaseISADevice::setMiscReg ( int misc_reg,
RegVal val )
pure virtual

Write to a system register belonging to this device.

Parameters
misc_regRegister number (see regs/misc.hh)
valValue to store

Implemented in gem5::ArmISA::DummyISADevice, gem5::ArmISA::PMU, gem5::GenericTimerISA, and gem5::Gicv3CPUInterface.

Referenced by gem5::ArmISA::ISA::setMiscReg().

◆ setThreadContext()

virtual void gem5::ArmISA::BaseISADevice::setThreadContext ( ThreadContext * tc)
inlinevirtual

Reimplemented in gem5::ArmISA::PMU, and gem5::Gicv3CPUInterface.

Definition at line 68 of file isa_device.hh.

Referenced by gem5::ArmISA::ISA::setupThreadContext().

Member Data Documentation

◆ isa


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

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