summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kern/tru64/tru64_events.cc3
-rw-r--r--src/mem/bus.cc6
-rw-r--r--src/mem/comm_monitor.cc3
-rw-r--r--src/mem/port.cc6
-rw-r--r--src/mem/port.hh5
5 files changed, 19 insertions, 4 deletions
diff --git a/src/kern/tru64/tru64_events.cc b/src/kern/tru64/tru64_events.cc
index 89f2990b9..fd4c20bdd 100644
--- a/src/kern/tru64/tru64_events.cc
+++ b/src/kern/tru64/tru64_events.cc
@@ -62,7 +62,8 @@ BadAddrEvent::process(ThreadContext *tc)
MasterPort &dataPort = tc->getCpuPtr()->getDataPort();
- AddrRangeList resp = dataPort.getSlavePort().getAddrRanges();
+ // get the address ranges of the connected slave port
+ AddrRangeList resp = dataPort.getAddrRanges();
for (iter = resp.begin(); iter != resp.end(); iter++) {
if (*iter == (K0Seg2Phys(a0) & PAddrImplMask))
found = true;
diff --git a/src/mem/bus.cc b/src/mem/bus.cc
index 648b66f4d..5be53dbcd 100644
--- a/src/mem/bus.cc
+++ b/src/mem/bus.cc
@@ -317,8 +317,9 @@ BaseBus::recvRangeChange(PortID master_port_id)
defaultRange.clear();
// Only try to update these ranges if the user set a default responder.
if (useDefaultRange) {
+ // get the address ranges of the connected slave port
AddrRangeList ranges =
- masterPorts[master_port_id]->getSlavePort().getAddrRanges();
+ masterPorts[master_port_id]->getAddrRanges();
for(iter = ranges.begin(); iter != ranges.end(); iter++) {
defaultRange.push_back(*iter);
DPRINTF(BusAddrRanges, "Adding range %#llx - %#llx for default range\n",
@@ -339,7 +340,8 @@ BaseBus::recvRangeChange(PortID master_port_id)
portIter++;
}
- ranges = port->getSlavePort().getAddrRanges();
+ // get the address ranges of the connected slave port
+ ranges = port->getAddrRanges();
for (iter = ranges.begin(); iter != ranges.end(); iter++) {
DPRINTF(BusAddrRanges, "Adding range %#llx - %#llx for id %d\n",
diff --git a/src/mem/comm_monitor.cc b/src/mem/comm_monitor.cc
index d8d5806bb..8469a2469 100644
--- a/src/mem/comm_monitor.cc
+++ b/src/mem/comm_monitor.cc
@@ -347,7 +347,8 @@ CommMonitor::deviceBlockSizeSlave()
AddrRangeList
CommMonitor::getAddrRanges()
{
- return masterPort.getSlavePort().getAddrRanges();
+ // get the address ranges of the connected slave port
+ return masterPort.getAddrRanges();
}
void
diff --git a/src/mem/port.cc b/src/mem/port.cc
index 6007d303c..36ca6304a 100644
--- a/src/mem/port.cc
+++ b/src/mem/port.cc
@@ -103,6 +103,12 @@ MasterPort::peerBlockSize() const
return _slavePort->deviceBlockSize();
}
+AddrRangeList
+MasterPort::getAddrRanges() const
+{
+ return _slavePort->getAddrRanges();
+}
+
Tick
MasterPort::sendAtomic(PacketPtr pkt)
{
diff --git a/src/mem/port.hh b/src/mem/port.hh
index 49b0e1846..cfeb87571 100644
--- a/src/mem/port.hh
+++ b/src/mem/port.hh
@@ -215,6 +215,11 @@ class MasterPort : public Port
*/
unsigned peerBlockSize() const;
+ /**
+ * Get the address ranges of the connected slave port.
+ */
+ AddrRangeList getAddrRanges() const;
+
/** Inject a PrintReq for the given address to print the state of
* that address throughout the memory system. For debugging.
*/