diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2009-09-26 10:50:50 -0700 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2009-09-26 10:50:50 -0700 |
commit | f28ea7a6c9ea9506524adff0f468d6dd789c510c (patch) | |
tree | f28fd82d1034ef74108de989c1a56b43e0716290 /src/cpu/o3/fetch_impl.hh | |
parent | 25d1f2728ad848272d572bb5829f8df35594f783 (diff) | |
download | gem5-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/cpu/o3/fetch_impl.hh')
-rw-r--r-- | src/cpu/o3/fetch_impl.hh | 2 |
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; |