On Thu, May 01, 2025 at 10:29:58PM -0700, Nicolin Chen wrote:
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:
+- 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.
- 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.
Understood, thanks!