Date: Mon, 4 Feb 2008 09:46:39 -0500 From: John Baldwin <jhb@freebsd.org> To: Scott Long <scottl@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 Message-ID: <200802040947.59712.jhb@freebsd.org> In-Reply-To: <47A3D2FE.1060202@samsco.org> References: <200802012031.m11KV9NZ095246@repoman.freebsd.org> <47A3D2FE.1060202@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802040947.59712.jhb>