Skip to contentSkip to conversation

[2.4] fix "pci=noacpi" boot option

PATCH In review Thomas Schlichter 2 participants 2 messages Oct 14, 2003 – Oct 21, 2003

lore
Share & tools
lore
#0 lore raw

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 */
#1 lore raw
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.