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.
This commit is contained in:
parent
d8f732273e
commit
473a0dcc63
1 changed files with 1 additions and 3 deletions
|
@ -213,14 +213,12 @@ void
|
||||||
MinorCPU::signalDrainDone()
|
MinorCPU::signalDrainDone()
|
||||||
{
|
{
|
||||||
DPRINTF(Drain, "MinorCPU drain done\n");
|
DPRINTF(Drain, "MinorCPU drain done\n");
|
||||||
signalDrainDone();
|
Drainable::signalDrainDone();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MinorCPU::drainResume()
|
MinorCPU::drainResume()
|
||||||
{
|
{
|
||||||
assert(drainState() == DrainState::Drained);
|
|
||||||
|
|
||||||
if (switchedOut()) {
|
if (switchedOut()) {
|
||||||
DPRINTF(Drain, "drainResume while switched out. Ignoring\n");
|
DPRINTF(Drain, "drainResume while switched out. Ignoring\n");
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue