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 <[email protected]>
---
diff -puN arch/i386/kernel/io_apic.c~no-ioapic-check arch/i386/kernel/io_apic.c
--- linux-2.6.13-rc3-mm2/arch/i386/kernel/io_apic.c~no-ioapic-check 2005-05-01 02:15:48.054362032 -0700
+++ linux-2.6.13-rc3-mm2-root/arch/i386/kernel/io_apic.c 2005-05-01 02:28:23.282549896 -0700
@@ -2436,13 +2436,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))
_
On Sun, 1 May 2005 [email protected] wrote:
> 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 <[email protected]>
Acked-by: Zwane Mwaikambo <[email protected]>
Thanks Natalie. Andrew although we currently have a lot of patches in
the same area in your tree and things need settling down, this one looks
safe to pickup if you'd like to take it in now.