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:
parent
d62f8241d3
commit
f68dc40804
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
Loading…
Reference in New Issue