diff options
author | Tom Rini <trini@ti.com> | 2014-08-14 06:42:35 -0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-08-30 07:46:40 -0400 |
commit | 3f1b6bebe0cbe71ad6beab3c7a00ab2f2b082ca7 (patch) | |
tree | 817e9462c63a5ab01eaa925cef984f24fedb9932 /arch/arm/lib/bootm.c | |
parent | 9dec5270be87c01e50808001be69fce5b92a7af8 (diff) |
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 <trini@ti.com>
Diffstat (limited to 'arch/arm/lib/bootm.c')
-rw-r--r-- | arch/arm/lib/bootm.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 178e8fb9e4a..39fe7a17fcf 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -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; |