diff --git a/src/cpu/minor/cpu.cc b/src/cpu/minor/cpu.cc index b49c1ecdac..51a3f3ae87 100644 --- a/src/cpu/minor/cpu.cc +++ b/src/cpu/minor/cpu.cc @@ -201,6 +201,11 @@ MinorCPU::startup() DrainState MinorCPU::drain() { + if (switchedOut()) { + DPRINTF(Drain, "Minor CPU switched out, draining not needed.\n"); + return DrainState::Drained; + } + DPRINTF(Drain, "MinorCPU drain\n"); /* Need to suspend all threads and wait for Execute to idle.