From owner-freebsd-current@FreeBSD.ORG Mon Apr 11 07:15:33 2005 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 6F38716A4CE for ; Mon, 11 Apr 2005 07:15:33 +0000 (GMT) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 41E8A43D48 for ; Mon, 11 Apr 2005 07:15:33 +0000 (GMT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) j3B7FX0e048669; Mon, 11 Apr 2005 00:15:33 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.9p2/8.12.9/Submit) id j3B7FXVK048668; Mon, 11 Apr 2005 00:15:33 -0700 (PDT) (envelope-from dillon) Date: Mon, 11 Apr 2005 00:15:33 -0700 (PDT) From: Matthew Dillon Message-Id: <200504110715.j3B7FXVK048668@apollo.backplane.com> To: Scott Long , Doug White , freebsd-current@freebsd.org References: <20050406233405.O47071@carver.gumbysoft.com> <200504081656.51917.jhb@FreeBSD.org> <20050410152946.W82708@carver.gumbysoft.com> <20050410172818.D82708@carver.gumbysoft.com> <200504110231.j3B2VOYr047361@apollo.backplane.com> <425A10DD.70500@samsco.org> Subject: Re: Potential source of interrupt aliasing 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: Mon, 11 Apr 2005 07:15:33 -0000 : Hmm. I can think of two solutions that avoid masking: : : * Change the trigger mode from level to edge as a means of masking the : interrupt, then change it back to level triggered to unmask. This : would be done in the IO APIC. : : * Change the delivery mode to low-priority for the interrupt that occured : and use the priority field to mask the interrupt to the cpu. This : would be done in the IO APIC with the LAPIC's TPR set appropriately. Here's a third... mess with the IOART_DEST mask for the pin on the IOAPIC. Can it be set to not route the interrupt to *any* cpu ? Usually it's set to broadcast (all bits 1, at least on 4.x and DragonFly). so. e.g. IOART_DESTPHY but then with no cpu specified in IOART_DEST. -Matt Matthew Dillon