diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2015-12-17 17:19:35 +0900 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-01-13 09:54:46 -0500 |
commit | 20e072f37402c17741f67d9693eaabdd835b80f2 (patch) | |
tree | c3b2399c3e11a8e65a7875510f6452b64a1a5773 | |
parent | 69b41388ba45b853b3538f5b8cac8ab2154d36d8 (diff) | |
download | u-boot-20e072f37402c17741f67d9693eaabdd835b80f2.tar.gz u-boot-20e072f37402c17741f67d9693eaabdd835b80f2.tar.xz u-boot-20e072f37402c17741f67d9693eaabdd835b80f2.zip |
image: check "bootm_low" and "bootm_size" if "initrd_high" is missing
To boot Linux, we should prevent Initramdisk and FDT from going too
high.
Currently, boot_relocate_fdt() checks "fdt_high" environment first,
and then falls back to getenv_bootm_mapsize() + getenv_bootm_low()
if "fdt_high" is missing.
On the other hand, boot_ramdisk_high() only checks "initrd_high" to
get the address limit for the Initramdisk. We also want to let this
case fall back to getenv_bootm_mapsize() + getenv_bootm_low().
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-rw-r--r-- | common/image.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/common/image.c b/common/image.c index c36927fca8..d63d9e0169 100644 --- a/common/image.c +++ b/common/image.c @@ -1113,8 +1113,7 @@ int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len, if (initrd_high == ~0) initrd_copy_to_ram = 0; } else { - /* not set, no restrictions to load high */ - initrd_high = ~0; + initrd_high = getenv_bootm_mapsize() + getenv_bootm_low(); } |