[U-Boot] [PATCH] bootm: Reduce the unnecessary memmove

Larry Johnson lrj at acm.org
Sun Feb 22 17:05:45 CET 2009


Minkyu Kang wrote:
> 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 at samsung.com>
> ---
>  common/cmd_bootm.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
> index 07f6c6b..6fdeef4 100644
> --- a/common/cmd_bootm.c
> +++ b/common/cmd_bootm.c
> @@ -340,8 +340,10 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress)
>  		} else {
>  			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;
>  		puts("OK\n");
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
> 

Sorry for the late reply, but would it be better to put the test of
source == destination into the memmove_wd() function?

Best regards,
Larry


More information about the U-Boot mailing list