
Am 23.05.2011 11:30, schrieb Alexander Holler:
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 Weisserweisserm@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.
Well, real world applications do this. And these two instructions shouldn't hurt a lot.
I first send a patch fixing only "my" problem in cmd_elf.c but Wolfgang suggested to do this globally. Please see http://www.mail-archive.com/u-boot@lists.denx.de/msg50612.html as reference.
Matthias