summaryrefslogtreecommitdiff
path: root/src/cpu/o3/fetch_impl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/o3/fetch_impl.hh')
-rw-r--r--src/cpu/o3/fetch_impl.hh10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cpu/o3/fetch_impl.hh b/src/cpu/o3/fetch_impl.hh
index b121ba707..5b04c2a25 100644
--- a/src/cpu/o3/fetch_impl.hh
+++ b/src/cpu/o3/fetch_impl.hh
@@ -163,6 +163,13 @@ DefaultFetch<Impl>::name() const
template <class Impl>
void
+DefaultFetch<Impl>::regProbePoints()
+{
+ ppFetch = new ProbePointArg<DynInstPtr>(cpu->getProbeManager(), "Fetch");
+}
+
+template <class Impl>
+void
DefaultFetch<Impl>::regStats()
{
icacheStallCycles
@@ -401,6 +408,7 @@ DefaultFetch<Impl>::processCacheCompletion(PacketPtr pkt)
}
pkt->req->setAccessLatency();
+ cpu->ppInstAccessComplete->notify(pkt);
// Reset the mem req to NULL.
delete pkt->req;
delete pkt;
@@ -666,7 +674,6 @@ DefaultFetch<Impl>::finishTranslation(Fault fault, RequestPtr mem_req)
DPRINTF(Fetch, "[tid:%i]: Doing Icache access.\n", tid);
DPRINTF(Activity, "[tid:%i]: Activity: Waiting on I-cache "
"response.\n", tid);
-
lastIcacheStall[tid] = curTick();
fetchStatus[tid] = IcacheWaitResponse;
}
@@ -1312,6 +1319,7 @@ DefaultFetch<Impl>::fetch(bool &status_change)
buildInst(tid, staticInst, curMacroop,
thisPC, nextPC, true);
+ ppFetch->notify(instruction);
numInst++;
#if TRACING_ON