9
0
Fork 0

arm: add __bswapsi2 support

32-bit endian conversion

needed by gcc 4.5.1

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Jean-Christophe PLAGNIOL-VILLARD 2011-01-14 18:10:41 +01:00 committed by Sascha Hauer
parent d62f8241d3
commit f68dc40804
2 changed files with 15 additions and 0 deletions

View File

@ -12,6 +12,7 @@ obj-y += lib1funcs.o
obj-y += ashrdi3.o
obj-y += ashldi3.o
obj-y += lshrdi3.o
obj-y += _bswapsi2.o
obj-$(CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS) += memcpy.o
obj-$(CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS) += memset.o

14
arch/arm/lib/_bswapsi2.S Normal file
View File

@ -0,0 +1,14 @@
#include <linux/linkage.h>
#include <asm/assembler.h>
ENTRY(__bswapsi2)
#if __LINUX_ARM_ARCH__ <= 5
eor r1, r0, r0, ror #16
bic r1, r1, #0xff0000
mov r0, r0, ror #8
eor r0, r0, r1, lsr #8
#else
rev r0, r0
#endif
bx lr
ENDPROC(__bswapsi2)