diff -r 89aa34e10625 -r 813a740147cc src/mem/ruby/system/RubyPort.cc --- a/src/mem/ruby/system/RubyPort.cc Wed Mar 27 18:36:21 2013 -0500 +++ b/src/mem/ruby/system/RubyPort.cc Thu Mar 28 10:31:52 2013 +0000 @@ -168,18 +168,8 @@ //dsm: based on SimpleTimingPort::recvTimingReq(pkt); - // The received packets should only be M5 requests, which should never - // get nacked. There used to be code to hanldle nacks here, but - // I'm pretty sure it didn't work correctly with the drain code, - // so that would need to be fixed if we ever added it back. - - if (pkt->memInhibitAsserted()) { - warn("memInhibitAsserted???"); - // snooper will supply based on copy of packet - // still target's responsibility to delete packet - delete pkt; - return true; - } + if (pkt->memInhibitAsserted()) + panic("RubyPort should never see an inhibited request\n"); // Save the port in the sender state object to be used later to // route the response diff -r 89aa34e10625 -r 813a740147cc src/mem/tport.cc --- a/src/mem/tport.cc Wed Mar 27 18:36:21 2013 -0500 +++ b/src/mem/tport.cc Thu Mar 28 10:31:52 2013 +0000 @@ -68,12 +68,10 @@ 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; - return true; - } + // the SimpleTimingPort should not be used anywhere where there is + // a need to deal with inhibited packets + if (pkt->memInhibitAsserted()) + panic("SimpleTimingPort should never see an inhibited request\n"); bool needsResponse = pkt->needsResponse(); Tick latency = recvAtomic(pkt);