From: Natalie Protasevich This patch allows xAPIC systems that don't have serial bus for interrupts delivery to by-pass the check on uniquness of IO-APIC IDs. Some of ES7000's panic failing this unnecessary check. The genapic mechanism has NO_IOAPIC_CHECK flag, which is defined in each subarch. The MP boot utilizes it, but the ACPI boot is missing it. Signed-off-by: Natalie Protasevich Signed-off-by: Andrew Morton --- arch/i386/kernel/io_apic.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff -puN arch/i386/kernel/io_apic.c~added-no_ioapic_check-in-io_apic_get_unique_id-for-acpi-boot arch/i386/kernel/io_apic.c --- 25/arch/i386/kernel/io_apic.c~added-no_ioapic_check-in-io_apic_get_unique_id-for-acpi-boot Mon May 2 16:15:06 2005 +++ 25-akpm/arch/i386/kernel/io_apic.c Mon May 2 16:15:06 2005 @@ -2397,13 +2397,18 @@ int __init io_apic_get_unique_id (int io unsigned long flags; int i = 0; + /* Don't check I/O APIC IDs for some xAPIC systems. They have + * no meaning without the serial APIC bus. + */ + + if (NO_IOAPIC_CHECK) + return apic_id; + /* * The P4 platform supports up to 256 APIC IDs on two separate APIC * buses (one for LAPICs, one for IOAPICs), where predecessors only * supports up to 16 on one shared APIC bus. * - * TBD: Expand LAPIC/IOAPIC support on P4-class systems to take full - * advantage of new APIC bus architecture. */ if (physids_empty(apic_id_map)) _