On Monday 04 February 2008 10:34:09 am Scott Long wrote: > 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.
Correct, I find it quite odd myself and had assumed that you would always have root ports. I was quite surprised to learn otherwise. :-/ -- John Baldwin _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"