From 7c8d6e3660ffd497b565836d2605d7b5281f0a78 Mon Sep 17 00:00:00 2001 From: Ilias Vougioukas Date: Fri, 27 May 2016 16:55:01 +0100 Subject: 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(-) --- src/cpu/minor/cpu.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/cpu') 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 -- cgit v1.2.3