From: Jeremy Fitzhardinge Date: Wed, 22 Jul 2009 16:59:35 +0000 (-0700) Subject: x86, amd: Don't probe for extended APIC ID if APICs are disabled X-Git-Tag: v2.6.30.6~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c668814e3e2be7d633447bf6e78237d4cedabb7;p=thirdparty%2Fkernel%2Fstable.git x86, amd: Don't probe for extended APIC ID if APICs are disabled commit 2cb078603abb612e3bcd428fb8122c3d39e08832 upstream. If we've logically disabled apics, don't probe the PCI space for the AMD extended APIC ID. [ Impact: prevent boot crash under Xen. ] Signed-off-by: Jeremy Fitzhardinge Reported-by: Bastian Blank Signed-off-by: H. Peter Anvin Cc: Andreas Herrmann Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index d869b3b1f18cb..61a592e274df8 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -356,7 +356,7 @@ static void __cpuinit early_init_amd(struct cpuinfo_x86 *c) #endif #if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_PCI) /* check CPU config space for extended APIC ID */ - if (c->x86 >= 0xf) { + if (cpu_has_apic && c->x86 >= 0xf) { unsigned int val; val = read_pci_config(0, 24, 0, 0x68); if ((val & ((1 << 17) | (1 << 18))) == ((1 << 17) | (1 << 18)))