On Tue, Mar 25 2025 at 11:22, Roger Pau Monné wrote: > On Tue, Mar 25, 2025 at 10:20:43AM +0100, Thomas Gleixner wrote: > I'm a bit confused by what msi_create_device_irq_domain() does, as it > does allocate an irq_domain with an associated msi_domain_info > structure, however that irq_domain is set in > dev->msi.data->__domains[domid].domain rather than dev->msi.domain, > and doesn't override the default irq_domain set by > pcibios_device_add().
The default irq domain is a parent domain in that case on top of which the per device domains are built. And those are private to the device. The XEN variant uses the original global PCI/MSI domain concept with this outrageous domain wrapper hack. A crime committed by some tglx dude. > And the default x86 irq_domain (set by pcibios_device_add()) doesn't > have an associated msi_domain_info. It does not need one. Thanks, tglx