Re: [PATCH v5 0/5] iommu aux-domain APIs extensions

From: Joerg Roedel
Date: Thu Sep 24 2020 - 05:55:36 EST


On Tue, Sep 22, 2020 at 02:10:37PM +0800, Lu Baolu wrote:
> Hi Jorge and Alex,
>
> A description of this patch series could be found here.
>
> https://lore.kernel.org/linux-iommu/20200901033422.22249-1-baolu.lu@xxxxxxxxxxxxxxx/

Hmm, I am wondering if we can avoid all this hassle and special APIs by
making the mdev framework more visible outside of the vfio code. There
is an underlying bus implementation for mdevs, so is there a reason
those can't use the standard iommu-core code to setup IOMMU mappings?

What speaks against doing:

- IOMMU drivers capable of handling mdevs register iommu-ops
for the mdev_bus.

- iommu_domain_alloc() takes bus_type as parameter, so there can
be special domains be allocated for mdevs.

- Group creation and domain allocation will happen
automatically in the iommu-core when a new mdev is registered
through device-driver core code.

- There should be no need for special iommu_aux_* APIs, as one
can attach a domain directly to &mdev->dev with
iommu_attach_device(domain, &mdev->dev).

Doing it this way will probably also keep the mdev-special code in VFIO
small.

Regards,

Joerg