Merge branch 'master' of git://git.denx.de/u-boot-mmc
[oweals/u-boot.git] / lib_sparc / bootm.c
index 565b41caf6b7ddd3160de6d2c42afd4b654096f3..c62cf57d80b25584187c777c09d595d342714b25 100644 (file)
@@ -27,6 +27,7 @@
 #include <asm/byteorder.h>
 #include <asm/prom.h>
 #include <asm/cache.h>
+#include <image.h>
 
 #define PRINT_KERNEL_HEADER
 
@@ -102,6 +103,9 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t * images)
        struct lmb *lmb = &images->lmb;
        int ret;
 
+       if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
+               return 1;
+
        /* Get virtual address of kernel start */
        linux_hdr = (void *)images->os.load;
 
@@ -175,7 +179,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t * images)
         * From now on the only code in u-boot that will be
         * executed is the PROM code.
         */
-       kernel(kernel_arg_promvec, (void *)ep);
+       kernel(kernel_arg_promvec, (void *)images->ep);
 
        /* It will never come to this... */
        while (1) ;