--- linux-2.6.0-test2-mm4/arch/i386/kernel/acpi/boot.c.orig Fri Aug 8 16:26:27 2003 +++ linux-2.6.0-test2-mm4/arch/i386/kernel/acpi/boot.c Fri Aug 8 17:00:07 2003 @@ -39,6 +39,7 @@ #define PREFIX "ACPI: " extern int acpi_disabled; +extern int acpi_irq_disabled; /* -------------------------------------------------------------------------- Boot-time Configuration @@ -381,6 +382,8 @@ #ifdef CONFIG_X86_IO_APIC #ifndef CONFIG_ACPI_HT_ONLY + if (!acpi_irq_disabled) { + /* * I/O APIC * -------- @@ -416,6 +419,8 @@ acpi_irq_model = ACPI_IRQ_MODEL_IOAPIC; acpi_ioapic = 1; + + } #endif /*!CONFIG_ACPI_HT_ONLY*/ #endif /*CONFIG_X86_IO_APIC*/ --- linux-2.6.0-test2-mm4/arch/i386/kernel/setup.c.orig Fri Aug 8 16:29:55 2003 +++ linux-2.6.0-test2-mm4/arch/i386/kernel/setup.c Fri Aug 8 17:00:37 2003 @@ -69,6 +69,8 @@ #endif EXPORT_SYMBOL(acpi_disabled); +int acpi_irq_disabled = 0; + int MCA_bus; /* for MCA, but anyone else can use it if they want */ unsigned int machine_id; @@ -524,6 +526,10 @@ if (c == ' ' && !memcmp(from, "acpismp=force", 13)) acpi_disabled = 0; + /* "pci=noacpi" disables ACPI table parsing for interrupt routing */ + if (c == ' ' && !memcmp(from, "pci=noacpi", 10)) + acpi_irq_disabled = 1; + /* * highmem=size forces highmem to be exactly 'size' bytes. * This works even on boxes that have no highmem otherwise.