2c2
< * Copyright (c) 2011-2012 ARM Limited
---
> * Copyright (c) 2011-2012, 2014 ARM Limited
65,66c65
< numThreads(params->numThreads),
< retryTid(-1)
---
> numThreads(params->numThreads)
178,182d176
< if (retryTid != InvalidThreadID) {
< DPRINTF(Drain, "Not drained, the LSQ has blocked the caches.\n");
< drained = false;
< }
<
341,344c335,338
< if (retryTid == InvalidThreadID)
< {
< //Squashed, so drop it
< return;
---
> iewStage->cacheUnblocked();
>
> for (ThreadID tid : *activeThreads) {
> thread[tid].recvRetry();
346,350d339
< int curr_retry_tid = retryTid;
< // Speculatively clear the retry Tid. This will get set again if
< // the LSQUnit was unable to complete its access.
< retryTid = -1;
< thread[curr_retry_tid].recvRetry();