diff options
Diffstat (limited to 'src/mem/simple_mem.cc')
-rw-r--r-- | src/mem/simple_mem.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mem/simple_mem.cc b/src/mem/simple_mem.cc index e78b57928..d3a53a26f 100644 --- a/src/mem/simple_mem.cc +++ b/src/mem/simple_mem.cc @@ -94,10 +94,16 @@ SimpleMemory::doFunctionalAccess(PacketPtr pkt) bool SimpleMemory::recvTimingReq(PacketPtr pkt) { + /// @todo temporary hack to deal with memory corruption issues until + /// 4-phase transactions are complete + for (int x = 0; x < pendingDelete.size(); x++) + delete pendingDelete[x]; + pendingDelete.clear(); + if (pkt->memInhibitAsserted()) { // snooper will supply based on copy of packet // still target's responsibility to delete packet - delete pkt; + pendingDelete.push_back(pkt); return true; } |