Hi Shenming,
On Wed, 2 Jun 2021 12:50:26 +0800, Shenming Lu <lushenming@xxxxxxxxxx>
wrote:
On 2021/6/2 1:33, Jason Gunthorpe wrote:I would think IOASID_BIND_PGTABLE is where fault handler should be
On Tue, Jun 01, 2021 at 08:30:35PM +0800, Lu Baolu wrote:Essentially it is the userspace that needs the fault handlers,
The drivers register per page table fault handlers to /dev/ioasid whichI'm still confused why drivers need fault handlers at all?
will then register itself to iommu core to listen and route the per-
device I/O page faults.
one case is to deliver the faults to the vIOMMU, and another
case is to enable IOPF on the GPA address space for on-demand
paging, it seems that both could be specified in/through the
IOASID_ALLOC ioctl?
registered. There wouldn't be any IO page fault without the binding anyway.
I also don't understand why device drivers should register the fault
handler, the fault is detected by the pIOMMU and injected to the vIOMMU. So
I think it should be the IOASID itself register the handler.
Thanks,
Shenming
Thanks,
Jacob