On Thu, Mar 07, 2019 at 04:56:23PM -0700, Alex Williamson wrote: > On Thu, 7 Mar 2019 00:44:54 -0800 > Neo Jia <cjia@xxxxxxxxxx> wrote: > > > On Fri, Feb 22, 2019 at 10:19:27AM +0800, Lu Baolu wrote: > > > This adds the support to determine the isolation type > > > of a mediated device group by checking whether it has > > > an iommu device. If an iommu device exists, an iommu > > > domain will be allocated and then attached to the iommu > > > device. Otherwise, keep the same behavior as it is. > > > > > > Cc: Ashok Raj <ashok.raj@xxxxxxxxx> > > > Cc: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> > > > Cc: Kevin Tian <kevin.tian@xxxxxxxxx> > > > Signed-off-by: Sanjay Kumar <sanjay.k.kumar@xxxxxxxxx> > > > Signed-off-by: Liu Yi L <yi.l.liu@xxxxxxxxx> > > > Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > > > Reviewed-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> > > > --- > > > drivers/vfio/vfio_iommu_type1.c | 48 ++++++++++++++++++++++++++++----- > > > 1 file changed, 41 insertions(+), 7 deletions(-) > > > > > > diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c > > > index ccc4165474aa..f1392c582a3c 100644 > > > --- a/drivers/vfio/vfio_iommu_type1.c > > > +++ b/drivers/vfio/vfio_iommu_type1.c > > > @@ -1368,13 +1368,40 @@ static void vfio_iommu_detach_group(struct vfio_domain *domain, > > > iommu_detach_group(domain->domain, group->iommu_group); > > > } > > > > > > > Hi Baolu, > > > > To allow IOMMU-awared mdev, I think you need to modify the > > vfio_iommu_type1_pin_pages and vfio_iommu_type1_unpin_pages to remove the > > iommu->external_domain check. > > > > Could you please include that in your patch? If not, I can send out a separate > > patch to address that issue. > > I figured it was intentional that an IOMMU backed mdev would not use > the pin/unpin interface and therefore the exiting -EINVAL returns would > be correct. Can you elaborate on the use case for still requiring the > mdev pin/unpin interface for these devices? Thanks, Sure. We are using this api to fetch a pfn of a guest physical address so we can access it for PV. Thanks, Neo > > Alex