RE: [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs
From: Tian, Kevin <hidden>
Date: 2021-05-13 06:52:52
Also in:
linux-iommu, lkml
From: Tian, Kevin <hidden>
Date: 2021-05-13 06:52:52
Also in:
linux-iommu, lkml
From: David Gibson <redacted> Sent: Thursday, May 13, 2021 2:01 PMquoted
But this definitely all becomes HW specific. For instance I want to have an ARM vIOMMU driver it needs to do some ret = ioctl(ioasid_fd, CREATE_NESTED_IOASID, [page table format isARMvXXX])quoted
if (ret == -EOPNOTSUPP) ret = ioctl(ioasid_fd, CREATE_NORMAL_IOASID, ..) // and do completely different and more expensive emulation I can get a little bit of generality, but at the end of the day the IOMMU must create a specific HW layout of the nested page table, if it can't, it can't.Erm.. I don't really know how your IOASID interface works here. I'm thinking about the VFIO interface where maps and unmaps are via explicit ioctl()s, which provides an obvious point to do translation between page table formats.
We are working on a draft uAPI proposal based on the discussions in this thread. expect to send it out next week. Thanks Kevin