From: Tom Rini Date: Mon, 5 May 2014 15:26:18 +0000 (-0400) Subject: arm64: Correct passing of Linux kernel args X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=553d8416cc508bf5b473b67770ba78e539f2d780;p=thirdparty%2Fu-boot.git arm64: Correct passing of Linux kernel args The Documentation/arm64/booting.txt document says that pass in x1/x2/x3 as 0 as they are reserved for future use. Signed-off-by: Tom Rini Signed-off-by: Michal Simek --- diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 47ee070593b..07060860dd4 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -249,10 +249,12 @@ static void boot_prep_linux(bootm_headers_t *images) static void boot_jump_linux(bootm_headers_t *images, int flag) { #ifdef CONFIG_ARM64 - void (*kernel_entry)(void *fdt_addr); + void (*kernel_entry)(void *fdt_addr, void *res0, void *res1, + void *res2); int fake = (flag & BOOTM_STATE_OS_FAKE_GO); - kernel_entry = (void (*)(void *fdt_addr))images->ep; + kernel_entry = (void (*)(void *fdt_addr, void *res0, void *res1, + void *res2))images->ep; debug("## Transferring control to Linux (at address %lx)...\n", (ulong) kernel_entry); @@ -261,7 +263,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag) announce_and_cleanup(fake); if (!fake) - kernel_entry(images->ft_addr); + kernel_entry(images->ft_addr, 0x0, 0x0, 0x0); #else unsigned long machid = gd->bd->bi_arch_number; char *s;