summaryrefslogtreecommitdiff
path: root/src/cpu/simple/probes
diff options
context:
space:
mode:
authorNikos Nikoleris <nikos.nikoleris@gmail.com>2015-01-20 14:15:27 -0600
committerNikos Nikoleris <nikos.nikoleris@gmail.com>2015-01-20 14:15:27 -0600
commita35283ac65f956a88c796972c77f0ac5d9d8a180 (patch)
tree2afa07212b24a2ddea4650c5123cd2bd4eed60ec /src/cpu/simple/probes
parent3cb9c361e2ad567f821f1377de77035a16390be1 (diff)
downloadgem5-a35283ac65f956a88c796972c77f0ac5d9d8a180.tar.xz
cpu: commit probe notification on every microop or macroop
The ppCommit should notify the attached listener every time the cpu commits a microop or non microcoded insturction. The listener can then decide whether it will process only the last microop (eg. SimPoint probe). Committed by: Nilay Vaish <nilay@cs.wisc.edu>
Diffstat (limited to 'src/cpu/simple/probes')
-rw-r--r--src/cpu/simple/probes/simpoint.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/simple/probes/simpoint.cc b/src/cpu/simple/probes/simpoint.cc
index f2c0be62b..2de3cd420 100644
--- a/src/cpu/simple/probes/simpoint.cc
+++ b/src/cpu/simple/probes/simpoint.cc
@@ -79,6 +79,9 @@ SimPoint::profile(const std::pair<SimpleThread*, StaticInstPtr>& p)
SimpleThread* thread = p.first;
const StaticInstPtr &inst = p.second;
+ if (inst->isMicroop() && !inst->isLastMicroop())
+ return;
+
if (!currentBBVInstCount)
currentBBV.first = thread->pcState().instAddr();