
[PATCH] memcpy32 support at ARM
It is used at OneNAND driver
Signed-off-by: Kyungmin Park kyungmin.park@samsung.com --- diff --git a/lib_arm/Makefile b/lib_arm/Makefile index 037c475..e1258f4 100644 --- a/lib_arm/Makefile +++ b/lib_arm/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(ARCH).a
-SOBJS = _ashldi3.o _ashrdi3.o _divsi3.o _modsi3.o _udivsi3.o _umodsi3.o +SOBJS = _ashldi3.o _ashrdi3.o _divsi3.o _modsi3.o _udivsi3.o _umodsi3.o _memcpy32.o
COBJS = armlinux.o board.o \ cache.o div0.o diff --git a/lib_arm/_memcpy32.S b/lib_arm/_memcpy32.S new file mode 100644 index 0000000..d1ba36f --- /dev/null +++ b/lib_arm/_memcpy32.S @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2005-2007 Samsung Electronics + * Kyungmin Park kyungmin.park@samsung.com + * + * This file is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + */ + .text + + .global memcpy32 + .align 0 +memcpy32: + mov ip, sp + stmfd sp!, {r0, r4 - r9, fp, ip, lr, pc} + sub fp, ip, #4 +1: + ldmia r1!, {r3 - r9, ip} + subges r2, r2, #32 + stmgeia r0!, {r3 - r9, ip} + bge 1b +2: + ldmea fp, {r0, r4 - r9, fp, sp, pc}