diff options
Diffstat (limited to 'src/mem/cache')
-rw-r--r-- | src/mem/cache/base.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc index 6f3914ccd..a7c210697 100644 --- a/src/mem/cache/base.cc +++ b/src/mem/cache/base.cc @@ -861,10 +861,9 @@ BaseCache::satisfyRequest(PacketPtr pkt, CacheBlk *blk, bool, bool) if (pkt->isAtomicOp()) { // extract data from cache and save it into the data field in // the packet as a return value from this atomic op - int offset = tags->extractBlkOffset(pkt->getAddr()); uint8_t *blk_data = blk->data + offset; - std::memcpy(pkt->getPtr<uint8_t>(), blk_data, pkt->getSize()); + pkt->setData(blk_data); // execute AMO operation (*(pkt->getAtomicOp()))(blk_data); |