gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.

References isa, and setISA().

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(), setThreadContext(), and ArmISA::DummyISADevice::~DummyISADevice().

◆ setISA()

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

Definition at line 51 of file isa_device.cc.

References isa.

Referenced by ArmISA::ISA::ISA(), and ~BaseISADevice().

◆ 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(), and ArmISA::DummyISADevice::~DummyISADevice().

◆ setThreadContext()

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

Reimplemented in Gicv3CPUInterface, and ArmISA::PMU.

Definition at line 65 of file isa_device.hh.

References readMiscReg(), setMiscReg(), and X86ISA::val.

Referenced by ArmISA::ISA::startup(), and ArmISA::ISA::takeOverFrom().

Member Data Documentation

◆ isa

ISA* ArmISA::BaseISADevice::isa
protected

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

Generated on Mon Jun 8 2020 15:45:31 for gem5 by doxygen 1.8.13