diff options
Diffstat (limited to 'src/cpu/o3')
-rw-r--r-- | src/cpu/o3/lsq_impl.hh | 3 | ||||
-rw-r--r-- | src/cpu/o3/lsq_unit_impl.hh | 1 |
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)) { |