summaryrefslogtreecommitdiffstats
path: root/virt/kvm/kvm_main.c
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2013-10-30 11:02:17 -0600
committerPaolo Bonzini <pbonzini@redhat.com>2013-10-30 19:02:03 +0100
commitec53500fae421e07c5d035918ca454a429732ef4 (patch)
tree3b9e0c67b9982f5b374e819a55cd510c14d481b8 /virt/kvm/kvm_main.c
parent84cffe499b9418d6c3b4de2ad9599cc2ec50c607 (diff)
downloadlinux-stable-ec53500fae421e07c5d035918ca454a429732ef4.tar.gz
linux-stable-ec53500fae421e07c5d035918ca454a429732ef4.tar.bz2
linux-stable-ec53500fae421e07c5d035918ca454a429732ef4.zip
kvm: Add VFIO device
So far we've succeeded at making KVM and VFIO mostly unaware of each other, but areas are cropping up where a connection beyond eventfds and irqfds needs to be made. This patch introduces a KVM-VFIO device that is meant to be a gateway for such interaction. The user creates the device and can add and remove VFIO groups to it via file descriptors. When a group is added, KVM verifies the group is valid and gets a reference to it via the VFIO external user interface. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt/kvm/kvm_main.c')
-rw-r--r--virt/kvm/kvm_main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 9ca014da134d..82c4047aa0e3 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2271,6 +2271,11 @@ static int kvm_ioctl_create_device(struct kvm *kvm,
ops = &kvm_xics_ops;
break;
#endif
+#ifdef CONFIG_KVM_VFIO
+ case KVM_DEV_TYPE_VFIO:
+ ops = &kvm_vfio_ops;
+ break;
+#endif
default:
return -ENODEV;
}