summaryrefslogtreecommitdiff
path: root/src/mem/cache
diff options
context:
space:
mode:
authorDaniel R. Carvalho <odanrc@yahoo.com.br>2018-04-04 11:40:32 +0200
committerDaniel Carvalho <odanrc@yahoo.com.br>2018-04-05 09:50:05 +0000
commit50cc923f8cd708ae55042977085ecef4e6a261e5 (patch)
tree07156ef105146c9e3aa50bafb303070ff1f447f8 /src/mem/cache
parentf97f8a2804b528b110644303e3317c2bcc09889b (diff)
downloadgem5-50cc923f8cd708ae55042977085ecef4e6a261e5.tar.xz
mem-cache: Use Packet functions to write data blocks
Instead of using raw memcpy, use the proper writer functions from the Packet class in Cache. Fixed typos in comments of these functions. Change-Id: I156a00989c6cbaa73763349006a37a18243d6ed4 Reviewed-on: https://gem5-review.googlesource.com/9661 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache')
-rw-r--r--src/mem/cache/cache.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mem/cache/cache.cc b/src/mem/cache/cache.cc
index c03b5b2a8..28c4343d1 100644
--- a/src/mem/cache/cache.cc
+++ b/src/mem/cache/cache.cc
@@ -416,7 +416,7 @@ Cache::access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat,
}
// nothing else to do; writeback doesn't expect response
assert(!pkt->needsResponse());
- std::memcpy(blk->data, pkt->getConstPtr<uint8_t>(), blkSize);
+ pkt->writeDataToBlock(blk->data, blkSize);
DPRINTF(Cache, "%s new state is %s\n", __func__, blk->print());
incHitCount(pkt);
// populate the time when the block will be ready to access.
@@ -477,7 +477,7 @@ Cache::access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat,
}
// nothing else to do; writeback doesn't expect response
assert(!pkt->needsResponse());
- std::memcpy(blk->data, pkt->getConstPtr<uint8_t>(), blkSize);
+ pkt->writeDataToBlock(blk->data, blkSize);
DPRINTF(Cache, "%s new state is %s\n", __func__, blk->print());
incHitCount(pkt);
@@ -1684,7 +1684,7 @@ Cache::writebackBlk(CacheBlk *blk)
blk->status &= ~BlkDirty;
pkt->allocate();
- std::memcpy(pkt->getPtr<uint8_t>(), blk->data, blkSize);
+ pkt->setDataFromBlock(blk->data, blkSize);
return pkt;
}
@@ -1722,7 +1722,7 @@ Cache::writecleanBlk(CacheBlk *blk, Request::Flags dest, PacketId id)
blk->status &= ~BlkDirty;
pkt->allocate();
- std::memcpy(pkt->getPtr<uint8_t>(), blk->data, blkSize);
+ pkt->setDataFromBlock(blk->data, blkSize);
return pkt;
}
@@ -1970,7 +1970,7 @@ Cache::handleFill(PacketPtr pkt, CacheBlk *blk, PacketList &writebacks,
assert(pkt->hasData());
assert(pkt->getSize() == blkSize);
- std::memcpy(blk->data, pkt->getConstPtr<uint8_t>(), blkSize);
+ pkt->writeDataToBlock(blk->data, blkSize);
}
// We pay for fillLatency here.
blk->whenReady = clockEdge() + fillLatency * clockPeriod() +