[U-Boot] [PATCH] Move test for unnecessary memmove to memmove_wd()

Larry Johnson lrj at acm.org
Tue Feb 24 22:36:26 CET 2009


Signed-off-by: Larry Johnson <lrj at acm.org>
---
 common/cmd_bootm.c |    7 ++-----
 common/image.c     |    3 +++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 6fdeef4..bc38aaa 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -339,11 +339,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");
diff --git a/common/image.c b/common/image.c
index daa68bc..1dc9e4e 100644
--- a/common/image.c
+++ b/common/image.c
@@ -457,6 +457,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;
-- 
1.5.4.3



More information about the U-Boot mailing list