![Kim Phillips](/assets/img/avatar_default.png)
Enable the compiler intrinsic for byte swapping on arch ARM. This allows the compiler to detect and be able to optimize out byte swappings, and has a very modest benefit on vmlinux size (Linaro gcc 4.8): text data bss dec hex filename 2840310 123932 61960 3026202 2e2d1a vmlinux-lart #orig 2840152 123932 61960 3026044 2e2c7c vmlinux-lart #builtin-bswap 6473120 314840 5616016 12403976 bd4508 vmlinux-mxs #orig 6472586 314848 5616016 12403450 bd42fa vmlinux-mxs #builtin-bswap 7419872 318372 379556 8117800 7bde28 vmlinux-imx_v6_v7 #orig 7419170 318364 379556 8117090 7bdb62 vmlinux-imx_v6_v7 #builtin-bswap Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Reviewed-by: Nicolas Pitre <nico@linaro.org> Acked-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
53 lines
1.6 KiB
Makefile
53 lines
1.6 KiB
Makefile
#
|
|
# linux/arch/arm/lib/Makefile
|
|
#
|
|
# Copyright (C) 1995-2000 Russell King
|
|
#
|
|
|
|
lib-y := backtrace.o changebit.o csumipv6.o csumpartial.o \
|
|
csumpartialcopy.o csumpartialcopyuser.o clearbit.o \
|
|
delay.o delay-loop.o findbit.o memchr.o memcpy.o \
|
|
memmove.o memset.o memzero.o setbit.o \
|
|
strchr.o strrchr.o \
|
|
testchangebit.o testclearbit.o testsetbit.o \
|
|
ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \
|
|
ucmpdi2.o lib1funcs.o div64.o \
|
|
io-readsb.o io-writesb.o io-readsl.o io-writesl.o \
|
|
call_with_stack.o bswapsdi2.o
|
|
|
|
mmu-y := clear_user.o copy_page.o getuser.o putuser.o
|
|
|
|
# the code in uaccess.S is not preemption safe and
|
|
# probably faster on ARMv3 only
|
|
ifeq ($(CONFIG_PREEMPT),y)
|
|
mmu-y += copy_from_user.o copy_to_user.o
|
|
else
|
|
ifneq ($(CONFIG_CPU_32v3),y)
|
|
mmu-y += copy_from_user.o copy_to_user.o
|
|
else
|
|
mmu-y += uaccess.o
|
|
endif
|
|
endif
|
|
|
|
# using lib_ here won't override already available weak symbols
|
|
obj-$(CONFIG_UACCESS_WITH_MEMCPY) += uaccess_with_memcpy.o
|
|
|
|
lib-$(CONFIG_MMU) += $(mmu-y)
|
|
|
|
ifeq ($(CONFIG_CPU_32v3),y)
|
|
lib-y += io-readsw-armv3.o io-writesw-armv3.o
|
|
else
|
|
lib-y += io-readsw-armv4.o io-writesw-armv4.o
|
|
endif
|
|
|
|
lib-$(CONFIG_ARCH_RPC) += ecard.o io-acorn.o floppydma.o
|
|
|
|
$(obj)/csumpartialcopy.o: $(obj)/csumpartialcopygeneric.S
|
|
$(obj)/csumpartialcopyuser.o: $(obj)/csumpartialcopygeneric.S
|
|
|
|
ifeq ($(CONFIG_KERNEL_MODE_NEON),y)
|
|
NEON_FLAGS := -mfloat-abi=softfp -mfpu=neon
|
|
CFLAGS_xor-neon.o += $(NEON_FLAGS)
|
|
obj-$(CONFIG_XOR_BLOCKS) += xor-neon.o
|
|
endif
|