On Thu, Mar 12, 2020 at 12:14:20PM +1100, David Gibson wrote:
> On Wed, Mar 11, 2020 at 03:11:16AM -0400, Michael S. Tsirkin wrote:
> > On Wed, Mar 11, 2020 at 11:58:57AM +1100, David Gibson wrote:
> > > Note that several things that I believe are now in the PCIe spec, but
> > > really derive more from PC legacy considerations, don't apply at all
> > > for PAPR.  e.g. there's no meaningful distinction between integrated
> > > and slotted devices, multiple independent host bridges is routine and
> > > doesn't require any (virtual) hardware visible domain numbers.
> > 
> > Domain numbers are a Linux thing, not a PCIe thing. On x86 they come
> > from ACPI segment numbers. As such they aren't usually hardware
> > visible on x86, they are supplied by firmware.
> 
> Oh, ok.  I thought that at least on the standard IO 0xcf8 host bridge
> controller the domain number was written into certain registers to
> select the relevant root bus.

standard 0xcf8 can only access 256 bus numbers. software does not
much care on which root bus these are though.

> On POWER the domain numbers are arbitrarily assigned within Linux.
> "Hardware" (well, the firmware/hypervisor) uses a different
> identifier, called the BUID (generally a large, 64-bit pseudo-address)
> in the device tree and hypercalls.
> 
> [As an aside, this means the use of domain numbers in libvirt XML is
> complete bogosity]

For fun, they aren't actually used either. And of course using the word
"domain" in a domain XML format means you can't search for it anywhere
without getting a million unrelated hits.



> -- 
> David Gibson                  | I'll have my music baroque, and my code
> david AT gibson.dropbear.id.au        | minimalist, thank you.  NOT _the_ 
> _other_
>                               | _way_ _around_!
> http://www.ozlabs.org/~dgibson



Reply via email to