summaryrefslogtreecommitdiff
path: root/src/cpu/minor
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2015-07-30 10:15:50 +0100
committerAndreas Sandberg <andreas.sandberg@arm.com>2015-07-30 10:15:50 +0100
commit473a0dcc63135a32cc5f736c14a3142a34b4352e (patch)
tree7ef74a73219b776f4f28370a730a02b3248bded1 /src/cpu/minor
parentd8f732273ecda73122ad3ba184e358ed265fa875 (diff)
downloadgem5-473a0dcc63135a32cc5f736c14a3142a34b4352e.tar.xz
cpu: Fix drain issues in the Minor CPU
The drain refactor patches introduced a couple of bugs in the way Minor handles draining. This patch fixes an incorrect assert and a case of infinite recursion when the CPU signals drain done.
Diffstat (limited to 'src/cpu/minor')
-rw-r--r--src/cpu/minor/cpu.cc4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/cpu/minor/cpu.cc b/src/cpu/minor/cpu.cc
index a93d0037d..aefd5599d 100644
--- a/src/cpu/minor/cpu.cc
+++ b/src/cpu/minor/cpu.cc
@@ -213,14 +213,12 @@ void
MinorCPU::signalDrainDone()
{
DPRINTF(Drain, "MinorCPU drain done\n");
- signalDrainDone();
+ Drainable::signalDrainDone();
}
void
MinorCPU::drainResume()
{
- assert(drainState() == DrainState::Drained);
-
if (switchedOut()) {
DPRINTF(Drain, "drainResume while switched out. Ignoring\n");
return;