From owner-freebsd-current Wed Oct 16 12:27: 9 2002 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 3B40437B406 for ; Wed, 16 Oct 2002 12:27:07 -0700 (PDT) Received: from mail.speakeasy.net (mail12.speakeasy.net [216.254.0.212]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5FF4F43EAA for ; Wed, 16 Oct 2002 12:27:06 -0700 (PDT) (envelope-from john@baldwin.cx) Received: (qmail 13266 invoked from network); 16 Oct 2002 19:27:06 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail12.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 16 Oct 2002 19:27:06 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.6/8.12.6) with ESMTP id g9GJR4n5039763; Wed, 16 Oct 2002 15:27:04 -0400 (EDT) (envelope-from john@baldwin.cx) 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 In-Reply-To: Date: Wed, 16 Oct 2002 15:27:06 -0400 (EDT) From: John Baldwin To: John Baldwin Subject: Re: PCI problems with today's current Cc: current@FreeBSD.ORG, Mitsuru IWASAKI Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 16-Oct-2002 John Baldwin wrote: > > On 16-Oct-2002 Mitsuru IWASAKI wrote: >>> > > If still NG, please try the attached patch against SupermicroP3TDE6.asl. >>> > > # _BBN is bridge bus number, my guess is 0x3. You can try to change it >>> > > # if failed. >>> > >>> > Maybe 0x2 is correct. >>> >>> I tried 2, and it seems to work correctly now. >>> >>> Thanks! >> >> Congratulations! >> >># Now we can start discussing ACPI PCI vs. legacy PCI :) >> DSDT in ACPI BIOS on Supermicro P3TDE6 has obviously wrong _BBN value, >> but previous kernel can fall back to legacy PCI bridge probing even if >> PCI bridge probing by ACPI is failed. >> >> From: "Kenneth D. Merry" >> Subject: PCI problems with today's current >> Date: Thu, 3 Oct 2002 17:57:06 -0600 >> Message-ID: <20021003175706.A1221@panzer.kdm.org> >> >>> acpi_pcib1: on acpi0 >>> acpi_pcib1: we have duplicate bus number 0 - not probing bus >> [snip] >>> pcib2: at pcibus 2 on motherboard >>> IOAPIC #1 intpin 8 -> irq 16 >>> pci2: on pcib2 >>> ti0: mem 0xfebfc000-0xfebfffff irq 16 at device 2.0 >>> on pci2 >> >> I think that previous probing system is much more robust and safer >> in many cases, especially buggy ACPI BIOS. >> John, can we have previous PCI probing system again? > > I would rather fix ACPI to handle the bogus _BBN case by using _ADR to > read the bus number from config space. Otherwise, we won't end up with > _PRT's for non-zero host-PCI bridges, meaning that we may end up trying > to mix and match $PIR and _PRT interrupt routing for the UP case, or > trying to mix and match mptable and _PRT routing for the SMP case. We > should either let ACPI enumerate all host-PCI bridges or none. Ugh, unlike PCI-PCI bridges, there is no standard way of reading the bus number from a host-PCI bridge. Yay. This is why _BBN exists in the first place. How helpful of BIOS writers to ignore it and/or completely misimpliment it. I have a patch that might work but it has the downside of a small bit of duplicated code. You can get it at http://www.FreeBSD.org/~jhb/patches/acpi_pci.patch. On another slightly related note: I don't think we need the pci_cfgregopen() call in the acpi_pcib_pci driver. The reason is that that function only needs to be called once, and for us to even get to the probe routine of an ACPI PCI-PCI bridge we must have succesfully probed and attached an ACPI Host-PCI bridge. -- 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-current" in the body of the message