Go to the documentation of this file.
38 #ifndef __DEV_ARM_FVP_BASE_PWR_CTRL_HH__
39 #define __DEV_ARM_FVP_BASE_PWR_CTRL_HH__
41 #include <unordered_map>
47 struct FVPBasePwrCtrlParams;
183 #endif // __DEV_ARM_FVP_BASE_PWR_CTRL_HH__
void powerCoreOn(ThreadContext *const tc, PwrStatus *const pwrs)
Powers on a core.
ArmSystem & system
Reference to the arm system.
void startup() override
startup() is the final initialization call before simulation.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
void clearWakeRequest(ThreadContext *const tc)
Triggered by the GIC when GICR_WAKER.ProcessorSleep becomes 0.
uint64_t Tick
Tick count type.
BitUnion32(PwrStatus) Bitfield< 30 > l1
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
void clearStandByWfi(ThreadContext *const tc)
Triggered when an interrupt is posted to the core.
void setStandByWfi(ThreadContext *const tc)
Triggered by the ISA when a WFI instruction is executed and (1) there are no pending interrupts and (...
static constexpr uint32_t MPID_MSK
Mask for extracting the MPID from a 32-bit value.
void powerCoreOff(ThreadContext *const tc, PwrStatus *const pwrs)
Powers off a core.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
EndBitUnion(PciCommandRegister) union PCIConfig
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool setWakeRequest(ThreadContext *const tc)
Triggered by the GIC when GICR_WAKER.ProcessorSleep is 1 and there are pending interrupts for the cor...
std::unordered_map< uint32_t, size_t > poweredCoresPerCluster
Number of powered cores per cluster.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
PwrStatus * getCorePwrStatus(ThreadContext *const tc)
Retrieves the power status of a certain core and resizes the entries if needed.
ThreadContext * getThreadContextByMPID(uint32_t mpid) const
Retrieves the thread context reference for a CPU core by MPID.
FVPBasePwrCtrl(const FVPBasePwrCtrlParams ¶ms)
const Params & params() const
std::vector< PwrStatus > corePwrStatus
Per-core power status.
EndBitUnion(PwrStatus) enum Offset struct FVPBasePwrCtrl::Registers regs
void startCoreUp(ThreadContext *const tc)
Starts a core up.
Generated on Tue Mar 23 2021 19:41:25 for gem5 by doxygen 1.8.17