From: Steve Reinhardt Date: Sat, 26 Sep 2009 17:50:50 +0000 (-0700) Subject: O3: Mark fetch stage as active if it faults. X-Git-Tag: stable_2012_02_02~1724 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f28ea7a6c9ea9506524adff0f468d6dd789c510c;p=gem5.git 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. --- 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::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;