249,254d248
< if convert.toMemorySize(mdesc.mem()) > int(self.realview.max_mem_size):
< print "The currently selected ARM platforms doesn't support"
< print " the amount of DRAM you've selected. Please try"
< print " another platform"
< sys.exit(1)
<
260,261c254,272
< self.mem_ranges = [AddrRange(self.realview.mem_start_addr,
< size = mdesc.mem())]
---
> self.mem_ranges = []
> size_remain = long(Addr(mdesc.mem()))
> for region in self.realview._mem_regions:
> if size_remain > long(region[1]):
> self.mem_ranges.append(AddrRange(region[0], size=region[1]))
> size_remain = size_remain - long(region[1])
> else:
> self.mem_ranges.append(AddrRange(region[0], size=size_remain))
> size_remain = 0
> break
> warn("Memory size specified spans more than one region. Creating" \
> " another memory controller for that range.")
>
> if size_remain > 0:
> fatal("The currently selected ARM platforms doesn't support" \
> " the amount of DRAM you've selected. Please try" \
> " another platform")
>
>