On Fri, May 02, 2025 at 10:50:07AM +0700, Bagas Sanjaya wrote:
On Thu, May 01, 2025 at 04:01:22PM -0700, Nicolin Chen wrote:
quoted
+- 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?
Yes. Will fix this.
quoted
+ the beginning of the physical MMIO region.
+
Confused...
Meaning that VMM should just use the given vm_pgoff as is, without
adding any offset to the vm_pgoff.
Thanks
Nicolin