mem: Merge ranges in bus before passing them on
authorAndreas Hansson <andreas.hansson@arm.com>
Fri, 1 Mar 2013 18:20:19 +0000 (13:20 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Fri, 1 Mar 2013 18:20:19 +0000 (13:20 -0500)
commitcafd38f36c4d71c3f3d6efaf0023aec2cfc51b32
tree713f70f114707f5cd8765937c44e03f87ec0df01
parentc636a09e83b08c27ce60a0f1d13536d736a06926
mem: Merge ranges in bus before passing them on

This patch adds basic merging of address ranges to the bus, such that
interleaved ranges are merged together before being passed on by the
bus. As such, the bus aggregates the address ranges of the connected
slave ports and then passes on the merged ranges through its master
ports. The bus thus hides the complexity of the interleaved ranges and
only exposes contigous ranges to the surrounding system.

As part of this patch, the bus ranges are also cached for any future
queries.
src/mem/bus.cc
src/mem/bus.hh