[PATCH v3 16/23] Documentation: userspace-api: iommufd: Update vQUEUE

Nicolin Chen nicolinc at nvidia.com
Thu May 1 22:29:58 PDT 2025


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



More information about the linux-arm-kernel mailing list