summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-08-21 16:19:46 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-08-21 16:19:46 -0700
commit20e0a3792a0ef754966ca2e14db705cc9e8fff8e (patch)
tree147c23b7e23e471e688112313ca79caee38c9fad /src
parenta874cb40ab9f22612b0609cbac2c739daebacbd5 (diff)
parente1054170b54c37043d768d454f7b0eafcf1c119e (diff)
downloadgem5-20e0a3792a0ef754966ca2e14db705cc9e8fff8e.tar.xz
Merge with head.
--HG-- extra : convert_revision : 9ef81afcfabd86c9c069204998c987344f03f33e
Diffstat (limited to 'src')
-rw-r--r--src/cpu/o3/lsq_impl.hh3
-rw-r--r--src/cpu/o3/lsq_unit_impl.hh1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/cpu/o3/lsq_impl.hh b/src/cpu/o3/lsq_impl.hh
index 10c0afd38..c71a0ad9d 100644
--- a/src/cpu/o3/lsq_impl.hh
+++ b/src/cpu/o3/lsq_impl.hh
@@ -101,10 +101,11 @@ LSQ<Impl>::DcachePort::recvRetry()
//Squashed, so drop it
return;
}
- lsq->thread[lsq->retryTid].recvRetry();
+ int curr_retry_tid = lsq->retryTid;
// Speculatively clear the retry Tid. This will get set again if
// the LSQUnit was unable to complete its access.
lsq->retryTid = -1;
+ lsq->thread[curr_retry_tid].recvRetry();
}
template <class Impl>
diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh
index 8b2e82d8e..4ab149cee 100644
--- a/src/cpu/o3/lsq_unit_impl.hh
+++ b/src/cpu/o3/lsq_unit_impl.hh
@@ -928,6 +928,7 @@ void
LSQUnit<Impl>::recvRetry()
{
if (isStoreBlocked) {
+ DPRINTF(LSQUnit, "Receiving retry: store blocked\n");
assert(retryPkt != NULL);
if (dcachePort->sendTiming(retryPkt)) {