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
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu