diff --git a/src/cpu/simple/atomic.cc b/src/cpu/simple/atomic.cc index 9187fa7c79..525bcbd227 100644 --- a/src/cpu/simple/atomic.cc +++ b/src/cpu/simple/atomic.cc @@ -252,6 +252,7 @@ AtomicSimpleCPU::activateContext(int thread_num, int delay) assert(!tickEvent.scheduled()); notIdleFraction++; + numCycles += tickToCycles(thread->lastActivate - thread->lastSuspend); //Make sure ticks are still on multiples of cycles tickEvent.schedule(nextCycle(curTick + ticks(delay))); diff --git a/src/cpu/simple/timing.cc b/src/cpu/simple/timing.cc index 2b5577e04e..b70fc2a414 100644 --- a/src/cpu/simple/timing.cc +++ b/src/cpu/simple/timing.cc @@ -172,7 +172,6 @@ TimingSimpleCPU::resume() } changeState(SimObject::Running); - previousTick = curTick; } void @@ -207,6 +206,7 @@ TimingSimpleCPU::takeOverFrom(BaseCPU *oldCPU) if (_status != Running) { _status = Idle; } + previousTick = curTick; }