aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLarry Johnson <lrj@acm.org>2010-04-20 08:09:43 -0400
committerWolfgang Denk <wd@denx.de>2010-05-06 00:38:06 +0200
commit54fa2c5b51c564cce716942d26492437457980a4 (patch)
tree63be71e6e7ddb2b08facb1ebc7376f1683a8fe03
parentb050c72d52c4e30d5b978ab6758f8dcdbe5c690c (diff)
Move test for unnecessary memmove to memmove_wd()
Signed-off-by: Larry Johnson <lrj@acm.org>
-rw-r--r--common/cmd_bootm.c7
-rw-r--r--common/image.c3
2 files changed, 5 insertions, 5 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 452686dd3..da060098a 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -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");
diff --git a/common/image.c b/common/image.c
index 9e4971303..8d4be140f 100644
--- a/common/image.c
+++ b/common/image.c
@@ -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;