diff options
Diffstat (limited to 'src/cpu/simple')
-rw-r--r-- | src/cpu/simple/atomic.cc | 3 | ||||
-rw-r--r-- | src/cpu/simple/base.cc | 3 | ||||
-rw-r--r-- | src/cpu/simple/timing.cc | 7 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/cpu/simple/atomic.cc b/src/cpu/simple/atomic.cc index 9039e6137..eea7615c8 100644 --- a/src/cpu/simple/atomic.cc +++ b/src/cpu/simple/atomic.cc @@ -228,7 +228,6 @@ AtomicSimpleCPU::activateContext(ThreadID thread_num) Cycles delta = ticksToCycles(threadInfo[thread_num]->thread->lastActivate - threadInfo[thread_num]->thread->lastSuspend); numCycles += delta; - ppCycles->notify(delta); if (!tickEvent.scheduled()) { //Make sure ticks are still on multiples of cycles @@ -562,7 +561,7 @@ AtomicSimpleCPU::tick() for (int i = 0; i < width || locked; ++i) { numCycles++; - ppCycles->notify(1); + updateCycleCounters(BaseCPU::CPU_STATE_ON); if (!curStaticInst || !curStaticInst->isDelayedCommit()) { checkForInterrupts(); diff --git a/src/cpu/simple/base.cc b/src/cpu/simple/base.cc index 783967602..62900ec78 100644 --- a/src/cpu/simple/base.cc +++ b/src/cpu/simple/base.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2012,2015 ARM Limited + * Copyright (c) 2010-2012, 2015, 2017 ARM Limited * Copyright (c) 2013 Advanced Micro Devices, Inc. * All rights reserved * @@ -215,6 +215,7 @@ BaseSimpleCPU::haltContext(ThreadID thread_num) { // for now, these are equivalent suspendContext(thread_num); + updateCycleCounters(BaseCPU::CPU_STATE_SLEEP); } diff --git a/src/cpu/simple/timing.cc b/src/cpu/simple/timing.cc index f57354d56..c38f2107f 100644 --- a/src/cpu/simple/timing.cc +++ b/src/cpu/simple/timing.cc @@ -185,6 +185,7 @@ TimingSimpleCPU::switchOut() assert(thread->microPC() == 0); updateCycleCounts(); + updateCycleCounters(BaseCPU::CPU_STATE_ON); } @@ -363,6 +364,7 @@ TimingSimpleCPU::translationFault(const Fault &fault) // fault may be NoFault in cases where a fault is suppressed, // for instance prefetches. updateCycleCounts(); + updateCycleCounters(BaseCPU::CPU_STATE_ON); if (traceData) { // Since there was a fault, we shouldn't trace this instruction. @@ -631,6 +633,7 @@ TimingSimpleCPU::fetch() completeIfetch(NULL); updateCycleCounts(); + updateCycleCounters(BaseCPU::CPU_STATE_ON); } } @@ -664,6 +667,7 @@ TimingSimpleCPU::sendFetch(const Fault &fault, RequestPtr req, } updateCycleCounts(); + updateCycleCounters(BaseCPU::CPU_STATE_ON); } @@ -721,6 +725,7 @@ TimingSimpleCPU::completeIfetch(PacketPtr pkt) _status = BaseSimpleCPU::Running; updateCycleCounts(); + updateCycleCounters(BaseCPU::CPU_STATE_ON); if (pkt) pkt->req->setAccessLatency(); @@ -821,6 +826,7 @@ TimingSimpleCPU::completeDataAccess(PacketPtr pkt) pkt->req->setAccessLatency(); updateCycleCounts(); + updateCycleCounters(BaseCPU::CPU_STATE_ON); if (pkt->senderState) { SplitFragmentSenderState * send_state = @@ -875,7 +881,6 @@ TimingSimpleCPU::updateCycleCounts() const Cycles delta(curCycle() - previousCycle); numCycles += delta; - ppCycles->notify(delta); previousCycle = curCycle(); } |