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>utp
parent
9dec5270be
commit
3f1b6bebe0
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue