sandbox: remap memory load addresses
authorSvyatoslav Ryhel <clamor95@gmail.com>
Fri, 7 Mar 2025 08:59:57 +0000 (10:59 +0200)
committerSvyatoslav Ryhel <clamor95@gmail.com>
Sat, 8 Mar 2025 14:27:22 +0000 (16:27 +0200)
The existing memory layout places the bloblist at 0xb000 and the fdt at
0x100, resulting in a 0xaf00 size constraint for the fdt. This constraint
has been reached. Lets modify the layout by moving the bloblist to 0x100,
device tree to 0x1000 and placing early memory allocation after pre-console
buffer at 0xf4000. This should guarantee sufficient memory allocation for
future expansion.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
arch/sandbox/Kconfig
common/Kconfig
doc/arch/sandbox/sandbox.rst
include/configs/sandbox.h
test/lib/kconfig.c

index 4c16903..d61a327 100644 (file)
@@ -77,7 +77,7 @@ config SANDBOX_BITS_PER_LONG
 
 config SYS_FDT_LOAD_ADDR
        hex "Address at which to load devicetree"
-       default 0x100
+       default 0x1000
        help
          With sandbox the devicetree is loaded into the emulated RAM. This sets
          the address that is used. There must be enough space at this address
index 7685914..cf4bee0 100644 (file)
@@ -1070,7 +1070,7 @@ endchoice
 
 config BLOBLIST_ADDR
        hex "Address of bloblist"
-       default 0xb000 if SANDBOX
+       default 0x100 if SANDBOX
        depends on BLOBLIST_FIXED
        help
          Sets the address of the bloblist, set up by the first part of U-Boot
index a8b0d7f..7e64130 100644 (file)
@@ -658,10 +658,10 @@ that are mapped into that memory:
 ========   ========================   ===============================
 Addr       Config                     Usage
 ========   ========================   ===============================
-     100   CONFIG_SYS_FDT_LOAD_ADDR   Device tree
-    b000   CONFIG_BLOBLIST_ADDR       Blob list
-   10000   CFG_MALLOC_F_ADDR          Early memory allocation
+     100   CONFIG_BLOBLIST_ADDR       Blob list
+    1000   CONFIG_SYS_FDT_LOAD_ADDR   Device tree
    f0000   CONFIG_PRE_CON_BUF_ADDR    Pre-console buffer
+   f4000   CFG_MALLOC_F_ADDR          Early memory allocation
   100000   TCG Event log              TCG Event Log
   200000   CONFIG_TRACE_EARLY_ADDR    Early trace buffer (if enabled). Also used
   400000   CONFIG_TEXT_BASE           Load buffer for U-Boot (sandbox_spl only)
index 2372485..db2ac7f 100644 (file)
@@ -6,7 +6,7 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CFG_MALLOC_F_ADDR              0x0010000
+#define CFG_MALLOC_F_ADDR              0x000f4000
 
 /* Size of our emulated memory */
 #define SB_CONCAT(x, y) x ## y
index a3645ab..2f47af9 100644 (file)
@@ -22,10 +22,10 @@ static int lib_test_is_enabled(struct unit_test_state *uts)
        ut_asserteq(0, CONFIG_IS_ENABLED(_UNDEFINED));
 
        if (IS_ENABLED(CONFIG_BLOBLIST)) {
-               ut_asserteq(0xb000, IF_ENABLED_INT(CONFIG_BLOBLIST_FIXED,
-                                                  CONFIG_BLOBLIST_ADDR));
-               ut_asserteq(0xb000, CONFIG_IF_ENABLED_INT(BLOBLIST_FIXED,
-                                                         BLOBLIST_ADDR));
+               ut_asserteq(0x100, IF_ENABLED_INT(CONFIG_BLOBLIST_FIXED,
+                                                 CONFIG_BLOBLIST_ADDR));
+               ut_asserteq(0x100, CONFIG_IF_ENABLED_INT(BLOBLIST_FIXED,
+                                                        BLOBLIST_ADDR));
        }
 
        /*