From owner-freebsd-arch@FreeBSD.ORG Mon Dec 11 14:55:49 2006 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DA28316A407 for ; Mon, 11 Dec 2006 14:55:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4CEF143C9D for ; Mon, 11 Dec 2006 14:54:32 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id kBBEtkH8008568; Mon, 11 Dec 2006 09:55:46 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Polstra Date: Mon, 11 Dec 2006 09:42:43 -0500 User-Agent: KMail/1.9.4 References: <200611201242.58088.jhb@freebsd.org> <095D8C4E-5C80-451A-8DF9-C3B307A0F603@polstra.com> In-Reply-To: <095D8C4E-5C80-451A-8DF9-C3B307A0F603@polstra.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200612110942.44308.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Mon, 11 Dec 2006 09:55:46 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2315/Mon Dec 11 04:55:24 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-arch@freebsd.org Subject: Re: Where do MSI quirks belong? [patch] X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Dec 2006 14:55:49 -0000 On Sunday 10 December 2006 19:29, John Polstra wrote: > > On Nov 20, 2006, at 9:42 AM, John Baldwin wrote: > > > It's going to be a function of the chipset, as something in the > > chipset > > (presumably a Host -> PCI bridge) has to listen for writes to > > 0xfeeXXXXXX and > > convert them into APIC messages. There are two ways I planned on > > doing this: > > > > 1) Allow PCI-PCI bridges to be blacklisted, and the pcib_alloc_msi > > [x]() > > methods would compare the bridge's device id against a blacklist. > > This can > > matter if you have virtual PCI-PCI bridges that really a HT -> PCI > > bridge or > > the like. > > > > 2) Blacklist chipsets in the x86 MD code based on the device ID of > > the first > > Host -> PCI bridge at device 0.0.0. > > I have implemented both of these checks, except that I put #2 into > the MI code since I couldn't find any reason to make it x86- > specific. Here's the patch. Does it look OK to you? It works fine > here. Hmm. I did blacklist stuff several weeks ago but haven't had time to test it or post it yet. :( I do think I like your approach a bit better though. What I had so far is here: http://www.FreeBSD.org/~jhb/patches/msi_blacklist.patch I'm not sure if it's worth blacklisting MSI separate from MSI-X as that only makes a difference at the device level (chipsets just get a single memory write per interrupt either way, they can't tell MSI from MSI-X). -- John Baldwin