From: Ilias Vougioukas Date: Fri, 27 May 2016 15:55:01 +0000 (+0100) Subject: cpu: fix lastStopped unserialisation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c8d6e3660ffd497b565836d2605d7b5281f0a78;p=gem5.git cpu: fix lastStopped unserialisation MinorCPU fix for corrupt numCycles when resuming from a previous simulation. --- src/cpu/minor/cpu.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- diff --git a/src/cpu/minor/cpu.cc b/src/cpu/minor/cpu.cc index cd39a8b93..7e53a87f6 100644 --- a/src/cpu/minor/cpu.cc +++ b/src/cpu/minor/cpu.cc @@ -227,6 +227,11 @@ MinorCPU::signalDrainDone() void MinorCPU::drainResume() { + /* When taking over from another cpu make sure lastStopped + * is reset since it might have not been defined previously + * and might lead to a stats corruption */ + pipeline->resetLastStopped(); + if (switchedOut()) { DPRINTF(Drain, "drainResume while switched out. Ignoring\n"); return; @@ -268,8 +273,6 @@ MinorCPU::takeOverFrom(BaseCPU *old_cpu) DPRINTF(MinorCPU, "MinorCPU takeOverFrom\n"); BaseCPU::takeOverFrom(old_cpu); - - /* Don't think I need to do anything here */ } void