diff options
Diffstat (limited to 'src/mem/abstract_mem.cc')
-rw-r--r-- | src/mem/abstract_mem.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mem/abstract_mem.cc b/src/mem/abstract_mem.cc index ec1be04e1..4690a5d80 100644 --- a/src/mem/abstract_mem.cc +++ b/src/mem/abstract_mem.cc @@ -322,15 +322,21 @@ AbstractMemory::checkLockedAddrList(PacketPtr pkt) void AbstractMemory::access(PacketPtr pkt) { - assert(AddrRange(pkt->getAddr(), - pkt->getAddr() + pkt->getSize() - 1).isSubset(range)); - if (pkt->memInhibitAsserted()) { DPRINTF(MemoryAccess, "mem inhibited on 0x%x: not responding\n", pkt->getAddr()); return; } + if (pkt->cmd == MemCmd::CleanEvict) { + DPRINTF(MemoryAccess, "CleanEvict on 0x%x: not responding\n", + pkt->getAddr()); + return; + } + + assert(AddrRange(pkt->getAddr(), + pkt->getAddr() + (pkt->getSize() - 1)).isSubset(range)); + uint8_t *hostAddr = pmemAddr + pkt->getAddr() - range.start(); if (pkt->cmd == MemCmd::SwapReq) { |