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