gem5  v20.1.0.0
Public Member Functions | Protected Attributes | List of all members
ArmISA::BaseISADevice Class Referenceabstract

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

#include <isa_device.hh>

Inheritance diagram for ArmISA::BaseISADevice:
ArmISA::DummyISADevice ArmISA::PMU GenericTimerISA 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. More...
 
virtual RegVal readMiscReg (int misc_reg)=0
 Read a system register belonging to this device. More...
 

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 58 of file isa_device.hh.

Constructor & Destructor Documentation

◆ BaseISADevice()

ArmISA::BaseISADevice::BaseISADevice ( )

Definition at line 45 of file isa_device.cc.

◆ ~BaseISADevice()

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

Definition at line 62 of file isa_device.hh.

Member Function Documentation

◆ readMiscReg()

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

Read a system register belonging to this device.

Parameters
misc_regRegister number (see miscregs.hh)
Returns
Register value.

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

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

◆ setISA()

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

Definition at line 51 of file isa_device.cc.

References isa.

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

◆ setMiscReg()

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

Write to a system register belonging to this device.

Parameters
misc_regRegister number (see miscregs.hh)
valValue to store

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

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

◆ setThreadContext()

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

Reimplemented in Gicv3CPUInterface, and ArmISA::PMU.

Definition at line 65 of file isa_device.hh.

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

Member Data Documentation

◆ isa

ISA* ArmISA::BaseISADevice::isa
protected

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

Generated on Wed Sep 30 2020 14:02:35 for gem5 by doxygen 1.8.17