Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PCI domains



> "Christoph Egger" wrote:
> 
> > > In message: 
> > > <20090710024528.EC3695985C%thoreau.thistledown.com.au@localhost>
> > >             Simon Burge <simonb%NetBSD.org@localhost> 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


Home | Main Index | Thread Index | Old Index