Re: [PATCH RFC 1/9] iommu: Introduce external attach domain type

From: Jason Gunthorpe

Date: Mon Nov 09 2026 - 19:55:07 EST


On Fri, Nov 06, 2026 at 01:03:52PM -0800, Jacob Pan wrote:
> I am not stating that it will break UAPI because of blocking domain is
> used. What I am trying to say is that with the blocking domain ->
> external transition, we do not need a new UAPI for external attach for
> non-CC. It will just reuse the existing UAPI.
> VMM:
> do_ioctl(vfio_cdev_fd, VFIO_DEVICE_ATTACH_IOMMUFD_PT, &attach,
> "VFIO_DEVICE_ATTACH_IOMMUFD_PT");
> hv-iommu-root: external_domain.attach_dev() will do the hypercall.

You've basically described a wonky NESTING domain.

I think you should just use nested domains for this. Even though there
is no S2 make it possible to create a nested domain through the
viommu..

If hyperv ever learns to support VIOMMU you will need this anyhow to
pass vSTE/vDTE/etc to hyperv.

For now the nesting domain creation can just accept an empty struct or
something which means identity?

Jason