From owner-cvs-all@FreeBSD.ORG Thu Apr 17 12:38:02 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48FB01065676; Thu, 17 Apr 2008 12:38:02 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3D9308FC50; Thu, 17 Apr 2008 12:38:02 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m3HCc2Yd089605; Thu, 17 Apr 2008 12:38:02 GMT (envelope-from marius@repoman.freebsd.org) Received: (from marius@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m3HCc1Do089604; Thu, 17 Apr 2008 12:38:01 GMT (envelope-from marius) Message-Id: <200804171238.m3HCc1Do089604@repoman.freebsd.org> From: Marius Strobl Date: Thu, 17 Apr 2008 12:38:00 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/sparc64/pci apb.c ofw_pci_if.m ofw_pcib.c ofw_pcib_subr.c ofw_pcib_subr.h ofw_pcibus.c psycho.c psychovar.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Apr 2008 12:38:02 -0000 marius 2008-04-17 12:38:00 UTC FreeBSD src repository Modified files: sys/sparc64/pci apb.c ofw_pci_if.m ofw_pcib.c ofw_pcib_subr.c ofw_pcib_subr.h ofw_pcibus.c psycho.c psychovar.h Log: On sparc64 machines with multiple host-PCI-bridges these bridges have separate configuration spaces so by definition they implement different PCI domains. Thus change psycho(4) to use PCI domains instead of reenumerating all PCI busses so they have globally unique bus numbers and drop support for reenumerating busses in the OFW PCI code. According to CVS history reenumeration was also required in order to get some E450 to boot but given that no other open source kernel changes the PCI bus numbers assigned by the firmware I believe the real problem was that the old code used the bus number as the device number for the PCI busses and unlike most of the other machines the firmwares of the problematic ones don't use disjoint PCI bus numbers across the host-PCI-bridges. MFC after: 1 month Revision Changes Path 1.15 +7 -5 src/sys/sparc64/pci/apb.c 1.9 +0 -35 src/sys/sparc64/pci/ofw_pci_if.m 1.9 +0 -3 src/sys/sparc64/pci/ofw_pcib.c 1.9 +0 -39 src/sys/sparc64/pci/ofw_pcib_subr.c 1.4 +0 -1 src/sys/sparc64/pci/ofw_pcib_subr.h 1.18 +0 -4 src/sys/sparc64/pci/ofw_pcibus.c 1.74 +12 -59 src/sys/sparc64/pci/psycho.c 1.18 +2 -3 src/sys/sparc64/pci/psychovar.h