summaryrefslogtreecommitdiff
path: root/arch/arm/lib/Makefile
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2005-11-01 19:52:24 (GMT)
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-11-01 19:52:24 (GMT)
commitfadab0943d1c5b652a66858bb99b204fedaad96b (patch)
treeae8f83cd0b6c97ee2120688f3e4f4cfd431b0c3e /arch/arm/lib/Makefile
parent7549423000fc38d39a8b81c601dea0332c113a42 (diff)
downloadlinux-fsl-qoriq-fadab0943d1c5b652a66858bb99b204fedaad96b.tar.xz
[ARM] 2948/1: new preemption safe copy_{to|from}_user implementation
Patch from Nicolas Pitre This patch provides a preemption safe implementation of copy_to_user and copy_from_user based on the copy template also used for memcpy. It is enabled unconditionally when CONFIG_PREEMPT=y. Otherwise if the configured architecture is not ARMv3 then it is enabled as well as it gives better performances at least on StrongARM and XScale cores. If ARMv3 is not too affected or if it doesn't matter too much then uaccess.S could be removed altogether. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/lib/Makefile')
-rw-r--r--arch/arm/lib/Makefile16
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
index 8f9770f..391f3ab 100644
--- a/arch/arm/lib/Makefile
+++ b/arch/arm/lib/Makefile
@@ -9,13 +9,25 @@ lib-y := backtrace.o changebit.o csumipv6.o csumpartial.o \
copy_page.o delay.o findbit.o memchr.o memcpy.o \
memmove.o memset.o memzero.o setbit.o \
strncpy_from_user.o strnlen_user.o \
- strchr.o strrchr.o testchangebit.o \
- testclearbit.o testsetbit.o uaccess.o \
+ strchr.o strrchr.o \
+ testchangebit.o testclearbit.o testsetbit.o \
getuser.o putuser.o clear_user.o \
ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \
ucmpdi2.o lib1funcs.o div64.o sha1.o \
io-readsb.o io-writesb.o io-readsl.o io-writesl.o
+# the code in uaccess.S is not preemption safe and
+# probably faster on ARMv3 only
+ifeq ($CONFIG_PREEMPT,y)
+ lib-y += copy_from_user.o copy_to_user.o
+else
+ifneq ($(CONFIG_CPU_32v3),y)
+ lib-y += copy_from_user.o copy_to_user.o
+else
+ lib-y += uaccess.o
+endif
+endif
+
ifeq ($(CONFIG_CPU_32v3),y)
lib-y += io-readsw-armv3.o io-writesw-armv3.o
else