[PATCH] Fix weird PCI bus numbers with pci_linkX

John Baldwin jhb at freebsd.org
Tue Nov 22 12:43:49 PST 2005


On Tuesday 22 November 2005 03:03 pm, Mathieu Prevot wrote:
> Weird addresses disappeared. But I don't why I have invalid IRQ ...
>
> ...
> ACPI APIC Table: <VIAK8  AWRDACPI>
> ioapic0 <Version 0.3> irqs 0-23 on motherboard
> ...
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
> pci_link9: BIOS IRQ 11 for 0.16.INTA is invalid
> pci_link9: BIOS IRQ 5 for 0.16.INTB is invalid
> pci_link9: BIOS IRQ 10 for 0.16.INTC is invalid
> pci_link10: BIOS IRQ 10 for 0.17.INTC is invalid
> pci_link11: BIOS IRQ 11 for 0.18.INTA is invalid
> ...
> uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 21 at
> device 16.0 on pci0

You are using an I/O APIC.  In your ASL, your pci link resources get different 
IRQs when using APIC than when not using APIC.  The BIOS never uses APIC 
mode, so it programs IRQs for each PCI device according to the non-APIC (aka 
PIC) mode.  The messages above mean that we found out during the boot that 
the interrupt for 0.16.INTA (PCI bus 0, device (slot) 16, pin A#) is routed 
via the pci_link9 device, and that the BIOS had set the IRQ for that device 
to 11.  However, when we switch over to APIC mode, then the list of valid 
IRQs for that link device are something like 20, 21, 22, and 23.  The IRQ the 
BIOS used (11) isn't in that list, so we ignore it and pick an IRQ out of the 
list (21 in this case).  You don't need to worry about these messages.  I'll 
see if I can't shut them up in this case (BIOS uses an ISA IRQ but this link 
device only has non-ISA IRQs).

In fact, I've just whipped up a patch to shut these warnings up.  It's 
attached.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-acpi mailing list