X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fxbar.cc;h=b139cdc9b9dabd2a5b366b7e0007438bb60d4dde;hb=24bfdc36f19fddbfcb33cc2f33fb216e8da0382d;hp=c3a5c83fe0aabdcb7149d258cf7dbd4d0a93785d;hpb=9494e7d16a18802b756fdc0e814837d5c98bbd86;p=gem5.git diff --git a/src/mem/xbar.cc b/src/mem/xbar.cc index c3a5c83fe..b139cdc9b 100644 --- a/src/mem/xbar.cc +++ b/src/mem/xbar.cc @@ -321,34 +321,34 @@ BaseXBar::Layer::recvRetry() } PortID -BaseXBar::findPort(Addr addr) +BaseXBar::findPort(AddrRange addr_range) { // we should never see any address lookups before we've got the // ranges of all connected slave modules assert(gotAllAddrRanges); // Check the address map interval tree - auto i = portMap.contains(addr); + auto i = portMap.contains(addr_range); if (i != portMap.end()) { return i->second; } // Check if this matches the default range if (useDefaultRange) { - if (defaultRange.contains(addr)) { - DPRINTF(AddrRanges, " found addr %#llx on default\n", - addr); + if (addr_range.isSubset(defaultRange)) { + DPRINTF(AddrRanges, " found addr %s on default\n", + addr_range.to_string()); return defaultPortID; } } else if (defaultPortID != InvalidPortID) { - DPRINTF(AddrRanges, "Unable to find destination for addr %#llx, " - "will use default port\n", addr); + DPRINTF(AddrRanges, "Unable to find destination for %s, " + "will use default port\n", addr_range.to_string()); return defaultPortID; } // we should use the range for the default port and it did not // match, or the default port is not set - fatal("Unable to find destination for addr %#llx on %s\n", addr, + fatal("Unable to find destination for %s on %s\n", addr_range.to_string(), name()); }