summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel R. Carvalho <odanrc@yahoo.com.br>2019-02-11 15:41:34 +0100
committerDaniel Carvalho <odanrc@yahoo.com.br>2019-04-19 16:34:00 +0000
commit639b4006ff67f3312d12450d950706fb514f42e9 (patch)
tree1eab65cb32cfa747309c309cc0d8a9d3db52c213
parent2d84dc46babdcbd6b6f061d3fe3fec34b999ff5c (diff)
downloadgem5-639b4006ff67f3312d12450d950706fb514f42e9.tar.xz
mem-cache: Remove blk_addr from Queue::trySatisfyFunctional
The blk_addr is pkt->getBlockAddr(), and therefore can be acquired internally, when needed, as long as the pkt is provided. Change-Id: I2780445d2a0cb9e27257961efc4f438cc19550e5 Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17537 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
-rw-r--r--src/mem/cache/base.cc4
-rw-r--r--src/mem/cache/queue.hh4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc
index 2a6bc2a56..70e7ba186 100644
--- a/src/mem/cache/base.cc
+++ b/src/mem/cache/base.cc
@@ -649,8 +649,8 @@ BaseCache::functionalAccess(PacketPtr pkt, bool from_cpu_side)
bool done = have_dirty ||
cpuSidePort.trySatisfyFunctional(pkt) ||
- mshrQueue.trySatisfyFunctional(pkt, blk_addr) ||
- writeBuffer.trySatisfyFunctional(pkt, blk_addr) ||
+ mshrQueue.trySatisfyFunctional(pkt) ||
+ writeBuffer.trySatisfyFunctional(pkt) ||
memSidePort.trySatisfyFunctional(pkt);
DPRINTF(CacheVerbose, "%s: %s %s%s%s\n", __func__, pkt->print(),
diff --git a/src/mem/cache/queue.hh b/src/mem/cache/queue.hh
index 30fe4bad6..c75894a76 100644
--- a/src/mem/cache/queue.hh
+++ b/src/mem/cache/queue.hh
@@ -181,11 +181,11 @@ class Queue : public Drainable
return nullptr;
}
- bool trySatisfyFunctional(PacketPtr pkt, Addr blk_addr)
+ bool trySatisfyFunctional(PacketPtr pkt)
{
pkt->pushLabel(label);
for (const auto& entry : allocatedList) {
- if (entry->matchBlockAddr(blk_addr, pkt->isSecure()) &&
+ if (entry->matchBlockAddr(pkt) &&
entry->trySatisfyFunctional(pkt)) {
pkt->popLabel();
return true;