]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_bootm.c
Prepare v2009.06
[u-boot] / common / cmd_bootm.c
index a8f85e93b2823ab4f4ef9f35580dde90699d15d6..bd1813ad422a75261b67f7412692999ac5bcd7d2 100644 (file)
@@ -30,7 +30,7 @@
 #include <command.h>
 #include <image.h>
 #include <malloc.h>
-#include <zlib.h>
+#include <u-boot/zlib.h>
 #include <bzlib.h>
 #include <environment.h>
 #include <lmb.h>
@@ -340,8 +340,10 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress)
                } else {
                        printf ("   Loading %s ... ", type_name);
 
-                       memmove_wd ((void *)load,
-                                  (void *)image_start, image_len, CHUNKSZ);
+                       if (load != image_start) {
+                               memmove_wd ((void *)load,
+                                               (void *)image_start, image_len, CHUNKSZ);
+                       }
                }
                *load_end = load + image_len;
                puts("OK\n");
@@ -350,7 +352,7 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress)
                printf ("   Uncompressing %s ... ", type_name);
                if (gunzip ((void *)load, unc_len,
                                        (uchar *)image_start, &image_len) != 0) {
-                       puts ("GUNZIP: uncompress or overwrite error "
+                       puts ("GUNZIP: uncompress, out-of-mem or overwrite error "
                                "- must RESET board to recover\n");
                        if (boot_progress)
                                show_boot_progress (-6);
@@ -454,13 +456,13 @@ int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        }
        /* Unrecognized command */
        else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        if (images.state >= state) {
                printf ("Trying to execute a command out of order\n");
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
@@ -913,7 +915,7 @@ static void *boot_get_kernel (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]
 
 U_BOOT_CMD(
        bootm,  CONFIG_SYS_MAXARGS,     1,      do_bootm,
-       "bootm   - boot application image from memory\n",
+       "boot application image from memory",
        "[addr [arg ...]]\n    - boot application image stored in memory\n"
        "\tpassing arguments 'arg ...'; when booting a Linux kernel,\n"
        "\t'arg' can be the address of an initrd image\n"
@@ -970,14 +972,14 @@ int do_bootd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 
 U_BOOT_CMD(
        boot,   1,      1,      do_bootd,
-       "boot    - boot default, i.e., run 'bootcmd'\n",
+       "boot default, i.e., run 'bootcmd'",
        NULL
 );
 
 /* keep old command name "bootd" for backward compatibility */
 U_BOOT_CMD(
        bootd, 1,       1,      do_bootd,
-       "bootd   - boot default, i.e., run 'bootcmd'\n",
+       "boot default, i.e., run 'bootcmd'",
        NULL
 );
 
@@ -1062,7 +1064,7 @@ static int image_info (ulong addr)
 
 U_BOOT_CMD(
        iminfo, CONFIG_SYS_MAXARGS,     1,      do_iminfo,
-       "iminfo  - print header information for application image\n",
+       "print header information for application image",
        "addr [addr ...]\n"
        "    - print header information for application image starting at\n"
        "      address 'addr' in memory; this includes verification of the\n"
@@ -1130,7 +1132,7 @@ next_bank:        ;
 
 U_BOOT_CMD(
        imls,   1,              1,      do_imls,
-       "imls    - list all images found in flash\n",
+       "list all images found in flash",
        "\n"
        "    - Prints information about all images found at sector\n"
        "      boundaries in flash.\n"