[PATCH 1/6] arm: highbank: Limit FDT and initrd load addresses

Andre Przywara andre.przywara at arm.com
Mon Apr 12 02:04:50 CEST 2021


So far on Highbank/Midway machines U-Boot only ever uses 512MB of DRAM,
even though the machines have typically 4GB and 8GB, respectively.
That means that so far we didn't need an extra limit for placing the DTB
and initrd, as the 512MB are lower than the kernel's limit ("lowmem",
typically 768MB).

With U-Boot now needing to learn about the actual memory size (to
correctly populate the EFI memory map), it might relocate fdt and initrd
to the end of DRAM, which is out of reach of the kernel.

So add limiting values to the fdt_high and initrd_high environment
variables, to prevent U-Boot from using too high addresses.

Signed-off-by: Andre Przywara <andre.przywara at arm.com>
---
 include/configs/highbank.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/configs/highbank.h b/include/configs/highbank.h
index bdbaa475d20..5e3cc3a1db6 100644
--- a/include/configs/highbank.h
+++ b/include/configs/highbank.h
@@ -57,4 +57,8 @@
 #define CONFIG_SYS_INIT_SP_ADDR		0x01000000
 #define CONFIG_SKIP_LOWLEVEL_INIT
 
+#define CONFIG_EXTRA_ENV_SETTINGS				\
+	"fdt_high=0x20000000\0"					\
+	"initrd_high=0x20000000\0"
+
 #endif
-- 
2.17.5



More information about the U-Boot mailing list