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. Thanks Nicolin