]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/lib/bootm.c
dm: at91: Add driver model support for the serial driver
[u-boot] / arch / arm / lib / bootm.c
index 178e8fb9e4ab88a23cffa1ba21a8413a5d42f4f5..4949d573af8c310f8348beae48caa5ea0f580bf9 100644 (file)
@@ -22,6 +22,8 @@
 #include <asm/bootm.h>
 #include <asm/secure.h>
 #include <linux/compiler.h>
+#include <bootm.h>
+#include <vxworks.h>
 
 #if defined(CONFIG_ARMV7_NONSEC) || defined(CONFIG_ARMV7_VIRT)
 #include <asm/armv7.h>
@@ -239,10 +241,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 +256,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;
@@ -297,7 +301,8 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
  * DIFFERENCE: Instead of calling prep and go at the end
  * they are called if subcommand is equal 0.
  */
-int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char * const argv[],
+                  bootm_headers_t *images)
 {
        /* No need for those on ARM */
        if (flag & BOOTM_STATE_OS_BD_T || flag & BOOTM_STATE_OS_CMDLINE)