Hi,

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.

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.

Looking at the code, I think Linux is using 'segment' as 'domain'. So they should be interchangeably. I am not sure what other OS does though.

Cheers,

--
Julien Grall

Reply via email to