diff options
-rw-r--r-- | src/kern/tru64/tru64_events.cc | 3 | ||||
-rw-r--r-- | src/mem/bus.cc | 6 | ||||
-rw-r--r-- | src/mem/comm_monitor.cc | 3 | ||||
-rw-r--r-- | src/mem/port.cc | 6 | ||||
-rw-r--r-- | src/mem/port.hh | 5 |
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. */ |