summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSteve Reinhardt <steve.reinhardt@amd.com>2009-09-26 10:50:50 -0700
committerSteve Reinhardt <steve.reinhardt@amd.com>2009-09-26 10:50:50 -0700
commitf28ea7a6c9ea9506524adff0f468d6dd789c510c (patch)
treef28fd82d1034ef74108de989c1a56b43e0716290 /src
parent25d1f2728ad848272d572bb5829f8df35594f783 (diff)
downloadgem5-f28ea7a6c9ea9506524adff0f468d6dd789c510c.tar.xz
O3: Mark fetch stage as active if it faults.
Otherwise if the rest of the pipeline is idle then fault will never propagate to commit to be handled, causing CPU to deadlock.
Diffstat (limited to 'src')
-rw-r--r--src/cpu/o3/fetch_impl.hh2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cpu/o3/fetch_impl.hh b/src/cpu/o3/fetch_impl.hh
index 5c6e287dc..e6815ef8a 100644
--- a/src/cpu/o3/fetch_impl.hh
+++ b/src/cpu/o3/fetch_impl.hh
@@ -1264,6 +1264,8 @@ DefaultFetch<Impl>::fetch(bool &status_change)
toDecode->insts[numInst] = instruction;
toDecode->size++;
+ wroteToTimeBuffer = true;
+
DPRINTF(Fetch, "[tid:%i]: Blocked, need to handle the trap.\n",tid);
fetchStatus[tid] = TrapPending;