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