Move test for unnecessary memmove to memmove_wd()
authorLarry Johnson <lrj@acm.org>
Tue, 20 Apr 2010 12:09:43 +0000 (08:09 -0400)
committerWolfgang Denk <wd@denx.de>
Wed, 5 May 2010 22:38:06 +0000 (00:38 +0200)
Signed-off-by: Larry Johnson <lrj@acm.org>
common/cmd_bootm.c
common/image.c

index 452686dd3dc72f2ec37b9b66e003f77a2ae3220d..da060098af1bc773d5df03535cc50c8e5cf89174 100644 (file)
@@ -344,11 +344,8 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress)
                        printf ("   XIP %s ... ", type_name);
                } else {
                        printf ("   Loading %s ... ", type_name);
-
-                       if (load != image_start) {
-                               memmove_wd ((void *)load,
-                                               (void *)image_start, image_len, CHUNKSZ);
-                       }
+                       memmove_wd ((void *)load, (void *)image_start,
+                                       image_len, CHUNKSZ);
                }
                *load_end = load + image_len;
                puts("OK\n");
index 9e4971303e81e18f596ae7ce08d6a5cf7818a3c9..8d4be140f69eb4273667778d05391ce32fd7d047 100644 (file)
@@ -450,6 +450,9 @@ phys_size_t getenv_bootm_size(void)
 
 void memmove_wd (void *to, void *from, size_t len, ulong chunksz)
 {
+       if (to == from)
+               return;
+
 #if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
        while (len > 0) {
                size_t tail = (len > chunksz) ? chunksz : len;