[U-Boot] [PATCH] ARM: UniPhier: add initrd_high and fdt_high environments

With FIT boot, U-boot puts a device tree and an initramdisk at the tail of the memory.
Some UniPhier boards have a large amount of memory. For those boards, a device tree and an initramdisk are located out of reach of the Linux kernel causing a kernel panic if CONFIG_VMSPLIT_3G is defined in the kernel side.
Add initrd_high and fdt_high to prevent them from going too high.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com ---
include/configs/uniphier.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h index d4688c5..dea340f 100644 --- a/include/configs/uniphier.h +++ b/include/configs/uniphier.h @@ -236,6 +236,8 @@ "netdev=eth0\0" \ "image_offset=0x00080000\0" \ "image_size=0x00f00000\0" \ + "initrd_high=0xa0000000\0" \ + "fdt_high=0xa0000000\0" \ "verify=n\0" \ "nandupdate=nand erase 0 0x100000 &&" \ "tftpboot u-boot-spl.bin &&" \

On Tue, Apr 14, 2015 at 04:57:04PM +0900, Masahiro Yamada wrote:
With FIT boot, U-boot puts a device tree and an initramdisk at the tail of the memory.
Some UniPhier boards have a large amount of memory. For those boards, a device tree and an initramdisk are located out of reach of the Linux kernel causing a kernel panic if CONFIG_VMSPLIT_3G is defined in the kernel side.
Add initrd_high and fdt_high to prevent them from going too high.
Please use bootm_size and see include/configs/ti_armv7_common.h / DEFAULT_LINUX_BOOT_ENV for the why/wheres and then adjust to fit UniPhier, thanks!

Hi Tom,
2015-04-15 6:07 GMT+09:00 Tom Rini trini@konsulko.com:
On Tue, Apr 14, 2015 at 04:57:04PM +0900, Masahiro Yamada wrote:
With FIT boot, U-boot puts a device tree and an initramdisk at the tail of the memory.
Some UniPhier boards have a large amount of memory. For those boards, a device tree and an initramdisk are located out of reach of the Linux kernel causing a kernel panic if CONFIG_VMSPLIT_3G is defined in the kernel side.
Add initrd_high and fdt_high to prevent them from going too high.
Please use bootm_size and see include/configs/ti_armv7_common.h / DEFAULT_LINUX_BOOT_ENV for the why/wheres and then adjust to fit UniPhier, thanks!
After long silence, I came back again!
I noticed "bootm_size" and "bootm_low" environments are checked for relocation for FDT, but not for Initramdisk.
Namely, "initrd_high" is only the way to prevent the initramdisk from going too high.
So, I posted this patch: http://patchwork.ozlabs.org/patch/558077/
participants (2)
-
Masahiro Yamada
-
Tom Rini