]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
lmb: allow for boards to specify memory map
authorSughosh Ganu <sughosh.ganu@linaro.org>
Tue, 15 Oct 2024 15:37:11 +0000 (21:07 +0530)
committerTom Rini <trini@konsulko.com>
Tue, 15 Oct 2024 19:45:29 +0000 (13:45 -0600)
Some architectures have special or unique aspects which need
consideration when adding memory ranges to the list of available
memory map. Enable this config in such scenarios which allow
architectures and boards to define their own memory map.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
include/lmb.h
lib/Kconfig
lib/lmb.c

index 837002121d9610b376056b28e7e6590934a82f61..e46abf400c682237923806b7615e63531a76f47b 100644 (file)
@@ -168,6 +168,8 @@ long lmb_free(phys_addr_t base, phys_size_t size);
 void lmb_dump_all(void);
 void lmb_dump_all_force(void);
 
+void lmb_arch_add_memory(void);
+
 struct lmb *lmb_get(void);
 int lmb_push(struct lmb *store);
 void lmb_pop(struct lmb *store);
index 67a60160dac588720fd3ce7234e9154334f8c5d0..3d2011ad4b745163181f7f7dfc87b10b3aba1f9e 100644 (file)
@@ -1119,6 +1119,24 @@ config SPL_LMB
          SPL. This will require a malloc() implementation for defining
          the data structures needed for maintaining the LMB memory map.
 
+config LMB_ARCH_MEM_MAP
+       bool "Add an architecture specific memory map"
+       depends on LMB
+       help
+         Some architectures have special or unique aspects which need
+         consideration when adding memory ranges to the list of available
+         memory map. Enable this config in such scenarios which allow
+         architectures and boards to define their own memory map.
+
+config SPL_LMB_ARCH_MEM_MAP
+       bool "Add an architecture specific memory map"
+       depends on SPL_LMB
+       help
+         Some architectures have special or unique scenarios which need
+         consideration when adding memory ranges to the list of available
+         memory map. Enable this config in such scenarios which allow
+         architectures and boards to define their own memory map.
+
 config PHANDLE_CHECK_SEQ
        bool "Enable phandle check while getting sequence number"
        help
index e7167f858f075512dc827a5e093d20a540f43442..ae69201d5b74437db1b86516dc1196f9917da0b1 100644 (file)
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -326,6 +326,9 @@ void lmb_add_memory(void)
        u64 ram_top = gd->ram_top;
        struct bd_info *bd = gd->bd;
 
+       if (CONFIG_IS_ENABLED(LMB_ARCH_MEM_MAP))
+               return lmb_arch_add_memory();
+
        /* Assume a 4GB ram_top if not defined */
        if (!ram_top)
                ram_top = 0x100000000ULL;