summaryrefslogtreecommitdiff
path: root/src/mem/bus.hh
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2006-10-11 19:25:48 -0400
committerRon Dreslinski <rdreslin@umich.edu>2006-10-11 19:25:48 -0400
commit3c7e0ec752c1d2c61b9e8c1233bb904d836b4e4e (patch)
tree2895dd28d365f8fa0452e673467c6c198ff3bf58 /src/mem/bus.hh
parent567afbf6ce5b2d6fe573878c39679e56a1bf5d15 (diff)
downloadgem5-3c7e0ec752c1d2c61b9e8c1233bb904d836b4e4e.tar.xz
Fix bus in FS mode.
src/mem/bus.cc: Add debugging statement src/mem/bus.hh: Fix implementation of bus for subsequent recvTimings while handling a retry request. src/mem/tport.cc: Rework timing port to retry properly --HG-- extra : convert_revision : fbfb5e8b4a625e49c6cd764da1df46a4f336b1b2
Diffstat (limited to 'src/mem/bus.hh')
-rw-r--r--src/mem/bus.hh16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mem/bus.hh b/src/mem/bus.hh
index a168c3c49..b1cbbe1e3 100644
--- a/src/mem/bus.hh
+++ b/src/mem/bus.hh
@@ -224,13 +224,15 @@ class Bus : public MemObject
port->onRetryList(true);
retryList.push_back(port);
} else {
- // The device was retrying a packet. It didn't work, so we'll leave
- // it at the head of the retry list.
- inRetry = false;
-
-/* // We shouldn't be receiving a packet from one port when a different
- // one is retrying.
- assert(port == retryingPort);*/
+ if (port->onRetryList()) {
+ // The device was retrying a packet. It didn't work, so we'll leave
+ // it at the head of the retry list.
+ assert(port == retryList.front());
+ inRetry = false;
+ }
+ else {
+ retryList.push_back(port);
+ }
}
}