diff options
-rw-r--r-- | src/sim/clock_domain.cc | 7 | ||||
-rw-r--r-- | src/sim/clock_domain.hh | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/sim/clock_domain.cc b/src/sim/clock_domain.cc index 60c688b1a..1ccee7f1d 100644 --- a/src/sim/clock_domain.cc +++ b/src/sim/clock_domain.cc @@ -147,6 +147,11 @@ SrcClockDomain::perfLevel(PerfLevel perf_level) _perfLevel = perf_level; + signalPerfLevelUpdate(); +} + +void SrcClockDomain::signalPerfLevelUpdate() +{ // Signal the voltage domain that we have changed our perf level so that the // voltage domain can recompute its performance level voltageDomain()->sanitiseVoltages(); @@ -174,7 +179,7 @@ SrcClockDomain::startup() { // Perform proper clock update when all related components have been // created (i.e. after unserialization / object creation) - perfLevel(_perfLevel); + signalPerfLevelUpdate(); } SrcClockDomain * diff --git a/src/sim/clock_domain.hh b/src/sim/clock_domain.hh index 71627434a..6ba8b6396 100644 --- a/src/sim/clock_domain.hh +++ b/src/sim/clock_domain.hh @@ -244,6 +244,11 @@ class SrcClockDomain : public ClockDomain private: /** + * Inform other components about the changed performance level + */ + void signalPerfLevelUpdate(); + + /** * List of possible frequency operational points, should be in * descending order * An empty list corresponds to default frequency specified for its |