diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2015-07-30 10:15:50 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2015-07-30 10:15:50 +0100 |
commit | 473a0dcc63135a32cc5f736c14a3142a34b4352e (patch) | |
tree | 7ef74a73219b776f4f28370a730a02b3248bded1 /src/cpu/minor | |
parent | d8f732273ecda73122ad3ba184e358ed265fa875 (diff) | |
download | gem5-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.cc | 4 |
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; |