On 2021-11-29 5:29 p.m., Thomas Gleixner wrote:
At the conceptual level these interrupts are in separate irq domains:
| _______________________
| | |
| | NTB |
| | |
| | PCI config space |
| | MSI-X space | <- #1 Global or per IOMMU zone PCI/MSI domain
| |_____________________ |
|---| |
| Memory window A |
| Memory window .. | <- #2 Per device NTB domain
| Memory window N |
|______________________|
You surely can see the disctinction between #1 and #2, right?
I wouldn't say that's entirely obvious or even irrefutable. However, I'm
certainly open to this approach if it improves the code.
I'm way too tired to come up with a proper solution for that, but that
PCI_IRQ_VIRTUAL has to die ASAP.
I'm willing to volunteer a bit of my time to clean this up, but I'd need
a bit more direction on what a proper solution would look like. The MSI
domain code is far from well documented nor is it easy to understand.
Logan