Fix misreporting of #cores as #hyperthreads for Q9550
authorJoe Korty <joe.korty@ccur.com>
Thu, 19 Mar 2009 17:27:44 +0000 (13:27 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 23 Mar 2009 22:00:04 +0000 (15:00 -0700)
commit55ec5cadc315fee6950e5a04d54694da3baf2f69
tree356f7c6a418e59f4321760ec394e8fb8a2d35d27
parent32145abccae99820e3850acd458eb2a1934fb0e5
Fix misreporting of #cores as #hyperthreads for Q9550

Fix misreporting of #cores for the Intel Quad Core Q9550.

For the Q9550, in x86_64 mode, /proc/cpuinfo mistakenly
reports the #cores present as the #hyperthreads present.
i386 mode was not examined but is assumed to have the
same problem.

A backport of the following three 2.6.29-rc1 patches
fixes the problem:
  066941bd4eeb159307a5d7d795100d0887c00442:
    [PATCH] x86: unmask CPUID levels on Intel CPUs
  99fb4d349db7e7dacb2099c5cc320a9e2d31c1ef:
    [PATCH] x86: unmask CPUID levels on Intel CPUs, fix
  bdf21a49bab28f0d9613e8d8724ef9c9168b61b9:
    [PATCH] x86: add MSR_IA32_MISC_ENABLE bits to <asm/msr-index.h>

From the first patch: "If the CPUID limit bit in
MSR_IA32_MISC_ENABLE is set, clear it to make all CPUID
information available.  This is required for some features
to work, in particular XSAVE."

Originally-Developed-by: H. Peter Anvin <hpa@linux.intel.com>
Backported-by: Joe Korty <joe.korty@ccur.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Joe Korty <joe.korty@ccur.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/cpu/intel_64.c
include/asm-x86/msr-index.h