38#ifndef __DEV_ARM_RV_HH__
39#define __DEV_ARM_RV_HH__
43#include "params/RealViewCtrl.hh"
44#include "params/RealViewOsc.hh"
45#include "params/RealViewTemperatureSensor.hh"
84 virtual uint32_t
read()
const = 0;
85 virtual void write(uint32_t value) = 0;
145 static const uint32_t CFG_CTRL_ADDR_MASK = 0x3fffffffUL;
188 uint8_t
dcc, uint16_t
dev,
215 uint32_t
read()
const override;
216 void write(uint32_t freq)
override;
235 p.site,
p.position,
p.dcc,
p.device),
241 uint32_t read()
const override;
242 void write(uint32_t temp)
override {}
BasicPioDevice(const Params &p, Addr size)
ClockDomain(const Params &p, VoltageDomain *voltage_domain)
Device(RealViewCtrl &parent, DeviceFunc func, uint8_t site, uint8_t pos, uint8_t dcc, uint16_t dev)
virtual uint32_t read() const =0
virtual void write(uint32_t value)=0
void registerDevice(DeviceFunc func, uint8_t site, uint8_t pos, uint8_t dcc, uint16_t dev, Device *handler)
EndBitUnion(SysLockReg) BitUnion32(CfgCtrlReg) Bitfield< 11
Tick write(PacketPtr pkt) override
All writes are simply ignored.
uint32_t scData
This register contains the result from a system control reg access.
Tick read(PacketPtr pkt) override
Handle a read to the device.
uint32_t flags
This register is used for smp booting.
RealViewCtrl(const Params &p)
The constructor for RealView just registers itself with the MMU.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
BitUnion32(SysLockReg) Bitfield< 15
void serialize(CheckpointOut &cp) const override
Serialize an object.
std::map< uint32_t, Device * > devices
RealViewOsc(const RealViewOscParams &p)
RealViewTemperatureSensor(const RealViewTemperatureSensorParams &p)
void write(uint32_t temp) override
virtual ~RealViewTemperatureSensor()
System * system
The system this RV device belongs to.
SimObject(const Params &p)
virtual void startup()
startup() is the final initialization call before simulation.
Copyright (c) 2024 Arm Limited All rights reserved.
std::ostream CheckpointOut
uint64_t Tick
Tick count type.
Overload hash function for BasicBlockRange type.