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.orgReceived 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