From owner-cvs-all@FreeBSD.ORG Mon Feb 4 15:34:15 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 EC70916A469; Mon, 4 Feb 2008 15:34:15 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 7F39513C44B; Mon, 4 Feb 2008 15:34:15 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.8/8.13.8) with ESMTP id m14FY9Kk054496; Mon, 4 Feb 2008 08:34:09 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <47A73071.5080101@samsco.org> Date: Mon, 04 Feb 2008 08:34:09 -0700 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.11) Gecko/20071128 SeaMonkey/1.1.7 MIME-Version: 1.0 To: John Baldwin References: <200802012031.m11KV9NZ095246@repoman.freebsd.org> <47A3D2FE.1060202@samsco.org> <200802040947.59712.jhb@freebsd.org> In-Reply-To: <200802040947.59712.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.4 required=5.4 tests=ALL_TRUSTED autolearn=failed version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/pci pci.c 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: Mon, 04 Feb 2008 15:34:16 -0000 John Baldwin wrote: > On Friday 01 February 2008 09:18:38 pm Scott Long wrote: >> John Baldwin wrote: >>> jhb 2008-02-01 20:31:09 UTC >>> >>> FreeBSD src repository >>> >>> Modified files: >>> sys/dev/pci pci.c >>> Log: >>> Relax the check for a PCI-express chipset by assuming the system is a >>> PCI-express chipset (and thus has functional MSI) if there are any >>> PCI-express devices in the system, not requiring a root port device. >>> >>> With PCI-X the chipset detection has to be very conservative because there >>> are known systems with PCI-X devices that do not appear to have PCI-X >>> chipsets. However, with PCI-express I'm not sure it is possible to have >>> a PCI-express device in a system with a non-PCI-express chipset. If we >>> assume that is the case then this change is valid. It is also required >>> for at least some PCI-express systems that don't have any devices with >>> a root port capability (some ICH9 systems). >>> >>> MFC after: 1 week >>> Reported by: jfv >>> >>> Revision Changes Path >>> 1.357 +2 -5 src/sys/dev/pci/pci.c >> It's certainly possible for a PCI-X device to be plugged into a PCI-only >> system; PCI-X is backwards compatible at an electrical an protocol level >> with 3.3V PCI. So yes, you will see PCI-X extcaps on PCI-X cards even >> if there is no PCI-X bridge. >> >> I'm sure there are fun, interesting, and highly obtuse ways to get a >> PCI-E device onto a system with no PCI-E root complex. I do agree with >> your implicit statement to not worry about such an edge case, at least >> not until such an edge case becomes a demonstrated reality. What does >> worry me is that Intel would release PCI-E chipsets without an >> advertised root complex. That would seem to blatantly violate the spec. >> Does Jack have confirmation that this is really the case? If so, what >> else is being played fast-and-loose with that we should know about? > > It's not that it isn't advertising a root complex but isn't advertising a > root _port_ unless there is a PCI-e expansion card plugged in. I guess > internal PCI-e devices aren't connected via a port? It does seem > inconsistent as my laptop with no external PCI-e slots has root ports > capabilities on PCI-PCI bridges off of bus 0 that service internal devices. > Ok, funky. So there are onboard PCIe devices, but it only advertises a port if there are external devices. I'm not clear on the technical distinction there either. Scott