> "Christoph Egger" wrote: > > > > In message: <20090710024528.ec36959...@thoreau.thistledown.com.au> > > > Simon Burge <sim...@netbsd.org> writes: > > > : Christoph Egger wrote: > > > : > > > : > Michael Lorenz wrote: > > > : > > > > : > > +/* > > > : > > + * NetBSD's userland has a /dev/pci* entry for each bus but > > > userland has no way > > > : > > + * to tell if a bus is a subordinate of another one or if it's > on a > > > different > > > : > > + * host bridge. > > > : > > > > : > I have a patch which introduces support for PCI domains. It allows > the > > > : > userland to distinguish between them by checking if the pci bus > > > belongs > > > : > to the same PCI domain. > > > : > > > : What exactly is a "PCI domain"? A quick google seems to suggest > that > > > : this is a Linux concept as opposed to a PCI concept. In a previous > > > : life we used NetBSD on a number of different machines of various > > > : architectures that had multiple PCI host bridges, although > admittedly we > > > : didn't need to know the topology of the PCI bus layout. > > > > > > PCI domains, as implemented by Linux and FreeBSD are separate host > > > bridges. Each bus complex behind the host bridge has independent > > > numbering. Each of these bus complexes are in a different domain. > > > > > > Not all systems with multiple host bridges have separate numbering > > > domains, but many do. > > > > PCI domains are part of the PCI host bridge specification. > > It is a 16bit-wide number. > > Can you please provide a reference for this? There's nothing mentioned > in the PCI Local Bus Specification version 2.3. I can find plenty of > references to "clock domains" and "address space domains", but when I > exclude Linux references I can't seem to find anything useful.
It's not in the PCI Local Bus Specification nor in the PCI-to-PCI Bridge Specification. It is in the PCI Host Bridge Specification which is a vendor specific paper. The pci host bridges for the alpha port implements PCI domains. > Everything I see so far says that a "PCI domain" is an OS abstraction > and not part of a PCI specification. I'm also not sure exactly what > problem you're trying to solve - why exactly does it matter if two PCI > busses share a common "domain" or not? Read the C comment in my first mail. X.org wants to have some information NetBSD currently doesn't provide to userland. This is what I rather want to discuss. Christoph