From 6d56dad3ae070511e59792a62f27b2394cc936bc Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Thu, 14 Apr 2011 15:22:17 -0700 Subject: um: fix call tracer and bug handler Commit 1de1502c ("x86, um: now we can get rid of trivial uml headers") removed accidentally bug.h which broke UML's call tracer and bug handler. Without asm-generic/bug.h UML uses BUG() from arch/x86/ which makes use of ud2. UML cannot use ud2, it raises SIGILL in user mode. As UML has a different stack for handling signals the call trace will be cut off. Signed-off-by: Richard Weinberger Reported-by: Sergei Trofimovich Tested-by: Sergei Trofimovich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/include/asm/bug.h | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 arch/um/include/asm/bug.h (limited to 'arch/um') diff --git a/arch/um/include/asm/bug.h b/arch/um/include/asm/bug.h new file mode 100644 index 0000000..9e33b86 --- /dev/null +++ b/arch/um/include/asm/bug.h @@ -0,0 +1,6 @@ +#ifndef __UM_BUG_H +#define __UM_BUG_H + +#include + +#endif -- cgit v1.1 From 084189a88754d40e1bb9bfbc278e70c33e571685 Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Thu, 14 Apr 2011 15:22:18 -0700 Subject: um: disable CONFIG_CMPXCHG_LOCAL Commit 8a5ec0ba "Lockless (and preemptless) fastpaths for slub" makes use of this_cpu_cmpxchg_double() which needs this_cpu_cmpxchg16b_emu() on x86_64. Implementing cmpxchg16b emulation for UML would introduce too much complexity. So just disable it. Signed-off-by: Richard Weinberger Reported-by: Sergei Trofimovich Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/Kconfig.x86 | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'arch/um') diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86 index 02fb017..a9da516 100644 --- a/arch/um/Kconfig.x86 +++ b/arch/um/Kconfig.x86 @@ -4,6 +4,10 @@ menu "UML-specific options" menu "Host processor type and features" +config CMPXCHG_LOCAL + bool + default n + source "arch/x86/Kconfig.cpu" endmenu -- cgit v1.1