diff options
Diffstat (limited to 'src/cpu/simple')
-rw-r--r-- | src/cpu/simple/atomic.cc | 8 | ||||
-rw-r--r-- | src/cpu/simple/timing.cc | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/cpu/simple/atomic.cc b/src/cpu/simple/atomic.cc index c47686abc..9039e6137 100644 --- a/src/cpu/simple/atomic.cc +++ b/src/cpu/simple/atomic.cc @@ -1,6 +1,6 @@ /* * Copyright 2014 Google, Inc. - * Copyright (c) 2012-2013,2015 ARM Limited + * Copyright (c) 2012-2013,2015,2017 ARM Limited * All rights reserved. * * The license below extends only to copyright in the software and shall @@ -101,6 +101,9 @@ AtomicSimpleCPU::~AtomicSimpleCPU() DrainState AtomicSimpleCPU::drain() { + // Deschedule any power gating event (if any) + deschedulePowerGatingEvent(); + if (switchedOut()) return DrainState::Drained; @@ -163,6 +166,9 @@ AtomicSimpleCPU::drainResume() threadInfo[tid]->notIdleFraction = 0; } } + + // Reschedule any power gating event (if any) + schedulePowerGatingEvent(); } bool diff --git a/src/cpu/simple/timing.cc b/src/cpu/simple/timing.cc index d2cb6ee21..f57354d56 100644 --- a/src/cpu/simple/timing.cc +++ b/src/cpu/simple/timing.cc @@ -1,6 +1,6 @@ /* * Copyright 2014 Google, Inc. - * Copyright (c) 2010-2013,2015 ARM Limited + * Copyright (c) 2010-2013,2015,2017 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -94,6 +94,9 @@ TimingSimpleCPU::~TimingSimpleCPU() DrainState TimingSimpleCPU::drain() { + // Deschedule any power gating event (if any) + deschedulePowerGatingEvent(); + if (switchedOut()) return DrainState::Drained; @@ -146,6 +149,9 @@ TimingSimpleCPU::drainResume() } } + // Reschedule any power gating event (if any) + schedulePowerGatingEvent(); + system->totalNumInsts = 0; } |