[U-Boot] [PATCH] arm: lib: memcpy: Do not copy to same address
Matthias Weißer
weisserm at arcor.de
Tue Jul 26 08:02:28 CEST 2011
Dear Albert
Am 23.05.2011 11:49, schrieb Albert ARIBAUD:
> Le 23/05/2011 11:30, Alexander Holler a écrit :
>> Am 23.05.2011 11:06, schrieb Matthias Weisser:
>>> In some cases (e.g. bootm with a elf payload which is already at the right
>>> position) there is a in place copy of data to the same address. Catching this
>>> saves some ms while booting.
>>>
>>> Signed-off-by: Matthias Weisser<weisserm at arcor.de>
>>> ---
>>> arch/arm/lib/memcpy.S | 3 +++
>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/arm/lib/memcpy.S b/arch/arm/lib/memcpy.S
>>> index 3b5aeec..f655256 100644
>>> --- a/arch/arm/lib/memcpy.S
>>> +++ b/arch/arm/lib/memcpy.S
>>> @@ -60,6 +60,9 @@
>>> .globl memcpy
>>> memcpy:
>>>
>>> + cmp r0, r1
>>> + moveq pc, lr
>>> +
>>> enter r4, lr
>>>
>>> subs r2, r2, #4
>>
>> The standard clearly say to both memory regions should not overlap when
>> memcpy() is used, so I would say this is the wrong place to fix that.
>
> I think the intent here is not to enforce the standard but to handle an
> actual, and degenerate, copy request in the most efficient manner, and
> in that respect, the patch does its job.
Can this patch go in or do I need to change anything? I really would
like to see it in mainline.
Regards,
Matthias
More information about the U-Boot
mailing list