summaryrefslogtreecommitdiff
path: root/src/cpu/minor/pipeline.cc
diff options
context:
space:
mode:
authorMitch Hayenga <mitch.hayenga@arm.com>2016-07-21 17:19:16 +0100
committerMitch Hayenga <mitch.hayenga@arm.com>2016-07-21 17:19:16 +0100
commitff4009ac005be0347015f8ba5a8e37a3aa930e69 (patch)
treeb80cfa7c70c0e39f54c8c3d78527722cb6658510 /src/cpu/minor/pipeline.cc
parent8a476d387c84f037d0ccf3cc20dc88870ab45fec (diff)
downloadgem5-ff4009ac005be0347015f8ba5a8e37a3aa930e69.tar.xz
cpu: Add SMT support to MinorCPU
This patch adds SMT support to the MinorCPU. Currently RoundRobin or Random thread scheduling are supported. Change-Id: I91faf39ff881af5918cca05051829fc6261f20e3
Diffstat (limited to 'src/cpu/minor/pipeline.cc')
-rw-r--r--src/cpu/minor/pipeline.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/cpu/minor/pipeline.cc b/src/cpu/minor/pipeline.cc
index 39b7f31f9..8c04e3949 100644
--- a/src/cpu/minor/pipeline.cc
+++ b/src/cpu/minor/pipeline.cc
@@ -187,9 +187,9 @@ Pipeline::getDataPort()
}
void
-Pipeline::wakeupFetch()
+Pipeline::wakeupFetch(ThreadID tid)
{
- execute.wakeupFetch();
+ fetch1.wakeupFetch(tid);
}
bool
@@ -212,6 +212,11 @@ void
Pipeline::drainResume()
{
DPRINTF(Drain, "Drain resume\n");
+
+ for (ThreadID tid = 0; tid < cpu.numThreads; tid++) {
+ fetch1.wakeupFetch(tid);
+ }
+
execute.drainResume();
}