Monahans: avoid floating point calculations
[oweals/u-boot.git] / lib_microblaze / bootm.c
index 1f3e77707ac45ff5c6efd8df447ef5c60cc0af1d..bce4774fe37502aa9e47d413072efc820055d3d8 100644 (file)
 #include <common.h>
 #include <command.h>
 #include <image.h>
-#include <zlib.h>
+#include <u-boot/zlib.h>
 #include <asm/byteorder.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
-                    image_header_t *hdr, int verify)
+int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 {
-       ulong initrd_start, initrd_end;
-
        /* First parameter is mapped to $r5 for kernel boot args */
-       void (*theKernel) (char *);
-       char *commandline = getenv ("bootargs");
+       void    (*theKernel) (char *);
+       char    *commandline = getenv ("bootargs");
 
-       theKernel = (void (*)(char *))image_get_ep (hdr);
+       if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
+               return 1;
 
-       get_ramdisk (cmdtp, flag, argc, argv, hdr, verify,
-                       IH_ARCH_MICROBLAZE, &initrd_start, &initrd_end);
+       theKernel = (void (*)(char *))images->ep;
 
        show_boot_progress (15);
 
@@ -54,4 +51,7 @@ void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
 #endif
 
        theKernel (commandline);
+       /* does not return */
+
+       return 1;
 }