kernel-ark/arch/x86/kernel/apic
Bryan O'Donoghue cbf2829b61 x86, apic: APIC code touches invalid MSR on P5 class machines
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>
Cc: <stable@vger.kernel.org>
2012-04-18 09:44:31 -07:00
..
apic_flat_64.c x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
apic_noop.c x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
apic_numachip.c x86/platform: Remove incorrect error message in x86_default_fixup_cpu_id() 2012-04-16 20:43:43 +02:00
apic.c x86, apic: APIC code touches invalid MSR on P5 class machines 2012-04-18 09:44:31 -07:00
bigsmp_32.c x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
es7000_32.c x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
hw_nmi.c x86, nmi: Wire up NMI handlers to new routines 2011-10-10 06:56:57 +02:00
io_apic.c x86/ioapic: Add io_apic_ops driver layer to allow interception 2012-03-28 09:49:29 +02:00
ipi.c
Makefile x86: Add NumaChip support 2011-12-05 17:17:24 +01:00
numaq_32.c x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
probe_32.c x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
probe_64.c x86, apic: Make apic drivers static 2011-05-22 11:48:04 +02:00
summit_32.c x86/platform: Move APIC ID validity check into platform APIC code 2012-03-14 09:49:48 +01:00
x2apic_cluster.c x86/apic: Add separate apic_id_valid() functions for selected apic drivers 2012-03-23 13:28:43 +01:00
x2apic_phys.c x86/apic: Add separate apic_id_valid() functions for selected apic drivers 2012-03-23 13:28:43 +01:00
x2apic_uv_x.c x86/apic: Add separate apic_id_valid() functions for selected apic drivers 2012-03-23 13:28:43 +01:00