changeset 52bcc301b467 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=52bcc301b467 description: Use ReadResp instead of LoadLockedResp for LoadLockedReq responses.
diffstat: 2 files changed, 3 insertions(+), 2 deletions(-) src/cpu/simple/timing.cc | 2 +- src/mem/packet.cc | 3 ++- diffs (44 lines): diff -r c1f203a35cc3 -r 52bcc301b467 src/cpu/simple/timing.cc --- a/src/cpu/simple/timing.cc Tue Jul 15 14:38:51 2008 -0400 +++ b/src/cpu/simple/timing.cc Tue Jul 15 14:38:51 2008 -0400 @@ -730,7 +730,9 @@ 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); } diff -r c1f203a35cc3 -r 52bcc301b467 src/mem/packet.cc --- a/src/mem/packet.cc Tue Jul 15 14:38:51 2008 -0400 +++ b/src/mem/packet.cc Tue Jul 15 14:38:51 2008 -0400 @@ -101,12 +101,10 @@ /* 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), diff -r c1f203a35cc3 -r 52bcc301b467 src/mem/packet.hh --- a/src/mem/packet.hh Tue Jul 15 14:38:51 2008 -0400 +++ b/src/mem/packet.hh Tue Jul 15 14:38:51 2008 -0400 @@ -81,7 +81,6 @@ ReadExReq, ReadExResp, LoadLockedReq, - LoadLockedResp, StoreCondReq, StoreCondResp, SwapReq, _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev