Only issue responses if we aren;t already blocked
[gem5.git] / src / mem / bus.cc
index 7bdd44100a117794f64ab7e10a7fa427dc9b9fcf..03c1a42094bbe08692979e4558d224f2ac1a0010 100644 (file)
@@ -188,6 +188,7 @@ Bus::recvTiming(Packet *pkt)
         // Packet was successfully sent. Return true.
         // Also take care of retries
         if (inRetry) {
+            DPRINTF(Bus, "Remove retry from list %i\n", retryList.front());
             retryList.front()->onRetryList(false);
             retryList.pop_front();
             inRetry = false;
@@ -196,6 +197,7 @@ Bus::recvTiming(Packet *pkt)
     }
 
     // Packet not successfully sent. Leave or put it on the retry list.
+    DPRINTF(Bus, "Adding a retry to RETRY list %i\n", pktPort);
     addToRetryList(pktPort);
     return false;
 }
@@ -203,10 +205,12 @@ Bus::recvTiming(Packet *pkt)
 void
 Bus::recvRetry(int id)
 {
+    DPRINTF(Bus, "Received a retry\n");
     // If there's anything waiting...
     if (retryList.size()) {
         //retryingPort = retryList.front();
         inRetry = true;
+        DPRINTF(Bus, "Sending a retry\n");
         retryList.front()->sendRetry();
         // If inRetry is still true, sendTiming wasn't called
         if (inRetry)
@@ -266,8 +270,8 @@ Bus::findSnoopPorts(Addr addr, int id)
             //Careful  to not overlap ranges
             //or snoop will be called more than once on the port
             ports.push_back(portSnoopList[i].portId);
-            DPRINTF(Bus, "  found snoop addr %#llx on device%d\n", addr,
-                    portSnoopList[i].portId);
+//            DPRINTF(Bus, "  found snoop addr %#llx on device%d\n", addr,
+//                    portSnoopList[i].portId);
         }
         i++;
     }