From 20e072f37402c17741f67d9693eaabdd835b80f2 Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Thu, 17 Dec 2015 17:19:35 +0900 Subject: [PATCH] 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 --- common/image.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common/image.c b/common/image.c index c36927f..d63d9e0 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(); }