From owner-freebsd-current@FreeBSD.ORG Fri Feb 6 11:40:49 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DA74416A4D8 for ; Fri, 6 Feb 2004 11:40:49 -0800 (PST) Received: from root.org (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 9505143D73 for ; Fri, 6 Feb 2004 11:40:32 -0800 (PST) (envelope-from nate@root.org) Received: (qmail 53934 invoked by uid 1000); 6 Feb 2004 19:40:22 -0000 Date: Fri, 6 Feb 2004 11:40:22 -0800 (PST) From: Nate Lawson To: John Baldwin In-Reply-To: <200402061343.49318.jhb@FreeBSD.org> Message-ID: <20040206113919.X53518@root.org> References: <20040205151520.E48439@root.org> <200402061343.49318.jhb@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: pmes@bis.midco.net cc: current@freebsd.org Subject: Re: Interrupt storm on acpi0 occurred after madt.c change X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Feb 2004 19:40:50 -0000 On Fri, 6 Feb 2004, John Baldwin wrote: > 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. Sorry, my second message corrected my assumption. I was on the road and didn't have a chance to look at his ASL first. > 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). I think we're ok. (See previous mail). This board should be active-hi (due to the "conforming" polarity) and level triggered. -Nate