From 2f93db6f95b02d2bedf9571330a3185ac3fa7fa9 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Sun, 29 Jul 2007 20:17:03 -0700 Subject: memory system: fix functional access bug. Make sure not to keep processing functional accesses after they've been responded to. Also use checkFunctional() return value instead of checking packet command field where possible, mostly just for consistency. --HG-- extra : convert_revision : 29fc76bc18731bd93a4ed05a281297827028ef75 --- src/mem/cache/cache_impl.hh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/mem/cache/cache_impl.hh') diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index c1b01d676..d144266ed 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -1253,9 +1253,9 @@ template void Cache::CpuSidePort::recvFunctional(PacketPtr pkt) { - checkFunctional(pkt); - if (!pkt->isResponse()) + if (!checkFunctional(pkt)) { myCache()->functionalAccess(pkt, cache->memSidePort); + } } @@ -1327,9 +1327,9 @@ template void Cache::MemSidePort::recvFunctional(PacketPtr pkt) { - checkFunctional(pkt); - if (!pkt->isResponse()) + if (!checkFunctional(pkt)) { myCache()->functionalAccess(pkt, cache->cpuSidePort); + } } -- cgit v1.2.3