PCI interrupt routing with APIC broken again
John Baldwin
jhb at FreeBSD.org
Thu Apr 22 06:47:53 PDT 2004
On Tuesday 20 April 2004 08:23 am, Tomi Vainio - Sun Finland wrote:
> Hi,
>
> My SMP system is seeing continous interrupt storm from acpi irq20.
> Originally this is a bug on my mobo but John has fixed it already
> twice tweaking the code. I've cvsupped source 10th and 17th of April
> and it broke between these so probably PCI changes did something. Any
> idea how to fix this now?
>
> acpi0: Overriding SCI Interrupt from IRQ 9 to IRQ 20
>
> # vmstat -i
> interrupt total rate
> irq1: atkbd0 300 0
> irq0: clk 23517218 99
> irq8: rtc 30102353 127
> irq12: psm0 3214 0
> irq14: ata0 10 0
> irq15: ata1 55 0
> irq16: ahc0 ahc1 118669 0
> irq17: fxp0 67232 0
> irq19: uhci0 bktr0 36162124 153
> irq20: acpi0 3063111398 13024
> irq9: intpm0 37606 0
> Total 3153120179 13407
>
> Tomppa
Yes, add 'hw.acpi.force_sci_lo=1' to /boot/loader.conf. This was mentioned in
the commit messsage:
jhb 2004/04/16 12:46:30 PDT
FreeBSD src repository
Modified files:
sys/i386/acpica madt.c
Log:
Revert part of the "BIOS brain damage" from rev 1.10. It seems that
different BIOSs use the same exact settings to mean two very different and
incompatible things for the SCI. Thus, if the SCI is remapped to a PCI
interrupt, we now trust the trigger/polarity that the MADT provides by
default. However, the SCI can be forced to level/lo as 1.10 did by setting
the tunable "hw.acpi.force_sci_lo" to a non-zero value from the loader.
Thus, if rev 1.10 caused an interrupt storm, it should nwo fix your
machine. If rev 1.10 fixed an interrupt storm on your machine, you
probably need to set the aforementioned tunable in /boot/loader.conf to
prevent the interrupt storm.
The more general problem of getting the SCI's trigger/polarity programmed
"correctly" (for some value of correctly meaning several workarounds for
broken BIOSs and inconsistent "implementations" of the ACPI standard) is
going to require more work, but this band-aid should improve the current
situation somewhat.
Requested by: njl
Revision Changes Path
1.11 +5 -4 src/sys/i386/acpica/madt.c
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list