aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/io_apic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel/io_apic.c')
-rw-r--r--arch/i386/kernel/io_apic.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c
index 7a324e8b86f9..51f7a5d8721f 100644
--- a/arch/i386/kernel/io_apic.c
+++ b/arch/i386/kernel/io_apic.c
@@ -1659,6 +1659,12 @@ static void __init setup_ioapic_ids_from_mpc(void)
1659 unsigned long flags; 1659 unsigned long flags;
1660 1660
1661 /* 1661 /*
1662 * Don't check I/O APIC IDs for xAPIC systems. They have
1663 * no meaning without the serial APIC bus.
1664 */
1665 if (!(boot_cpu_data.x86_vendor == X86_VENDOR_INTEL && boot_cpu_data.x86 < 15))
1666 return;
1667 /*
1662 * This is broken; anything with a real cpu count has to 1668 * This is broken; anything with a real cpu count has to
1663 * circumvent this idiocy regardless. 1669 * circumvent this idiocy regardless.
1664 */ 1670 */
@@ -1684,10 +1690,6 @@ static void __init setup_ioapic_ids_from_mpc(void)
1684 mp_ioapics[apic].mpc_apicid = reg_00.bits.ID; 1690 mp_ioapics[apic].mpc_apicid = reg_00.bits.ID;
1685 } 1691 }
1686 1692
1687 /* Don't check I/O APIC IDs for some xAPIC systems. They have
1688 * no meaning without the serial APIC bus. */
1689 if (NO_IOAPIC_CHECK)
1690 continue;
1691 /* 1693 /*
1692 * Sanity check, is the ID really free? Every APIC in a 1694 * Sanity check, is the ID really free? Every APIC in a
1693 * system must have a unique ID or we get lots of nice 1695 * system must have a unique ID or we get lots of nice