On Mon, Mar 14, 2022 at 03:44:34PM -0400, Matthew Rosato wrote:

> diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
> index 9394aa9444c1..0bec97077d61 100644
> +++ b/drivers/vfio/vfio_iommu_type1.c
> @@ -77,6 +77,7 @@ struct vfio_iommu {
>       bool                    nesting;
>       bool                    dirty_page_tracking;
>       bool                    container_open;
> +     bool                    kvm;
>       struct list_head        emulated_iommu_groups;
>  };
>  
> @@ -2203,7 +2204,12 @@ static int vfio_iommu_type1_attach_group(void 
> *iommu_data,
>               goto out_free_group;
>  
>       ret = -EIO;
> -     domain->domain = iommu_domain_alloc(bus);
> +
> +     if (iommu->kvm)
> +             domain->domain = iommu_domain_alloc_type(bus, IOMMU_DOMAIN_KVM);
> +     else
> +             domain->domain = iommu_domain_alloc(bus);
> +
>       if (!domain->domain)
>               goto out_free_domain;
>  
> @@ -2552,6 +2558,9 @@ static void *vfio_iommu_type1_open(unsigned long arg)
>       case VFIO_TYPE1v2_IOMMU:
>               iommu->v2 = true;
>               break;
> +     case VFIO_KVM_IOMMU:
> +             iommu->kvm = true;
> +             break;

Same remark for this - but more - this is called KVM but it doesn't
accept a kvm FD or any thing else to link the domain to the KVM
in-use.

Jason
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to