summary refs log tree commit diff
path: root/arch/um
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2011-05-23 22:51:33 +0200
committerThomas Gleixner <tglx@linutronix.de>2011-05-24 14:33:35 +0200
commit3a3679078aed2c451ebc32836bbd3b8219a65e01 (patch)
tree78418bbbaf58e8bc27c346e231e7fb6afa823912 /arch/um
parentd762f4383100c2a87b1a3f2d678cd3b5425655b4 (diff)
downloadlinux-3a3679078aed2c451ebc32836bbd3b8219a65e01.tar.gz
um: Use RWSEM_GENERIC_SPINLOCK on x86
Commit d12337 (rwsem: Remove redundant asmregparm annotation)
broke rwsem on UML.

As we cannot compile UML with -mregparm=3 and keeping asmregparm only
for UML is inadequate the easiest solution is using RWSEM_GENERIC_SPINLOCK.

Thanks to Thomas Gleixner for the idea.

Reported-by: Toralf Förster <toralf.foerster@gmx.de>
Tested-by: Toralf Förster <toralf.foerster@gmx.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Cc: user-mode-linux-devel@lists.sourceforge.net
Cc: <stable@kernel.org> # .39.x
Link: http://lkml.kernel.org/r/%3C1306183893-26655-1-git-send-email-richard%40nod.at%3E
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/Kconfig.x864
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86
index a9da516a5274..795ea8e869f4 100644
--- a/arch/um/Kconfig.x86
+++ b/arch/um/Kconfig.x86
@@ -29,10 +29,10 @@ config X86_64
 	def_bool 64BIT
 
 config RWSEM_XCHGADD_ALGORITHM
-	def_bool X86_XADD
+	def_bool X86_XADD && 64BIT
 
 config RWSEM_GENERIC_SPINLOCK
-	def_bool !X86_XADD
+	def_bool !RWSEM_XCHGADD_ALGORITHM
 
 config 3_LEVEL_PGTABLES
 	bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT