Use ReadResp instead of LoadLockedResp for LoadLockedReq responses.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -81,7 +81,6 @@ class MemCmd
|
||||
ReadExReq,
|
||||
ReadExResp,
|
||||
LoadLockedReq,
|
||||
LoadLockedResp,
|
||||
StoreCondReq,
|
||||
StoreCondResp,
|
||||
SwapReq,
|
||||
|
||||
Reference in New Issue
Block a user