public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: Don't use NOPL on 32-bit cpu's because not all systems support it.
@ 2008-09-16 15:59 David Sanders
  2008-09-16 16:32 ` H. Peter Anvin
  0 siblings, 1 reply; 7+ messages in thread
From: David Sanders @ 2008-09-16 15:59 UTC (permalink / raw)
  To: the arch/x86 maintainers, Linux Kernel; +Cc: H. Peter Anvin, Ingo Molnar

From: David Sanders <linux@sandersweb.net>

Currently in alternative.c NOPLs are introduced based on the synthetic
cpu feature X86_FEATURE_NOPL.  However, some systems (like Virtual PC 2007)
appear to support it but then will not boot 50% of the time because of
the NOPLs (when paravirtualization support is built into kernel).
This patch standardizes the treatment of NOPL to be like
include/asm-x86/nops.h which only uses NOPLs on 64-bit processors.

Applies to 2.6.27-rc6.

Signed-off-by: David Sanders <linux@sandersweb.net>
---
 arch/x86/kernel/alternative.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 65a0c1b..dceb843 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -160,8 +160,12 @@ const unsigned char *const *find_nop_table(void)
 		return k8_nops;
 	else if (boot_cpu_has(X86_FEATURE_K7))
 		return k7_nops;
-	else if (boot_cpu_has(X86_FEATURE_NOPL))
-		return p6_nops;
+	/*
+	 * Don't use NOPL in 32-bit mode because some Emulators
+	 * do not support it.
+	 */
+	/* else if (boot_cpu_has(X86_FEATURE_NOPL))
+		return p6_nops; */
 	else
 		return intel_nops;
 }
--
1.6.0.2.229.g1293c

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-09-16 18:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-16 15:59 [PATCH] x86: Don't use NOPL on 32-bit cpu's because not all systems support it David Sanders
2008-09-16 16:32 ` H. Peter Anvin
2008-09-16 17:00   ` Alan Cox
2008-09-16 17:28     ` H. Peter Anvin
2008-09-16 17:50     ` David Sanders
2008-09-16 17:48   ` David Sanders
2008-09-16 18:03     ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox