]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arm64: Correct passing of Linux kernel args
authorTom Rini <trini@ti.com>
Mon, 5 May 2014 15:26:18 +0000 (11:26 -0400)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 22 Jul 2014 09:48:15 +0000 (11:48 +0200)
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>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/lib/bootm.c

index 47ee070593b7fed5094df4312f6994fc2c205cec..07060860dd406fe7d9dacfc3b32fc23e6811f57b 100644 (file)
@@ -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;