[PATCH v2] boot: Warn users about fdt_high=~0 usage

Marek Vasut marek.vasut+renesas at mailbox.org
Wed Nov 19 18:43:53 CET 2025


In case the 'fdt_high' environment variable is set to ~0, warn users
about the dangers of the fdt_high usage. This will hopefully lead to
removal of most of the fdt_high ~0 usage over time.

Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: "João Paulo Gonçalves" <joao.goncalves at toradex.com>
Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
Cc: Sam Protsenko <semen.protsenko at linaro.org>
Cc: Sughosh Ganu <sughosh.ganu at linaro.org>
Cc: Tom Rini <trini at konsulko.com>
Cc: u-boot at lists.denx.de
---
V2: Warn unconditionally
---
 boot/image-fdt.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/boot/image-fdt.c b/boot/image-fdt.c
index 3f0ac54f76f..a3a4fb8b558 100644
--- a/boot/image-fdt.c
+++ b/boot/image-fdt.c
@@ -189,6 +189,12 @@ int boot_relocate_fdt(char **of_flat_tree, ulong *of_size)
 			/* All ones means use fdt in place */
 			of_start = fdt_blob;
 			addr = map_to_sysmem(fdt_blob);
+			printf("WARNING:\n"
+			       "The 'fdt_high' environment variable is set to ~0. This is known to cause\n"
+			       "boot failures due to placement of DT at non-8-byte-aligned addresses.\n"
+			       "This system will likely fail to boot. Unset the 'fdt_high' environment\n"
+			       "variable and submit a fix upstream.\n");
+
 			err = lmb_alloc_mem(LMB_MEM_ALLOC_ADDR, 0, &addr,
 					    of_len, LMB_NONE);
 			if (err) {
-- 
2.51.0



More information about the U-Boot mailing list