Thread (32 messages) 32 messages, 2 authors, 2024-12-12

Re: [PATCH v2 11/13] Documentation: userspace-api: iommufd: Update EVENTQ_IOPF and EVENTQ_VIRQ

From: Nicolin Chen <hidden>
Date: 2024-12-12 21:28:26
Also in: linux-doc, linux-iommu, linux-kselftest, lkml

On Wed, Dec 11, 2024 at 08:11:03AM +0000, Tian, Kevin wrote:
quoted
From: Nicolin Chen <redacted>
Sent: Wednesday, December 4, 2024 6:10 AM

With the introduction of the new objects, update the doc to reflect that.

Signed-off-by: Nicolin Chen <redacted>
---
 Documentation/userspace-api/iommufd.rst | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
diff --git a/Documentation/userspace-api/iommufd.rst
b/Documentation/userspace-api/iommufd.rst
index 70289d6815d2..798520d9344d 100644
--- a/Documentation/userspace-api/iommufd.rst
+++ b/Documentation/userspace-api/iommufd.rst
@@ -63,6 +63,14 @@ Following IOMMUFD objects are exposed to userspace:
   space usually has mappings from guest-level I/O virtual addresses to guest-
   level physical addresses.

+- IOMMUFD_OBJ_EVENTQ_IOPF, representing a software queue for an
HWPT_NESTED
now it can be used on paging hwpt too
Oh, that's why it's in the common path in the hwpt allocator...

Seems that we are missing its selftest coverage for paging hwpt?
quoted
+  reporting IO Page Fault using the IOMMU HW's PRI (Page Request
Interface).
+  This queue object provides user space an FD to poll the page fault events
+  and also to respond to those events. An EVENTQ_IOPF object must be
created
+  first to get a fault_id that could be then used to allocate an HWPT_NESTED
+  via the IOMMU_HWPT_ALLOC command setting
IOMMU_HWPT_FAULT_ID_VALID set in
+  its flags field.
+
 - IOMMUFD_OBJ_VIOMMU, representing a slice of the physical IOMMU
instance,
   passed to or shared with a VM. It may be some HW-accelerated
virtualization
   features and some SW resources used by the VM. For examples:
@@ -109,6 +117,15 @@ Following IOMMUFD objects are exposed to
userspace:
   vIOMMU, which is a separate ioctl call from attaching the same device to an
   HWPT_PAGING that the vIOMMU holds.

+- IOMMUFD_OBJ_EVENTQ_VIRQ, representing a software queue for
IOMMUFD_OBJ_VIOMMU
+  reporting its non-affiliated events, such as translation faults occurred to a
non-affiliated is only mentioned here. It's not a standard term in this
area. Sticking to the later examples in 'such as' is straightforward.
OK.
quoted
+  nested stage-1 and HW-specific events/irqs e.g. events to invalidation
queues
+  that are assigned to VMs via vIOMMUs. This queue object provides user
vcmdq is not supported yet. add it later.
Ack.

Thanks
Nic
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help