On Thu, May 01, 2025 at 04:01:22PM -0700, Nicolin Chen wrote:
+- IOMMUFD_OBJ_VQUEUE, representing a hardware accelerated virtual queue, as a
- subset of IOMMU's virtualization features, for the IOMMU HW to directly read
- or write the virtual queue memory owned by a guest OS. This HW-acceleration
- allows VM to work with the IOMMU HW directly without a VM Exit, i.e. reducing
- overhead from the hypercalls. Along with this vQUEUE object, iommufd provides
- user space an mmap interface for VMM to mmap a physical MMIO region from the
- host physical address space to the guest physical address space, allowing the
- guest OS to control the allocated vQUEUE HW. Thus, when allocating a vQUEUE,
- the VMM must request a pair of VMA info (vm_pgoff/size) for an mmap syscall.
- The length argument of an mmap syscall can be smaller than the given size for
- a partial mmap, but the addr argument of the mmap syscall should never offset
- from the returned vm_pgoff, which implies that an mmap will always start from
Did you mean never be offset from returned vm_pgoff?
- the beginning of the physical MMIO region.
Confused...