|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC PATCH v1 1/4] arm/pci: PCI setup and PCI host bridge discovery within XEN on ARM.
On Fri, 24 Jul 2020, Julien Grall wrote:
> On 24/07/2020 00:38, Stefano Stabellini wrote:
> > > + bridge->dt_node = dev;
> > > + bridge->sysdata = cfg;
> > > + bridge->ops = &ops->pci_ops;
> > > +
> > > + if( !dt_property_read_u32(dev, "linux,pci-domain", &segment) )
> > > + {
> > > + printk(XENLOG_ERR "\"linux,pci-domain\" property in not available
> > > in DT\n");
> > > + return -ENODEV;
> > > + }
> > > +
> > > + bridge->segment = (u16)segment;
> >
> > My understanding is that a Linux pci-domain doesn't correspond exactly
> > to a PCI segment. See for instance:
> >
> > https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg03885.html
> >
> > Do we need to care about the difference? If we mean pci-domain here,
> > should we just call them as such instead of calling them "segments" in
> > Xen (if they are not segments)?
>
> So we definitely need a segment number in hand because this is what the admin
> will use to assign a PCI device to a guest.
Yeah
> The segment number is just a value defined by the software. So as long as
> Linux and Xen agrees with the number, then we should be ok.
As far as I understand a Linux "domain" (linux,pci-domain in device
tree) is a value defined by the software. The PCI segment has a
definition in the PCI spec and it is returned by _SEG on ACPI systems.
The link above suggests that a Linux domain corresponds to (_SEG,
_BBN) where _SEG is the segment and _BBN is the "Bus Number".
I just would like to be precise with the terminology: if we are talking
about domains in the linux sense of the word, as it looks like we are
doing, then let's call them domain instead of segments which seem to
have a different definition.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |