Skip site navigation (1)Skip section navigation (2)
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>