]> git.sur5r.net Git - u-boot/commitdiff
arm64: Correct passing of Linux kernel args
authorTom Rini <trini@ti.com>
Thu, 14 Aug 2014 10:42:35 +0000 (06:42 -0400)
committerTom Rini <trini@ti.com>
Sat, 30 Aug 2014 11:46:40 +0000 (07:46 -0400)
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 <trini@ti.com>
arch/arm/lib/bootm.c

index 178e8fb9e4ab88a23cffa1ba21a8413a5d42f4f5..39fe7a17fcff439f672331a90138454498755a45 100644 (file)
@@ -239,10 +239,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);
@@ -252,7 +254,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
 
        if (!fake) {
                do_nonsec_virt_switch();
-               kernel_entry(images->ft_addr);
+               kernel_entry(images->ft_addr, NULL, NULL, NULL);
        }
 #else
        unsigned long machid = gd->bd->bi_arch_number;