From: Steve Reinhardt Date: Sat, 21 Jun 2008 05:06:27 +0000 (-0400) Subject: Make bus address conflict error more informative X-Git-Tag: m5_2.0_beta6~93^2~2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1434b8694319047ba7f35cc6c1a9c965ccba3f22;p=gem5.git Make bus address conflict error more informative --- diff --git a/src/mem/bus.cc b/src/mem/bus.cc index 9dd3353fd..4468262ac 100644 --- a/src/mem/bus.cc +++ b/src/mem/bus.cc @@ -524,9 +524,12 @@ Bus::recvStatusChange(Port::Status status, int id) for (iter = ranges.begin(); iter != ranges.end(); iter++) { DPRINTF(BusAddrRanges, "Adding range %#llx - %#llx for id %d\n", iter->start, iter->end, id); - if (portMap.insert(*iter, id) == portMap.end()) - panic("Two devices with same range\n"); - + if (portMap.insert(*iter, id) == portMap.end()) { + int conflict_id = portMap.find(*iter)->second; + fatal("%s has two ports with same range:\n\t%s\n\t%s\n", + name(), interfaces[id]->getPeer()->name(), + interfaces[conflict_id]->getPeer()->name()); + } } } DPRINTF(MMU, "port list has %d entries\n", portMap.size());