> FreeBSD 7.0-CURRENT #0: Tue Apr 10 13:47:53 WST 2007 > > Could be an insanely dumb question, however, I have to ask. > > Why don't IRQs in the BIOS map to IRQs in the output of vmstat(8) ? > > e.g. > > I manually changed an IRQ assingment of an Intel NIC [em(4)] to be on IRQ 11 in > the BIOS and vmstat(8) reports its as irq16. > > #vmstat -i | egrep -i em > irq16: em0 uhci0 2990236 18 > > Can someone (njl_at_ jhb_at_) please enlighten me ? Interrupt routing is determined by a number of factors. Without acpi, it's determined by the BIOS initial irq and then anything the $PIR table changes (usually matches the BIOS value). With acpi, it's the BIOS irq and MADT acpi table. And that assumes APIC, not PIC-based routing. You can override the values with these tunables from the acpi man page: hw.pci.link.%s.%d.irq Override the interrupt to use for this link and index. This capability should be used carefully, and only if a device is not working with acpi enabled. "%s" is the name of the link (e.g., LNKA). "%d" is the resource index when the link supports multi- ple IRQs. Most PCI links only have one IRQ resource, so the below form should be used. hw.pci.link.%s.irq Override the interrupt to use. This capability should be used carefully, and only if a device is not working with acpi enabled. "%s" is the name of the link (e.g., LNKA). You'll have to look at your dmesg to determine the proper values here. -- NateReceived on Thu Apr 19 2007 - 00:26:41 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:08 UTC