Use ReadResp instead of LoadLockedResp for LoadLockedReq responses.

This commit is contained in:
Steve Reinhardt
2008-07-15 14:38:51 -04:00
parent 6262e0d909
commit 8e7ddce284
3 changed files with 6 additions and 7 deletions

View File

@@ -730,7 +730,9 @@ TimingSimpleCPU::completeDataAccess(PacketPtr pkt)
traceData = NULL;
}
if (pkt->isRead() && pkt->isLocked()) {
// the locked flag may be cleared on the response packet, so check
// pkt->req and not pkt to see if it was a load-locked
if (pkt->isRead() && pkt->req->isLocked()) {
TheISA::handleLockedRead(thread, pkt->req);
}

View File

@@ -101,12 +101,10 @@ MemCmd::commandInfo[] =
/* ReadExResp */
{ SET4(IsRead, NeedsExclusive, IsResponse, HasData),
InvalidCmd, "ReadExResp" },
/* LoadLockedReq */
/* LoadLockedReq: note that we use plain ReadResp as response, so that
* we can also use ReadRespWithInvalidate when needed */
{ SET4(IsRead, IsLocked, IsRequest, NeedsResponse),
LoadLockedResp, "LoadLockedReq" },
/* LoadLockedResp */
{ SET4(IsRead, IsLocked, IsResponse, HasData),
InvalidCmd, "LoadLockedResp" },
ReadResp, "LoadLockedReq" },
/* StoreCondReq */
{ SET6(IsWrite, NeedsExclusive, IsLocked,
IsRequest, NeedsResponse, HasData),

View File

@@ -81,7 +81,6 @@ class MemCmd
ReadExReq,
ReadExResp,
LoadLockedReq,
LoadLockedResp,
StoreCondReq,
StoreCondResp,
SwapReq,