nate at root.org
Thu Apr 19 02:26:41 UTC 2007
> 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) ?
> 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@ jhb@) 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:
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.
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.
More information about the freebsd-current