]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_elf.c
net: cosmetic: Change IPaddr_t to struct in_addr
[karo-tx-uboot.git] / common / cmd_elf.c
index 42a52965c2722282c36e6ebeaa0049c8c21b4c9f..c745371506ce3e5dda78be5279334dc8d54bd97b 100644 (file)
@@ -95,6 +95,7 @@ int do_bootelf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        unsigned long addr;             /* Address of the ELF image     */
        unsigned long rc;               /* Return value from user code  */
        char *sload, *saddr;
+       const char *ep = getenv("autostart");
 
        /* -------------------------------------------------- */
        int rcode = 0;
@@ -123,6 +124,9 @@ int do_bootelf(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        else
                addr = load_elf_image_shdr(addr);
 
+       if (ep && !strcmp(ep, "no"))
+               return rcode;
+
        printf("## Starting application at 0x%08lx ...\n", addr);
 
        /*
@@ -210,9 +214,9 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
         */
        bootline = getenv("bootargs");
        if (bootline) {
-               memcpy((void *) bootaddr, bootline,
-                       max(strlen(bootline), 255));
-               flush_cache(bootaddr, max(strlen(bootline), 255));
+               memcpy((void *)bootaddr, bootline,
+                      max(strlen(bootline), (size_t)255));
+               flush_cache(bootaddr, max(strlen(bootline), (size_t)255));
        } else {
                sprintf(build_buf, CONFIG_SYS_VXWORKS_BOOT_DEVICE);
                tmp = getenv("bootfile");
@@ -240,9 +244,9 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                         CONFIG_SYS_VXWORKS_ADD_PARAMS);
 #endif
 
-               memcpy((void *) bootaddr, build_buf,
-                       max(strlen(build_buf), 255));
-               flush_cache(bootaddr, max(strlen(build_buf), 255));
+               memcpy((void *)bootaddr, build_buf,
+                      max(strlen(build_buf), (size_t)255));
+               flush_cache(bootaddr, max(strlen(build_buf), (size_t)255));
        }
 
        /*