* question about AMD IOMMU IO_PAGE_FAULT event and PRI
@ 2015-02-06 3:45 Hann Huang
[not found] ` <CALu9Y57totEk4o+r7EKOK0kZjPNmnBJBQvhLkGmtyrv1EgCNvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Hann Huang @ 2015-02-06 3:45 UTC (permalink / raw)
To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
[-- Attachment #1.1: Type: text/plain, Size: 521 bytes --]
Hi all,
I did some experiment which needs two-stage address translation
(GVA->GPA->SPA).
After setting the mode bit in DTE to 100b, I got lots of IO_PAGE_FAULT
event but no any PPR request.
While turn off the GPA-to-SPA translation, PPR request comes and no
IO_PAGE_FAULT event.
My question is :
In what situation IO_PAGE_FAULT event generate, and how about PRI request?
Can IO_PAGE_FAULT event be fixed? (such as handle the page fault and send
COMPLETE_PPR_REQUEST?)
Thanks for your advice.
Best Regards,
Hann Huang
[-- Attachment #1.2: Type: text/html, Size: 679 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: question about AMD IOMMU IO_PAGE_FAULT event and PRI
[not found] ` <CALu9Y57totEk4o+r7EKOK0kZjPNmnBJBQvhLkGmtyrv1EgCNvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2015-02-06 12:11 ` Joerg Roedel
0 siblings, 0 replies; 2+ messages in thread
From: Joerg Roedel @ 2015-02-06 12:11 UTC (permalink / raw)
To: Hann Huang; +Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
Hello Hann,
On Fri, Feb 06, 2015 at 11:45:55AM +0800, Hann Huang wrote:
> Hi all,
>
> I did some experiment which needs two-stage address translation (GVA->GPA->
> SPA).
> After setting the mode bit in DTE to 100b, I got lots of IO_PAGE_FAULT event
> but no any PPR request.
Did you also install a valid page-table before changing the mode-bit?
> While turn off the GPA-to-SPA translation, PPR request comes and no
> IO_PAGE_FAULT event.
>
> My question is :
> In what situation IO_PAGE_FAULT event generate, and how about PRI request?
> Can IO_PAGE_FAULT event be fixed? (such as handle the page fault and send
> COMPLETE_PPR_REQUEST?)
Basic answer is, you get an IO_PAGE_FAULT for all translation errors in
the l1 page-table (the one where the page-table root it specified in the
DTE).
For any page-fault in l2 page-tables (where you have one page-table per
pasid) you get a PRI fault. But note that the peripheral PCI device needs to
support ATS and PRI for this to work.
Joerg
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-02-06 12:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-06 3:45 question about AMD IOMMU IO_PAGE_FAULT event and PRI Hann Huang
[not found] ` <CALu9Y57totEk4o+r7EKOK0kZjPNmnBJBQvhLkGmtyrv1EgCNvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-06 12:11 ` Joerg Roedel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox