vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type
authorWill Deacon <will.deacon@arm.com>
Mon, 29 Sep 2014 16:06:19 +0000 (10:06 -0600)
committerAlex Williamson <alex.williamson@redhat.com>
Mon, 29 Sep 2014 16:06:19 +0000 (10:06 -0600)
commitf5c9ecebaf2a2c9381973798e389cc019dd983e0
tree0668589b668a32145609cde83473824fbd4cfe30
parentc02607aad2f9ed478eb288bcec1c00cd9df38b3c
vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type

VFIO allows devices to be safely handed off to userspace by putting
them behind an IOMMU configured to ensure DMA and interrupt isolation.
This enables userspace KVM clients, such as kvmtool and qemu, to further
map the device into a virtual machine.

With IOMMUs such as the ARM SMMU, it is then possible to provide SMMU
translation services to the guest operating system, which are nested
with the existing translation installed by VFIO. However, enabling this
feature means that the IOMMU driver must be informed that the VFIO domain
is being created for the purposes of nested translation.

This patch adds a new IOMMU type (VFIO_TYPE1_NESTING_IOMMU) to the VFIO
type-1 driver. The new IOMMU type acts identically to the
VFIO_TYPE1v2_IOMMU type, but additionally sets the DOMAIN_ATTR_NESTING
attribute on its IOMMU domains.

Cc: Joerg Roedel <joro@8bytes.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/vfio_iommu_type1.c
include/uapi/linux/vfio.h
This page took 0.030768 seconds and 5 git commands to generate.