Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [PATCH v3 05/18] dmaengine: idxd: add IMS support in base driver | Date | Thu, 01 Oct 2020 10:44:58 +0200 |
| |
On Wed, Sep 30 2020 at 18:07, Ashok Raj wrote: > On Wed, Sep 30, 2020 at 11:57:22PM +0200, Thomas Gleixner wrote: > > Devices exposed to guest need host OS support for programming interrupt > entries in the IOMMU interrupt remapping table. VFIO provides those > services for standard interrupt schemes like MSI/MSIx for instance. > Since IMS is device specific VFIO can't provide an intercept when > IMS entries are programmed by the guest OS.
Why is IMS exposed to the guest in the first place? You expose a subdevice to a guest, right? And that subdevice should not even know that IMS exists simply because IMS is strictly host specific.
The obvious emulation here is to make the subdevice look like a PCI device and expose emulated MSIX (not MSI) which is intercepted when accessing the MSIX table and then redirected to the proper place along with IRTE and PASID and whatever.
>> Also this stuff is host side and not guest side. I seriously doubt that >> you want to hand in the whole PCI device which contains the IMS > > You are right, but nothing prevents a user from simply taking a full PCI > device and assign to guest.
You surely can and should prevent that because it makes no sense and cannot work.
That's why you want a generic check for 'this device is magic SIOV or whatever' and not something burried deep into a driver..
Thanks,
tglx
| |