Date: Tue, 20 Jan 2004 17:18:23 -0500 From: John Baldwin <jhb@FreeBSD.org> To: current@FreeBSD.org Subject: [PATCH] Reworked $PIR support for non-ACPI non-APIC PCI interrupt routing Message-ID: <200401201718.23458.jhb@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
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@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401201718.23458.jhb>