linux/arch/x86/kernel/apic
Bryan O'Donoghue 322fd620a8 x86, apic: APIC code touches invalid MSR on P5 class machines
commit cbf2829b61 upstream.

Current APIC code assumes MSR_IA32_APICBASE is present for all systems.
Pentium Classic P5 and friends didn't have this MSR. MSR_IA32_APICBASE
was introduced as an architectural MSR by Intel @ P6.

Code paths that can touch this MSR invalidly are when vendor == Intel &&
cpu-family == 5 and APIC bit is set in CPUID - or when you simply pass
lapic on the kernel command line, on a P5.

The below patch stops Linux incorrectly interfering with the
MSR_IA32_APICBASE for P5 class machines. Other code paths exist that
touch the MSR - however those paths are not currently reachable for a
conformant P5.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linux.intel.com>
Link: http://lkml.kernel.org/r/4F8EEDD3.1080404@linux.intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-05-07 08:56:32 -07:00
..
apic_flat_64.c x86, apic: Include module.h header in apic_flat_64.c 2011-05-23 21:27:35 +02:00
apic_noop.c x86-32, NUMA: Make apic->x86_32_numa_cpu_node() optional 2011-05-02 14:18:52 +02:00
apic.c x86, apic: APIC code touches invalid MSR on P5 class machines 2012-05-07 08:56:32 -07:00
bigsmp_32.c apic, i386/bigsmp: Fix false warnings regarding logical APIC ID mismatches 2011-11-11 09:35:52 -08:00
es7000_32.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
hw_nmi.c watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh 2011-05-23 11:58:59 +02:00
io_apic.c Revert "x86/ioapic: Add register level checks to detect bogus io-apic entries" 2012-04-13 08:14:08 -07:00
ipi.c x86: Always use x86_cpu_to_logical_apicid for cpu -> logical apic id 2011-01-28 14:54:05 +01:00
Makefile x86, apic: Introduce .apicdrivers section to find the list of apic drivers 2011-05-22 11:48:03 +02:00
numaq_32.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
probe_32.c apic, i386/bigsmp: Fix false warnings regarding logical APIC ID mismatches 2011-11-11 09:35:52 -08:00
probe_64.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
summit_32.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
x2apic_cluster.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
x2apic_phys.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
x2apic_uv_x.c x86, UV: Update Boot messages for SGI UV2 platform 2012-01-25 17:24:49 -08:00