xl device doesn't work with ACPI enabled under -current and -stable

Joerg Sonnenberger joerg at britannica.bec.de
Thu Feb 3 13:32:30 PST 2005


On Thu, Feb 03, 2005 at 01:06:59PM -0800, Matthew Dillon wrote:
>     But then when CBB0 comes along, the irq is not routed, so 
>     pci_alloc_resource() calls PCIB_ROUTE_INTERRUPT().  PCIB_ROUTE_INTERRUPT()
>     has *NO* clue that it *MUST* use irq 11 (because xl0 and cbb0 share the
>     same int pin), so it goes and allocates irq 3.  

PCIB_ROUTE_INTERRUPT calls the way up to pci_cfgintr.
pci_cfgintr first checks via pci_cfgintr_valid if a valid interrupt
already exists, which doesn't happen here.
It checks pci_cfgintr_linked next, which whould find the mapping for xl0
and stop using that link. This doesn't somehow happen.

The strange part and the reason why I suspect the ACPI tables [which
I still haven't looked into] is the different configuration of the
secondary PCI bus at the time of cbb probe. Another strange part is
the different subordinatebus / secondarybus field. I have to start
reading the PCI specs now.

Joerg





More information about the Users mailing list