On Mon, Jul 26, 2021 at 01:54:49PM +0200, Joerg Roedel wrote: > Hi Lennert,
Hi Joerg, > On Mon, Jul 19, 2021 at 12:54:43PM +0300, Lennert Buytenhek wrote: > > + if (dev_data) { > > + int report_flags; > > + > > + /* > > + * AMD I/O Virtualization Technology (IOMMU) Specification, > > + * revision 3.00, section 2.5.3 ("IO_PAGE_FAULT Event") says > > + * that the RW ("read-write") bit is only valid if the I/O > > + * page fault was caused by a memory transaction request > > + * referencing a page that was marked present. > > + */ > > + report_flags = 0; > > + if ((flags & (EVENT_FLAG_TR | EVENT_FLAG_PR | EVENT_FLAG_I)) == > > + EVENT_FLAG_PR) { > > + if (flags & EVENT_FLAG_RW) > > + report_flags |= IOMMU_FAULT_WRITE; > > + else > > + report_flags |= IOMMU_FAULT_READ; > > + } > > + > > + if (!report_iommu_fault(&dev_data->domain->domain, > > + &pdev->dev, address, report_flags)) > > + goto out; > > + } > > I'd like to limit calling report_iommu_fault() to dma-faults and leave > IRQ remapping faults unreported. The IOMMU layer does not really care a > lot about IRQs and a potential domain handler will also not be prepared > to handler IRQ specific faults (there is no generic way to detect them). I'm sorry -- this appears to have been a stupid oversight on my part. New patch coming up. Thanks, Lennert _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu