x86: unmask CPUID levels on Intel CPUs
authorH. Peter Anvin <hpa@linux.intel.com>
Wed, 21 Jan 2009 23:04:32 +0000 (15:04 -0800)
committerIngo Molnar <mingo@elte.hu>
Thu, 22 Jan 2009 08:24:02 +0000 (09:24 +0100)
Impact: Fixes crashes with misconfigured BIOSes on XSAVE hardware

Avuton Olrich reported early boot crashes with v2.6.28 and
bisected it down to dc1e35c6e95e8923cf1d3510438b63c600fee1e2
("x86, xsave: enable xsave/xrstor on cpus with xsave support").

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.

Reported-and-bisected-by: Avuton Olrich <avuton@gmail.com>
Tested-by: Avuton Olrich <avuton@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>

No differences found