[2.4] fix "pci=noacpi" boot option
PATCH 1/1 [2.4] fix "pci=noacpi" boot option
Hi Len,
some time ago I sent a patch which fixed problems with the "pci=noacpi" boot option of the 2.5.xx linux-kernel. It got applied to the 2.5 kernel tree but I missed to create a similar fix for the 2.4 tree which seems to have the same issue.
Now I've seen reports of people having problems with the "pci=noacpi" boot option with current 2.4.xx kernel versions, too. So I ported my old patch to 2.4.22-bk34, tested it and attached it to this mail. You may consider pushing it to Marcelo.
Kind regards,
Thomas
arch/i386/kernel/acpi.c renamed from arch/i386/kernel/acpi.c.orig +2 -1
@@ -58,6 +58,7 @@#ifdef CONFIG_ACPI_BOOT extern int acpi_disabled; +extern int acpi_irq;extern int acpi_ht;enum acpi_irq_model_id acpi_irq_model;
@@ -415,7 +416,7 @@* If MPS is present, it will handle them, * otherwise the system will stay in PIC mode */ -if (acpi_disabled) { +if (acpi_disabled || !acpi_irq) {return 1 ; }
arch/i386/kernel/setup.c renamed from arch/i386/kernel/setup.c.orig +6 -0
@@ -184,6 +184,7 @@EXPORT_SYMBOL (acpi_disabled);#ifdef CONFIG_ACPI_BOOT +int acpi_irq__initdata =1 ;/* enable IRQ */ int acpi_ht__initdata =1 ;/* enable HT */ #endif
@@ -848,6 +849,11 @@else if (!memcmp (from,"acpi=ht" ,7 )) { acpi_ht =1 ;if (!acpi_force) acpi_disabled =1 ; + } + +/* "pci=noacpi" disables ACPI interrupt routing */ +else if (!memcmp (from,"pci=noacpi" ,10 )) { + acpi_irq =0 ; }/* disable IO-APIC */
Quoted 7 lines · Thomas Schlichter
Hi Len,
some time ago I sent a patch which fixed problems with the "pci=noacpi" boot option of the 2.5.xx linux-kernel. It got applied to the 2.5 kernel tree but I missed to create a similar fix for the 2.4 tree which seems to have the same issue.
Quoted 7 lines
Now I've seen reports of people having problems with the "pci=noacpi" boot option with current 2.4.xx kernel versions, too. So I ported my old patch to 2.4.22-bk34, tested it and attached it to this mail. You may consider pushing it to Marcelo.
Kind regards,
Thomas
Thanks for the reminder Thomas, you're correct that pci=noacpi is broken, see http://bugzilla.kernel.org/show_bug.cgi?id=1219
Note that pci=noacpi is a bug workaround.
It is a bug when a platform requires it. The bug should be filed, root caused, and fixed. If you know of such platforms, please be encouraged to file bugs with the details so we can get to the bottom of it.
thanks,
-Len
ps. #include std-acpi-interrupt-bug-info-reqeust.h
Please file a bug at http://bugzilla.kernel.org/
Category: Power Management
Component: ACPI
Please attach the output from dmidecode, available in /usr/sbin/, or here:
http://www.nongnu.org/dmidecode/
Please attach the output from acpidmp, available in /usr/sbin/, or in here
http://www.intel.com/technology/iapc/acpi/downloads/pmtools-20010730.tar.gz
Please attach /proc/interrupts and the dmesg output showing the failure, if possible.