Linux IOMMU Development
 help / color / mirror / Atom feed
* 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