summaryrefslogtreecommitdiff
path: root/src/mem/xbar.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/xbar.hh')
-rw-r--r--src/mem/xbar.hh9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mem/xbar.hh b/src/mem/xbar.hh
index 7f3c17677..6e7d7afce 100644
--- a/src/mem/xbar.hh
+++ b/src/mem/xbar.hh
@@ -54,6 +54,7 @@
#include <deque>
#include "base/addr_range_map.hh"
+#include "base/hashmap.hh"
#include "base/types.hh"
#include "mem/mem_object.hh"
#include "params/BaseXBar.hh"
@@ -247,6 +248,14 @@ class BaseXBar : public MemObject
AddrRangeMap<PortID> portMap;
+ /**
+ * Remember where request packets came from so that we can route
+ * responses to the appropriate port. This relies on the fact that
+ * the underlying Request pointer inside the Packet stays
+ * constant.
+ */
+ m5::unordered_map<RequestPtr, PortID> routeTo;
+
/** all contigous ranges seen by this crossbar */
AddrRangeList xbarRanges;