x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 26 Oct 2009 03:56:04 +0000 (14:26 +1030)
committerIngo Molnar <mingo@elte.hu>
Mon, 26 Oct 2009 11:33:02 +0000 (12:33 +0100)
commitae1b22f6e46c03cede7cea234d0bf2253b4261cf
tree3a38eb7c35cf3fad8816f87cfbb0c19c079d7101
parent14a3f40aafacde1dfd6912327ae14df4baf10304
x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium

Commit 79e1dd05d1a22 "x86: Provide an alternative() based
cmpxchg64()" broke lguest, even on systems which have cmpxchg8b
support.  The emulation code gets used until alternatives get
run, but it contains native instructions, not their paravirt
alternatives.

The simplest fix is to turn this code off except for 386 and 486
builds.

Reported-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: lguest@ozlabs.org
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <200910261426.05769.rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/Kconfig.cpu