x86, amd: Don't probe for extended APIC ID if APICs are disabled

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 <jeremy.fitzhardinge@citrix.com>
Reported-by: Bastian Blank <bastian@waldi.eu.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
Jeremy Fitzhardinge 2009-07-22 09:59:35 -07:00 коммит произвёл H. Peter Anvin
Родитель 6effa8f6fc
Коммит 2cb078603a
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -356,7 +356,7 @@ static void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
#endif #endif
#if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_PCI) #if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_PCI)
/* check CPU config space for extended APIC ID */ /* check CPU config space for extended APIC ID */
if (c->x86 >= 0xf) { if (cpu_has_apic && c->x86 >= 0xf) {
unsigned int val; unsigned int val;
val = read_pci_config(0, 24, 0, 0x68); val = read_pci_config(0, 24, 0, 0x68);
if ((val & ((1 << 17) | (1 << 18))) == ((1 << 17) | (1 << 18))) if ((val & ((1 << 17) | (1 << 18))) == ((1 << 17) | (1 << 18)))