From: Florent Kermarrec Date: Mon, 10 Feb 2020 17:19:35 +0000 (+0100) Subject: soc: use io_regions for alloc_region X-Git-Tag: 24jan2021_ls180~677^2~21 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d320be8ecbc5726df468a5ca1a87d13a9b21264d;p=litex.git soc: use io_regions for alloc_region --- diff --git a/litex/soc/integration/soc.py b/litex/soc/integration/soc.py index 22a87ff6..191f41e1 100755 --- a/litex/soc/integration/soc.py +++ b/litex/soc/integration/soc.py @@ -198,7 +198,7 @@ class SoCBusHandler(Module): # If no origin specified, allocate region. if region.origin is None: allocated = True - region = self.alloc_region(region.size, region.cached) + region = self.alloc_region(name, region.size, region.cached) self.regions[name] = region # Else add region and check for overlaps. else: @@ -227,18 +227,14 @@ class SoCBusHandler(Module): self.logger.error("{} is not a supported Region".format(colorer(name, color="red"))) raise - def alloc_region(self, size, cached=True): + def alloc_region(self, name, size, cached=True): self.logger.info("Allocating {} Region of size {}...".format( colorer("Cached" if cached else "IO"), colorer("0x{:08x}".format(size)))) # Limit Search Regions - uncached_regions = {} - for _, region in self.regions.items(): - if region.cached == False: - uncached_regions[name] = region if cached == False: - search_regions = uncached_regions + search_regions = self.io_regions else: search_regions = {"main": SoCRegion(origin=0x00000000, size=2**self.address_width-1)}