[U-Boot] [PATCH 11/16] ARM: uniphier: set initrd_high environment to skip initrd relocation

Masahiro Yamada yamada.masahiro at socionext.com
Fri Jan 27 22:53:51 CET 2017


The boot_ramdisk_high() checks the environment "initrd_high" and,
if it is set to (ulong)-1, skip the initrd relocation.  This is
useful for faster booting when we know the initrd is already located
within the reach of the kernel.

Change "norboot" to copy images in order to make it work without
depending on the automatic relocation.

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

 include/configs/uniphier.h | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index b6dc76e..0ffd507 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -203,8 +203,12 @@
 	"norboot=setexpr kernel_addr_nor $nor_base + $kernel_addr && " \
 		"setexpr kernel_size_div4 $kernel_size / 4 && " \
 		"cp $kernel_addr_nor $kernel_addr_load $kernel_size_div4 && " \
-		"setexpr ramdisk_addr_r $nor_base + $ramdisk_addr &&" \
-		"setexpr fdt_addr_r $nor_base + $fdt_addr &&" \
+		"setexpr ramdisk_addr_nor $nor_base + $ramdisk_addr && " \
+		"setexpr ramdisk_size_div4 $ramdisk_size / 4 && " \
+		"cp $ramdisk_addr_nor $ramdisk_addr_r $ramdisk_size_div4 && " \
+		"setexpr fdt_addr_nor $nor_base + $fdt_addr && " \
+		"setexpr fdt_size_div4 $fdt_size / 4 && " \
+		"cp $fdt_addr_nor $fdt_addr_r $fdt_size_div4 && " \
 		"run boot_common\0" \
 	"nandboot=nand read $kernel_addr_load $kernel_addr $kernel_size && " \
 		"nand read $ramdisk_addr_r $ramdisk_addr $ramdisk_size &&" \
@@ -223,6 +227,7 @@
 #define	CONFIG_EXTRA_ENV_SETTINGS				\
 	"netdev=eth0\0"						\
 	"verify=n\0"						\
+	"initrd_high=0xffffffffffffffff\0"			\
 	"nor_base=0x42000000\0"					\
 	"sramupdate=setexpr tmp_addr $nor_base + 0x50000 &&"	\
 		"tftpboot $tmp_addr u-boot-spl.bin &&"		\
-- 
2.7.4



More information about the U-Boot mailing list