summaryrefslogtreecommitdiff
path: root/src/cpu/o3
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2013-03-04 23:33:47 -0500
committerAli Saidi <saidi@eecs.umich.edu>2013-03-04 23:33:47 -0500
commitf205d83359dfb3c4f75159f83081b5e356c3c4b4 (patch)
tree54d847c2b4f0d57acff50b4367c43bc3390bc619 /src/cpu/o3
parentf4fd12d49e9a4aea3ab3b538301b5fd0f657137b (diff)
downloadgem5-f205d83359dfb3c4f75159f83081b5e356c3c4b4.tar.xz
cpu: fix a switching issue with the o3 cpu.
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.
Diffstat (limited to 'src/cpu/o3')
-rw-r--r--src/cpu/o3/fetch_impl.hh3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cpu/o3/fetch_impl.hh b/src/cpu/o3/fetch_impl.hh
index e0eb10334..249111f3d 100644
--- a/src/cpu/o3/fetch_impl.hh
+++ b/src/cpu/o3/fetch_impl.hh
@@ -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;