> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Tuesday, November 10, 2020 10:19 PM > On Mon, Nov 09, 2020 at 09:14:12PM -0800, Raj, Ashok wrote: > > > was used for interrupt message storage (on the wire they follow the > > same format), and also to ensure interoperability of devices > > supporting IMS across CPU vendors (who may not support PASID TLP > > prefix). This is one reason that led to interrupts from IMS to not > > use PASID (and match the wire format of MSI/MSI-X generated > > interrupts). The other problem was disambiguation between DMA to > > SVM v/s interrupts. > > This is a defect in the IOMMU, not something fundamental. > > The IOMMU needs to know if the interrupt range is active or not for > each PASID. Process based SVA will, of course, not enable interrupts > on the PASID, VM Guest based PASID will. > Unfortunately it's more than that. The interrupt message is firstly recognized at root complex today and then routed to the IOMMU, unlike other DMA requests. I'm not saying it's an unsolvable limitation, but just wants to point out that to achieve such goal there are more things to be considered beyond the IOMMU. Thanks Kevin