summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@gmail.com>2008-06-21 01:06:27 -0400
committerSteve Reinhardt <stever@gmail.com>2008-06-21 01:06:27 -0400
commit1434b8694319047ba7f35cc6c1a9c965ccba3f22 (patch)
tree34e7ccd055e8ee61460fcef22849a100cfe5fb9e
parent6b45238316052f458ba9ebc9d24a91cfa9e41cf1 (diff)
downloadgem5-1434b8694319047ba7f35cc6c1a9c965ccba3f22.tar.xz
Make bus address conflict error more informative
-rw-r--r--src/mem/bus.cc9
1 files changed, 6 insertions, 3 deletions
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());