IRQ-Routing for 5.3-BETA
nate at root.org
Sat Sep 25 10:43:35 PDT 2004
Matthias Schuendehuette wrote:
> On Saturday 25 September 2004 16:43, Matthias Schuendehuette wrote:
>>On Friday 24 September 2004 21:14, John Baldwin wrote:
>>>Umm the list of IRQ numbers is the list of valid IRQs. Your BIOS
>>>is _ineded_ buggy. Note that for the IRQ in question it says this:
>>>\_SB_.PCI0.LNKA irq 9: [ 1 3 4 5 6 7 10 11 12 14 15]
>>>I.e., I'm using IRQ 9, but 9 is not in the list of valid IRQs which
>>>includes 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, and 15. Thus, the
>>>kernel believes what your broken BIOS says and throws out IRQ 9 and
>>>tries to use IRQ 10 instead, which your BIOS claims is open for use
>>>even though you've told it its not. One thing you can try is a
>>>patch Nate has to always treat ACPI's interrupt (IRQ 9 usually) as
>>>a valid interrupt for the link device to use.
I've committed that patch to -current. If it doesn't break anything,
I'll MFC it. I'm pretty sure it's ok to special-case the SCI but with
the track record of BIOS authors, there's probably a system that asks
for it but can't handle it.
You should test the -current version of acpi_pci_link.c and see if it
works on your system both before and after reconfiguring your device's irq.
>>Umm... this seems to be completely logic.
>>I reconfigured my ISDN-Card to use IRQ2/9 (which was more simple than
>>I remembered :-) and it works! Shame on me, sometimes it's really too
> This really works for FreeBSD 5.3-BETA5 of today, but it works *only*
> with IRQ 2/9.
I don't quite understand. Your device's hardware was not set to 9 but
the BIOS was claiming it was? Is it on the motherboard (i.e.,
> I also tried IRQ 5, which is not used by any other device (a least I
> couldn't find any notice about irq5 in the boot -v messages but for
> isic0), and this does not work with the same messages as with IRQ 10.
> Somehow I have the uncertain feeling that the new IRQ-Routing code has
> still some deficencies, at least for ISA-style IRQs...
> But it's no longer a severe problem for me, so I can follow RELENG_5
When the BIOS gives an initial irq, we always try to route to that one
first since some devices don't work at any other irq.
More information about the freebsd-current