[PATCH 1/1] image: usage of value ~0UL for intrd_high

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Jan 9 19:06:17 CET 2021


The comment for initrd_high in the coding and in README were contradicting
and neither fully described what the coding does.

Clarify the usage of the special value ~0UL for the environment variable
initrd_high.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 README         | 3 ++-
 common/image.c | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/README b/README
index 7b73a1c973..fe58f1ab98 100644
--- a/README
+++ b/README
@@ -3310,7 +3310,8 @@ List of environment variables (most likely not complete):

 		  setenv initrd_high 00c00000

-		  If you set initrd_high to 0xFFFFFFFF, this is an
+		  If you set initrd_high to 0xFFFFFFFF on a 32-bit systems
+		  or 0xFFFFFFFFFFFFFFFF on a 64-bit systems, this is an
 		  indication to U-Boot that all addresses are legal
 		  for the Linux kernel, including addresses in flash
 		  memory. In this case U-Boot will NOT COPY the
diff --git a/common/image.c b/common/image.c
index 451fc689a8..007e4e987a 100644
--- a/common/image.c
+++ b/common/image.c
@@ -1362,8 +1362,10 @@ int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len,

 	s = env_get("initrd_high");
 	if (s) {
-		/* a value of "no" or a similar string will act like 0,
-		 * turning the "load high" feature off. This is intentional.
+		/*
+		 * A value of 0xffffffffffffffff on 64-bit or 0xffffffff
+		 * on 32-bit systems will disable the copying of the initial
+		 * RAM disk to high memory.
 		 */
 		initrd_high = simple_strtoul(s, NULL, 16);
 		if (initrd_high == ~0)
--
2.29.2



More information about the U-Boot mailing list