[git pull] x86 fixes (NOPL issue)

Previous thread: Re: iozone lies/bug ? by Robert Hancock on Friday, September 5, 2008 - 6:23 pm. (1 message)

Next thread: Re: [PATCH 1/2 v5] cfg80211: Add new wireless regulatory infrastructure by Marcel Holtmann on Friday, September 5, 2008 - 7:33 pm. (2 messages)
From: H. Peter Anvin
Date: Friday, September 5, 2008 - 7:22 pm

Hi Linus,

Please pull:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-fixes-for-linus-2

H. Peter Anvin (4):
      x86: boot: stub out unimplemented CPU feature words
      x86: add NOPL as a synthetic CPU feature bit
      x86: use X86_FEATURE_NOPL in alternatives
      Merge branch 'x86/urgent' into x86-fixes-for-linus-2

This fixes the NOPL issue by detecting it explicitly.  I don't have
access to Virtual PC, but this works on Virtual Server 2005 R2 which
has the same issue.  These changes have been in -tip since August 18,
so they have had some reasonable degree of exposure already.

 arch/x86/boot/cpucheck.c            |    8 +++---
 arch/x86/kernel/alternative.c       |   36 ++++++++++++----------------------
 arch/x86/kernel/cpu/common.c        |   32 ++++++++++++++++++++++++++++++-
 arch/x86/kernel/cpu/common_64.c     |   36 +++++++++++++++++++++++++++++++++++
 arch/x86/kernel/cpu/feature_names.c |    3 +-
 include/asm-x86/cpufeature.h        |   11 +++++----
 include/asm-x86/required-features.h |    8 ++++++-
 7 files changed, 99 insertions(+), 35 deletions(-)

diff --git a/arch/x86/boot/cpucheck.c b/arch/x86/boot/cpucheck.c
index 4b9ae7c..4d3ff03 100644
--- a/arch/x86/boot/cpucheck.c
+++ b/arch/x86/boot/cpucheck.c
@@ -38,12 +38,12 @@ static const u32 req_flags[NCAPINTS] =
 {
 	REQUIRED_MASK0,
 	REQUIRED_MASK1,
-	REQUIRED_MASK2,
-	REQUIRED_MASK3,
+	0, /* REQUIRED_MASK2 not implemented in this file */
+	0, /* REQUIRED_MASK3 not implemented in this file */
 	REQUIRED_MASK4,
-	REQUIRED_MASK5,
+	0, /* REQUIRED_MASK5 not implemented in this file */
 	REQUIRED_MASK6,
-	REQUIRED_MASK7,
+	0, /* REQUIRED_MASK7 not implemented in this file */
 };
 
 #define A32(a, b, c, d) (((d) << 24)+((c) << 16)+((b) << 8)+(a))
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 2763cb3..65a0c1b 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -145,35 +145,25 @@ static const unsigned ...
From: Yinghai Lu
Date: Friday, September 5, 2008 - 8:01 pm

if so, should only test on VIA chips.

YH
--

From: David Sanders
Date: Monday, September 8, 2008 - 8:02 am

We it be possible to send these fixes back the stable trees 2.6.26.y and 
2.6.25.y?

David
--

Previous thread: Re: iozone lies/bug ? by Robert Hancock on Friday, September 5, 2008 - 6:23 pm. (1 message)

Next thread: Re: [PATCH 1/2 v5] cfg80211: Add new wireless regulatory infrastructure by Marcel Holtmann on Friday, September 5, 2008 - 7:33 pm. (2 messages)