o3: Fix for retry ID bug.
It should be cleared prior to the call to recvRetry. Add extra DPRINTF statement for clearer debugging output. --HG-- extra : convert_revision : e2332754743f42d60e159ac89f6fb0fd8b7f57f8
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -928,6 +928,7 @@ void
|
||||
LSQUnit<Impl>::recvRetry()
|
||||
{
|
||||
if (isStoreBlocked) {
|
||||
DPRINTF(LSQUnit, "Receiving retry: store blocked\n");
|
||||
assert(retryPkt != NULL);
|
||||
|
||||
if (dcachePort->sendTiming(retryPkt)) {
|
||||
|
||||
Reference in New Issue
Block a user