浏览代码

bootm: Reduce the unnecessary memmove

Although load address and image start address are same address,
bootm command always does memmove.
That is unnecessary memmove and can be taken few milliseconds
(about 500 msec to 1000 msec).
If skip this memmove, we can reduce the boot time.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Minkyu Kang 16 年之前
父节点
当前提交
fca0cecff7
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      common/cmd_bootm.c

+ 4 - 2
common/cmd_bootm.c

@@ -340,8 +340,10 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress)
 		} else {
 		} else {
 			printf ("   Loading %s ... ", type_name);
 			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;
 		*load_end = load + image_len;
 		puts("OK\n");
 		puts("OK\n");