Date: Fri, 6 Feb 2004 13:43:49 -0500 From: John Baldwin <jhb@FreeBSD.org> To: Nate Lawson <nate@root.org> Cc: current@freebsd.org Subject: Re: Interrupt storm on acpi0 occurred after madt.c change Message-ID: <200402061343.49318.jhb@FreeBSD.org> In-Reply-To: <20040205151520.E48439@root.org> References: <20040205151520.E48439@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 05 February 2004 06:19 pm, Nate Lawson wrote: > It should work fine in Linux. mp_config_ioapic_for_sci() in > arch/i386/kernel/mpparse.c has an exception for Tyans: > > /* > * Although the ACPI spec says that the SCI should be level/low > * don't reprogram it unless there is an explicit MADT OVR entry > * instructing us to do so -- otherwise we break Tyan boards which > * have the SCI wired edge/high but no MADT OVR. > */ > > This is for the case where there is no source override in the MADT for the > interrupt defined as ACPI_FADT->sci_int. The problem is that these motherboards _do_ have an MADT override entry. Even worse, I have seen different motherboards (some Tyan, some non-Tyan) that both have the exact same MADT override entry that maps IRQ 9 to interrupt 20 with active-hi polarity and level trigger. Now, on the !Tyan motherboards, using those params results in an interrupt storm, so I force the polarity to active-lo (on these motherboards, another PCI device such as fxp0 also uses IRQ 20). On the Tyan motherboards, the MADT entry is _identical_, but it storms if I set the polarity to low but works if it uses the bogus setting of active-hi (but with level trigger). The Tyan motherboards do not seem to share IRQ 20 with a PCI device, but I can't tell if a PCI device uses IRQ 20 in the MADT parser. It's a big mess, as I have two different vendors using the same exact MADT entry both with a bogus polarity, and one wants hte bogus polarity and one wants the normal polarity (i.e. use active-lo with level trigger). -- 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?200402061343.49318.jhb>