57 #ifndef __DEV_ARM_ENERGY_CTRL_HH__
58 #define __DEV_ARM_ENERGY_CTRL_HH__
61 #include "params/EnergyCtrl.hh"
139 void init()
override;
174 return (uint32_t)(voltage * 1000000);
187 #endif //__DEV_ARM_ENERGY_CTRL_HH__
void updatePLAck()
Update the acknowledgment that is read back by the software to confirm newly requested performance le...
uint32_t perfLevelAck
Acknowledgment (PERF_LEVEL_ACK) RO register, software polls this register to read back the status of ...
Tick write(PacketPtr pkt) override
Write command sent to the device.
static uint32_t toMicroVolt(double voltage)
Registers
Discovery flows:
uint32_t domainIDIndexToRead
Index for getting the domain ID from the domain ID list available with the DVFS handler.
DVFSHandler * dvfsHandler
EnergyCtrl(const Params *p)
uint32_t domainID
Cluster ID (DOMAIN_ID) R/W register, programmed to ID of the domain for which the set/get performance...
EventWrapper< EnergyCtrl,&EnergyCtrl::updatePLAck > updateAckEvent
uint64_t Tick
Tick count type.
void serialize(CheckpointOut &cp) const override
Serialize an object.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
DVFS Handler class, maintains a list of all the domains it can handle.
static uint32_t ticksTokHz(Tick period)
std::ostream CheckpointOut
Tick read(PacketPtr pkt) override
Read command sent to the device.
void startup() override
startup() is the final initialization call before simulation.