diff options
Diffstat (limited to 'util/tlm')
-rw-r--r-- | util/tlm/sc_port.cc | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/util/tlm/sc_port.cc b/util/tlm/sc_port.cc index 04efce87b..ab94f73ca 100644 --- a/util/tlm/sc_port.cc +++ b/util/tlm/sc_port.cc @@ -91,6 +91,13 @@ sc_transactor::recvAtomic(PacketPtr packet) CAUGHT_UP; SC_REPORT_INFO("transactor", "recvAtomic hasn't been tested much"); + panic_if(packet->cacheResponding(), "Should not see packets where cache " + "is responding"); + + panic_if(!(packet->isRead() || packet->isWrite()), + "Should only see read and writes at TLM memory\n"); + + sc_core::sc_time delay = sc_core::SC_ZERO_TIME; @@ -172,15 +179,17 @@ sc_transactor::recvTimingReq(PacketPtr packet) { CAUGHT_UP; + panic_if(packet->cacheResponding(), "Should not see packets where cache " + "is responding"); + + panic_if(!(packet->isRead() || packet->isWrite()), + "Should only see read and writes at TLM memory\n"); + + /* We should never get a second request after noting that a retry is * required */ sc_assert(!needToSendRequestRetry); - // simply drop inhibited packets and clean evictions - if (packet->memInhibitAsserted() || - packet->cmd == MemCmd::CleanEvict) - return true; - /* Remember if a request comes in while we're blocked so that a retry * can be sent to gem5 */ if (blockingRequest) { |