From owner-freebsd-new-bus Thu Sep 5 23:48:40 2002 Delivered-To: freebsd-new-bus@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 13FC437B400 for ; Thu, 5 Sep 2002 23:48:39 -0700 (PDT) Received: from sasami.jurai.net (sasami.jurai.net [66.92.160.223]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C02743E4A for ; Thu, 5 Sep 2002 23:48:38 -0700 (PDT) (envelope-from winter@jurai.net) Received: from sasami.jurai.net (sasami.jurai.net [66.92.160.223]) by sasami.jurai.net (8.12.5/8.12.2) with ESMTP id g866mXOw052032; Fri, 6 Sep 2002 02:48:34 -0400 (EDT) (envelope-from winter@jurai.net) Date: Fri, 6 Sep 2002 02:48:33 -0400 (EDT) From: "Matthew N. Dodd" To: "M. Warner Losh" Cc: new-bus@FreeBSD.ORG Subject: Re: ISA bus notes In-Reply-To: <20020830.220723.10970697.imp@bsdimp.com> Message-ID: <20020906024812.U51574-100000@sasami.jurai.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-new-bus@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Fri, 30 Aug 2002, M. Warner Losh wrote: > I don't where winter's stuff fits into this... I've not done the > research here to know for sure. I assume you're talking about the ESCD stuff. -- | Matthew N. Dodd | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD | | winter@jurai.net | 2 x '84 Volvo 245DL | ix86,sparc,pmax | | http://www.jurai.net/~winter | For Great Justice! | ISO8802.5 4ever | To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-new-bus" in the body of the message From owner-freebsd-new-bus Fri Sep 6 0:21:26 2002 Delivered-To: freebsd-new-bus@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 92BF837B400 for ; Fri, 6 Sep 2002 00:21:24 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id D118B43E6E for ; Fri, 6 Sep 2002 00:21:23 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.3/8.12.3) with ESMTP id g867LIGq012725; Fri, 6 Sep 2002 01:21:23 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Fri, 06 Sep 2002 01:21:17 -0600 (MDT) Message-Id: <20020906.012117.06913217.imp@bsdimp.com> To: winter@jurai.net Cc: new-bus@FreeBSD.ORG Subject: Re: ISA bus notes From: "M. Warner Losh" In-Reply-To: <20020906024812.U51574-100000@sasami.jurai.net> References: <20020830.220723.10970697.imp@bsdimp.com> <20020906024812.U51574-100000@sasami.jurai.net> X-Mailer: Mew version 2.1 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-new-bus@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <20020906024812.U51574-100000@sasami.jurai.net> "Matthew N. Dodd" writes: : On Fri, 30 Aug 2002, M. Warner Losh wrote: : > I don't where winter's stuff fits into this... I've not done the : > research here to know for sure. : : I assume you're talking about the ESCD stuff. Yes. Those initials had slipped my mind. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-new-bus" in the body of the message From owner-freebsd-new-bus Fri Sep 6 9:55: 4 2002 Delivered-To: freebsd-new-bus@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1747D37B400 for ; Fri, 6 Sep 2002 09:55:01 -0700 (PDT) Received: from mail.speakeasy.net (mail15.speakeasy.net [216.254.0.215]) by mx1.FreeBSD.org (Postfix) with ESMTP id A5C6C43E6A for ; Fri, 6 Sep 2002 09:55:00 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 5312 invoked from network); 6 Sep 2002 16:54:58 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail15.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 6 Sep 2002 16:54:58 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.5/8.12.5) with ESMTP id g86GsoBv015180; Fri, 6 Sep 2002 12:54:54 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Date: Fri, 06 Sep 2002 12:54:50 -0400 (EDT) From: John Baldwin To: new-bus@FreeBSD.org, gibbs@FreeBSD.org Subject: The duplicate host-PCI bridge thing Sender: owner-freebsd-new-bus@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I have a solution for the problem of the nexus probing Host-PCI bridges already found by ACPI. It does make the assumption that ACPI enumerates all Host-PCI bridges though. If we ever find that is not the case then we may have to add hacks for that case. Basically what I did was to create a 'legacy' driver. In nexus_attach(), if acpi0 isn't found, then the nexus adds a "legacy0" child. The nexus_pcib and apm drivers now hang off of legacy instead of ACPI. This also means that the gross hacks to keep APM and ACPI from stomping on each other aren't needed anymore either. The code to do this can be found in the jhb_acpipci branch from the p4 depot on freefall (//depot/users/jhb/acpipci/...). I can also post patches if desired. I have a few other changes in that branch as well including fixes to make PCI interrupt routing using the $PIR work for child busses. I want to go ahead and get the stuff in this branch committed so I can start working on fixing the APIC_IO mess for PCI interrupts. Basically, we do a psuedo-routing hack in pci_cfgregread() right now. What I plan to do instead is to remove that and instead add a PCI-PCI bridge driver that uses the mptable to route interrupts (similar to my current PCIBIOS PCI-PCI bridge driver) and have nexus_pcib (which will be renamed to legacy_pcib after the legacy driver is added) use either method of routing depending on #ifdef APIC_IO (it could eventually be a runtime decision, but that is another ball of wax). ACPI already routes interrupts right for APIC's, but the pci_cfgregread() hack breaks it. What we will do instead is to always route interrupts on i386 (just like we always do on ia64) and between the ACPI routing and the mptable routing for legacy systems we should get it right for APIC's. We might even be able to look at making APIC's work on UP systems at some point. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-new-bus" in the body of the message