Re: [RFC PATCH 2/2] vfio: Include no-iommu mode

From: Avi Kivity
Date: Sun Oct 11 2015 - 05:03:58 EST




On 10/11/2015 11:57 AM, Michael S. Tsirkin wrote:
On Sun, Oct 11, 2015 at 11:12:14AM +0300, Avi Kivity wrote:
Mixing no-iommu and secure VFIO is
also unsupported, as are any VFIO IOMMU backends other than the
vfio-noiommu backend. Furthermore, unsafe group files are relocated
to /dev/vfio-noiommu/. Upon successful loading in this mode, the
kernel is tainted due to the dummy IOMMU put in place. Unloading of
the module in this mode is also unsupported and will BUG due to the
lack of support for unregistering an IOMMU for a bus type.
I did not see an API for detecting whether memory translation is provided or
not. We can have the caller guess this by looking at the device name, or by
requiring the user to specify this, but I think it's cleaner to provide
programmatic access to this attribute.
It seems that caller can just check for VFIO_NOIOMMU_IOMMU.

Isn't this why it's there?

That's just means the capability is there, not that it's active.

But since you must pass the same value to open(), you already know that you're using noiommu.

VFIO_IOMMU_MAP_DMA, VFIO_IOMMU_ENABLE and VFIO_IOMMU_DISABLE
will probably also fail ...


Don't you have to call MAP_DMA to pin the memory?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/