[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend
|
From: |
Jason Gunthorpe |
|
Subject: |
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend |
|
Date: |
Wed, 8 Nov 2023 08:48:17 -0400 |
On Wed, Nov 08, 2023 at 07:16:52AM +0000, Duan, Zhenzhong wrote:
> >> + ret = iommufd_backend_alloc_hwpt(iommufd, vbasedev->devid,
> >> + container->ioas_id, &hwpt_id);
> >> +
> >> + if (ret) {
> >> + error_setg_errno(errp, errno, "error alloc shadow hwpt");
> >> + return ret;
> >> + }
> >
> >The above alloc_hwpt fails for mdevs (at least, it fails for me attempting
> >to use
> >iommufd backend with vfio-ccw and vfio-ap on s390). The ioctl is failing in
> >the
> >kernel because it can't find an IOMMUFD_OBJ_DEVICE.
> >
> >AFAIU that's because the mdevs are meant to instead use kernel access via
> >vfio_iommufd_emulated_attach_ioas, not hwpt. That's how mdevs behave when
> >looking at the kernel vfio compat container.
> >
> >As a test, I was able to get vfio-ccw and vfio-ap working using the iommufd
> >backend by just skipping this alloc_hwpt above and instead passing container-
> >>ioas_id into the iommufd_cdev_attach_hwpt below. That triggers the
> >vfio_iommufd_emulated_attach_ioas call in the kernel.
>
> Thanks for help test and investigation.
> I was only focusing on real device and missed the mdev particularity, sorry.
> You are right, there is no hwpt support for mdev, not even an emulated hwpt.
> I'll digging into this and see how to distinguish mdev with real device in
> this low level function.
I was expecting that hwpt manipulation would be done exclusively
inside the device-specific vIOMMU userspace driver. Generic code paths
that don't have that knowledge should use the IOAS for everything
Jason
- Re: [PATCH v4 26/41] backends/iommufd: Introduce the iommufd object, (continued)
[PATCH v4 27/41] util/char_dev: Add open_cdev(), Zhenzhong Duan, 2023/11/02
[PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Zhenzhong Duan, 2023/11/02
- Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Cédric Le Goater, 2023/11/07
- Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Matthew Rosato, 2023/11/07
- RE: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Duan, Zhenzhong, 2023/11/08
- Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend,
Jason Gunthorpe <=
- RE: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Duan, Zhenzhong, 2023/11/08
- Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Jason Gunthorpe, 2023/11/08
- RE: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Duan, Zhenzhong, 2023/11/08
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Joao Martins, 2023/11/09
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Jason Gunthorpe, 2023/11/09
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Joao Martins, 2023/11/09
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Joao Martins, 2023/11/09
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Jason Gunthorpe, 2023/11/09
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Joao Martins, 2023/11/09
Re: [PATCH v4 28/41] vfio/iommufd: Implement the iommufd backend, Jason Gunthorpe, 2023/11/09