diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile index 89cb72b..56818e8 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile @@ -12,6 +12,7 @@ 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 diff --git a/arch/arm/lib/_bswapsi2.S b/arch/arm/lib/_bswapsi2.S new file mode 100644 index 0000000..7f45fa5 --- /dev/null +++ b/arch/arm/lib/_bswapsi2.S @@ -0,0 +1,14 @@ +#include +#include + +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)