
From: Natalie Protasevich <Natalie.Protasevich@unisys.com>

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 <Natalie.Protasevich@unisys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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))
_
