]> git.sur5r.net Git - u-boot/blobdiff - lib_blackfin/boot.c
Change directory-specific CFLAGS to use full path
[u-boot] / lib_blackfin / boot.c
index 47e27de3057cc67bad7091e18d934364080237cf..951d5b0d02732cfadaf8a741016d5a289514bf39 100644 (file)
@@ -31,6 +31,8 @@ static char *make_command_line(void)
        return dest;
 }
 
+extern ulong bfin_poweron_retx;
+
 int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 {
        int     (*appl) (char *cmdline);
@@ -45,11 +47,16 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 
        appl = (int (*)(char *))images->ep;
 
-       printf("Starting Kernel at = %x\n", appl);
+       printf("Starting Kernel at = %p\n", appl);
        cmdline = make_command_line();
        icache_disable();
        dcache_disable();
-       (*appl) (cmdline);
+       asm __volatile__(
+               "RETX = %[retx];"
+               "CALL (%0);"
+               :
+               : "p"(appl), "q0"(cmdline), [retx] "d"(bfin_poweron_retx)
+       );
        /* does not return */
 
        return 1;