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.g...@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

Reply via email to