Messages in this thread | | | Subject | Re: [RFC PATCH v2 08/10] vfio/type1: Add domain at(de)taching group helpers | From | Lu Baolu <> | Date | Wed, 12 Sep 2018 13:02:00 +0800 |
| |
Hi,
On 09/11/2018 12:23 AM, Jean-Philippe Brucker wrote: > On 30/08/2018 05:09, Lu Baolu wrote: >> +static int vfio_detach_aux_domain(struct device *dev, void *data) >> +{ >> + struct iommu_domain *domain = data; >> + >> + vfio_mdev_set_aux_domain(dev, NULL); >> + iommu_detach_device(domain, dev->parent); > > I think that's only going to work for vt-d, which doesn't use a > default_domain. For other drivers, iommu.c ends up calling > domain->ops->attach_dev(default_domain, dev) here, which isn't what we want.
This doesn't break any functionality. It takes effect only if iommu hardware supports finer granular translation and advertises it through the API.
> > That was my concern with reusing attach/detach_dev callbacks for PASID > management. The attach_dev code of IOMMU drivers already has to deal > with toggling between default and unmanaged domain. Dealing with more > state transitions in the same path is going to be difficult.
Let's consider it from the API point of view.
We have iommu_a(de)ttach_device() APIs to attach or detach a domain to/from a device. We should avoid applying a limitation of "these are only for single domain case, for multiple domains, use another API".
Best regards, Lu Baolu
| |