diff options
author | Steve Reinhardt <stever@gmail.com> | 2008-06-21 01:06:27 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@gmail.com> | 2008-06-21 01:06:27 -0400 |
commit | 1434b8694319047ba7f35cc6c1a9c965ccba3f22 (patch) | |
tree | 34e7ccd055e8ee61460fcef22849a100cfe5fb9e /src | |
parent | 6b45238316052f458ba9ebc9d24a91cfa9e41cf1 (diff) | |
download | gem5-1434b8694319047ba7f35cc6c1a9c965ccba3f22.tar.xz |
Make bus address conflict error more informative
Diffstat (limited to 'src')
-rw-r--r-- | src/mem/bus.cc | 9 |
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()); |