Bug 1585

Summary: pci=noacpi required on P3/ServerWorks LE - 2xIOAPIC mode
Product: ACPI Reporter: J.A. Magallon (jamagallon)
Component: BIOSAssignee: Len Brown (lenb)
Status: REJECTED DUPLICATE    
Severity: normal CC: acpi-bugzilla
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.4.23-rc3 Subsystem:
Regression: --- Bisected commit-id:
Attachments: dmesg, acpidmp and dmidecode outputs

Description J.A. Magallon 2003-11-24 13:56:52 UTC
Distribution: Mandrake Cooker (10.0)
Hardware Environment: Dual PIII@1GHz
Software Environment: Diskless boot via initrd, SMP
Problem Description: Booted with SMP but no ACPI, the 64 bit PCI slot (with
an Intel GigaBit card) is seen.
With acpi, it does not appear even under lspci. With acpi+'pci=noacpi', it
works again.

Steps to reproduce: just boot on a SuperMicro P3TDLE.
Comment 1 Len Brown 2003-11-24 23:48:05 UTC
Did ACPI on this system work in any other releases, such as earlier
2.4, or 2.6, or is this the 1st time it has been attempted?

As I don't have a SuperMicro P3TDLE, is it possible for you to attach
the dmesg, /proc/interrupts, and lspci -v from the acpi (failing), and 
pci=noacpi (succeeding) cases?  Also the output from acpidmp?

thanks,
-Len
Comment 2 J.A. Magallon 2003-11-25 15:18:57 UTC
Created attachment 1535 [details]
dmesg, acpidmp and dmidecode outputs

Sorry, I thought I had added the info in the first report...
Comment 3 J.A. Magallon 2003-11-25 15:22:14 UTC
Oops, forgot to mention, there's an lspci -v at the end of each dmesg...
Comment 4 Len Brown 2003-12-01 22:05:44 UTC
First the baseline case -- !CONFIG_ACPI uses MPS to set up the 2nd IOAPIC: 
 
IRQ26 -> 1:10 
IRQ31 -> 1:15 
 
00:06.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08) 
        Interrupt: pin A routed to IRQ 31 
01:02.0 Ethernet controller: Intel Corp. 82543GC Gigabit Ethernet Controller (Copper) (rev 02) 
       Interrupt: pin A routed to IRQ 26 
 
BTW. looks like USB didn't get an IRQ. 
Can you attach the /proc/interrupts showing where this device registered? 
00:0f.2 USB Controller: ServerWorks OSB4/CSB5 OHCI USB Controller (rev 04) (prog-if 10 
[OHCI]) 
        Interrupt: pin A routed to IRQ 0 
 
Then the ACPI case: 
 
ACPI: PCI Root Bridge [NRTH] (00:00) 
PCI: Probing PCI hardware (bus 00) 
ACPI: PCI Interrupt Routing Table [\_SB_.NRTH._PRT] 
ACPI: PCI Root Bridge [PCI1] (00:00) 
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1._PRT] 
pci_link-0258 [11] acpi_pci_link_get_curr: No IRQ resource found 
ACPI: PCI Interrupt Link [LN00] (IRQs 3 4 5 7 9 11 12 14 15) 
... 
ACPI: PCI Interrupt Link [LNUS] (IRQs 10) 
PCI: Probing PCI hardware 
dsopcode-0524 [64] ds_init_buffer_field  : Field size 72 exceeds Buffer size 48 (bits) 
 psparse-1120: *** Error: Method execution failed [\_SB_.LNUS._SRS] (Node c1c22488), 
AE_AML_BUFFER_LIMIT 
ACPI: Retrying with extended IRQ descriptor 
pci_link-0405 [53] acpi_pci_link_set     : Link disabled 
ACPI: Unable to set IRQ for PCI Interrupt Link [LNUS] (likely buggy ACPI BIOS). Aborting 
ACPI-based IRQ routing. Try pci=noacpi or acpi=off 
 
We're dead here, but we don't die cleanly... 
 
dsopcode-0524 [66] ds_init_buffer_field  : Field size 72 exceeds Buffer size 48 (bits) 
 psparse-1120: *** Error: Method execution failed [\_SB_.LNUS._SRS] (Node c1c22488), 
AE_AML_BUFFER_LIMIT 
ACPI: Retrying with extended IRQ descriptor 
pci_link-0405 [55] acpi_pci_link_set     : Link disabled 
ACPI: Unable to set IRQ for PCI Interrupt Link [LNUS] (likely buggy ACPI BIOS). Aborting 
ACPI-based IRQ routing. Try pci=noacpi or acpi=off 
 pci_irq-0266 [52] acpi_pci_irq_lookup   : Invalid IRQ link routing entry 
 pci_irq-0305 [52] acpi_pci_irq_derive   : Unable to derive IRQ for device 00:0f.2 
PCI: No IRQ known for interrupt pin A of device 00:0f.2 - using IRQ 255 
PCI: Using ACPI for IRQ routing 
 
and finally the pci=noacpi case: 
 
PCI: Using IRQ router ServerWorks [1166/0200] at 00:0f.0 
PCI->APIC IRQ transform: (B0,I6,P0) -> 31 
PCI->APIC IRQ transform: (B1,I2,P0) -> 26 
 
IRQ26 -> 1:10 
IRQ31 -> 1:15 
 
which looks okay.  So everything is working when pci=noacpi is used? 
Does USB work?  Do ACPI events work?  Can you attach the /proc/interrupts? 
Also, can you verify that this is the latest BIOS? 
 
thanks, 
-Len 
 
Comment 5 Len Brown 2003-12-01 22:32:52 UTC
please test the patch in bug 1590 in an acpi kernel, and attach the output from dmesg -s40000 
and and /proc/interrupts. 
 
thanks, 
-Len 
 
Comment 6 Len Brown 2003-12-01 22:55:28 UTC
Please also test the patch in bug 1581 in the ACPI kernel, and attach the dmesg. 
thanks, 
-Len 
 
Comment 7 Shaohua 2003-12-25 17:59:14 UTC
according to the acpidmp, it's same problem as bug #1662. all pci root bridges
(NRTH, PCI1) _BBN method incorrectly returns 0 , which means in ACPI mode, all 
pci root bridges will have bus number 0. So, some PCI devices can't be found 
or work.
Comment 8 Len Brown 2004-04-12 22:38:40 UTC

*** This bug has been marked as a duplicate of 1662 ***