[U-Boot] [PATCH V2] Do not copy elf section to same adress

Matthias Weisser weisserm at arcor.de
Wed Jan 19 12:03:40 CET 2011


When an elf section is already at the right position (e.g. after image
decompression by bootm) there is no need to copy it. This saves some ms
when bootig an elf image.

Changes since V1
  - Fixed style issues

Signed-off-by: Matthias Weisser <weisserm at arcor.de>
---
 common/cmd_elf.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/common/cmd_elf.c b/common/cmd_elf.c
index bf32612..3537769 100644
--- a/common/cmd_elf.c
+++ b/common/cmd_elf.c
@@ -342,9 +342,11 @@ static unsigned long load_elf_image_shdr(unsigned long addr)
 			memset ((void *)shdr->sh_addr, 0, shdr->sh_size);
 		} else {
 			image = (unsigned char *) addr + shdr->sh_offset;
-			memcpy ((void *) shdr->sh_addr,
-				(const void *) image,
-				shdr->sh_size);
+			if ((void *) shdr->sh_addr != (void *) image) {
+				memcpy((void *) shdr->sh_addr,
+					(const void *) image,
+					shdr->sh_size);
+			}
 		}
 		flush_cache (shdr->sh_addr, shdr->sh_size);
 	}
-- 
1.7.0.4



More information about the U-Boot mailing list