cpu: fix a switching issue with the o3 cpu.
authorAli Saidi <saidi@eecs.umich.edu>
Tue, 5 Mar 2013 04:33:47 +0000 (23:33 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Tue, 5 Mar 2013 04:33:47 +0000 (23:33 -0500)
This change fixes the switcheroo test that broke earlier this month. The code
that was checking for the pipeline being blocked wasn't checking for a pending
translation, only for a icache access.

src/cpu/o3/fetch_impl.hh

index e0eb10334c2f507573033b5bae0bc02ff0d596b4..249111f3ddad48117d0fb8db0ba4a3282eeb3c3e 100644 (file)
@@ -1048,7 +1048,8 @@ DefaultFetch<Impl>::checkSignalsAndUpdate(ThreadID tid)
 
     if (checkStall(tid) &&
         fetchStatus[tid] != IcacheWaitResponse &&
-        fetchStatus[tid] != IcacheWaitRetry) {
+        fetchStatus[tid] != IcacheWaitRetry &&
+        fetchStatus[tid] != ItlbWait) {
         DPRINTF(Fetch, "[tid:%i]: Setting to blocked\n",tid);
 
         fetchStatus[tid] = Blocked;