cpu: fix a switching issue with the o3 cpu. stable_2013_06_16
authorAli Saidi <Ali.Saidi@ARM.com>
Mon, 22 Apr 2013 17:20:31 +0000 (13:20 -0400)
committerAli Saidi <Ali.Saidi@ARM.com>
Mon, 22 Apr 2013 17:20:31 +0000 (13:20 -0400)
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 249111f3ddad48117d0fb8db0ba4a3282eeb3c3e..43effa9d70c2ad39a7e0d0b03e0715ad23a0dc24 100644 (file)
@@ -1049,7 +1049,8 @@ DefaultFetch<Impl>::checkSignalsAndUpdate(ThreadID tid)
     if (checkStall(tid) &&
         fetchStatus[tid] != IcacheWaitResponse &&
         fetchStatus[tid] != IcacheWaitRetry &&
-        fetchStatus[tid] != ItlbWait) {
+        fetchStatus[tid] != ItlbWait &&
+        fetchStatus[tid] != QuiescePending) {
         DPRINTF(Fetch, "[tid:%i]: Setting to blocked\n",tid);
 
         fetchStatus[tid] = Blocked;