sim-power: Specify the states a PowerState object can be in
This commit adds the concept of possible power states to the PowerState SimObject. This is a list of the power states a specific object can be in. Before transitioning to a power state, a PowerState object will first check if the requested power states is actually an allowed state. The user can restricted the power states a ClockedObject can go to during configuration. In addition, this change sets the power states, a CPU can be in. Change-Id: Ida414a87554a14f09767a272b54b5d19bfc8e911 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28050 Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Nikos Nikoleris
parent
818961969a
commit
4b2f2b5ced
@@ -62,6 +62,11 @@ class PowerState(SimObject):
|
||||
# routine
|
||||
default_state = Param.PwrState("UNDEFINED", "Default Power State")
|
||||
|
||||
# Possible power states this object can be in sorted from the most
|
||||
# to the least performant
|
||||
possible_states = VectorParam.PwrState(
|
||||
[], "Power states this object can be in")
|
||||
|
||||
clk_gate_min = Param.Latency('1ns',"Min value of the distribution")
|
||||
clk_gate_max = Param.Latency('1s',"Max value of the distribution")
|
||||
clk_gate_bins = Param.Unsigned('20', "# bins in clk gated distribution")
|
||||
|
||||
Reference in New Issue
Block a user