[PATCH] Reworked $PIR support for non-ACPI non-APIC PCI interrupt routing

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Tue, 20 Jan 2004 17:18:23 -0500
On i386, when we don't use ACPI and don't have an APIC, we use the $PIR table 
from the BIOS to route interrupts.  I have rewritten the $PIR support to be 
more link-centric somewhat similar to the ACPI PCI link code.  Part of this 
has included a tweak to the 'virgin' interrupt algorithm.  It will now first 
try to use IRQ's that the BIOS has already used for other PCI devices when 
trying to pick a virgin IRQ. So, if you had PCI devices routed to IRQ 3 or 4 
before, this should fix that.  It also allows you to use hints to override 
the IRQ for a given link like so:

hint.pci.link.0x6a.irq=10

Would set the IRQ to 10 for link 0x6a.  If you want to route an interrupt for 
a given PCI device, look up that device in the $PIR output in the dmesg, find 
the associated link device and set a tunable for that link.  Patch is at 
http://www.FreeBSD.org/~jhb/patches/pir.patch

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Tue Jan 20 2004 - 13:34:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:39 UTC