summaryrefslogtreecommitdiff
path: root/src/cpu/minor
diff options
context:
space:
mode:
authorAkash Bagdia <akash.bagdia@ARM.com>2014-12-09 10:42:08 +0000
committerAkash Bagdia <akash.bagdia@ARM.com>2014-12-09 10:42:08 +0000
commit1c34ee20dfbbd557e394d61825232b10c0f3d37f (patch)
treeb3a6cedf9cb10fec3c0722df7301bc1c5cca1507 /src/cpu/minor
parent3ee4957b4930a252c0185a6bc71bdf1c6ebc5ed9 (diff)
downloadgem5-1c34ee20dfbbd557e394d61825232b10c0f3d37f.tar.xz
power: Low-power idle power state for idle CPUs
Add functionality to the BaseCPU that will put the entire CPU into a low-power idle state whenever all threads in it are idle.
Diffstat (limited to 'src/cpu/minor')
-rw-r--r--src/cpu/minor/cpu.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/minor/cpu.cc b/src/cpu/minor/cpu.cc
index cd39a8b93..a707c6045 100644
--- a/src/cpu/minor/cpu.cc
+++ b/src/cpu/minor/cpu.cc
@@ -287,6 +287,8 @@ MinorCPU::activateContext(ThreadID thread_id)
threads[thread_id]->activate();
wakeupOnEvent(Minor::Pipeline::CPUStageId);
pipeline->wakeupFetch();
+
+ BaseCPU::activateContext(thread_id);
}
void
@@ -295,6 +297,8 @@ MinorCPU::suspendContext(ThreadID thread_id)
DPRINTF(MinorCPU, "SuspendContext %d\n", thread_id);
threads[thread_id]->suspend();
+
+ BaseCPU::suspendContext(thread_id);
}
void