Difference between revisions of "Hypervisor Support"

From Open-IOV
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{| class="wikitable"
|+
!Platform Hypervisor
!Virtual GPU support
!Memory Sharing APIs
!IOMMU Groups support
!PCI forwarding
!Mdev Support
!SR-IOV Support
!SIOV Support
|-
|KVM
|Yes
|IVSHMEM
|Yes
|Yes (via VFIO)
|Yes
|Yes
|In Development
|-
|Xen
|Yes
|Grant Tables
|No
|Yes (via [https://wiki.xenproject.org/wiki/Xen_PCI_Passthrough xen-pciback])
|No
|Yes
|Unknown
|-
|NVMM
|Unknown
|Unknown
|No
|Unknown
|No
|Unknown
|No
|}
== KVM ==
== KVM ==
This section will cover existing support in KVM for VFIO-Mdev and ongoing issues with it's existing implementation.
This section will cover existing support in KVM for VFIO-Mdev and ongoing issues with it's existing implementation.


=== SR-IOV within VMs ===
=== Missing Functionality ===
Nested SR-IOV.


== Xen ==
== Xen ==
This section will cover efforts to support the Xen hypervisor with open device mediation software.
This section will cover efforts to support the Xen hypervisor with open device mediation software.


=== Support Targets & Goals ===
XAPI docs for virtual GPUs can be read [https://xapi-project.github.io/xen-api/classes/vgpu_type.html here].
 
==== QubesOS ====
QubesOS is a security focused desktop operating system based on the Xen hypervisor.
 
===== Implementation Goals (Security By Compartmentalization) =====
This section will cover high level implementation goals for GPU mediation in QubesOS.


==== Mdev drivers outside of Dom0 ====
=== Mdev drivers outside Dom0 ===
[https://xenbits.xen.org/docs/unstable/designs/launch/hyperlaunch.html Xen Hyperlaunch] aims to disaggregate Dom0's monolithic functions. This includes a discrete domain for device drivers.


=== Missing Functionality ===
=== Missing Functionality ===
 
IOMMU Groups (discussions around extending or reworking Xen's IOMMU to include IOMMU Groups is ongoing).
==== IOMMU Groups ====


=== Additional Documentation ===
=== Additional Documentation ===
Line 28: Line 62:


=== Missing Functionality ===
=== Missing Functionality ===
VFIO.


==== VFIO ====
=== Additional Documentation ===
For additional documentation read [https://blog.netbsd.org/tnf/entry/from_zero_to_nvmm From Zero to NVMM].

Latest revision as of 19:15, 8 August 2022

Platform Hypervisor Virtual GPU support Memory Sharing APIs IOMMU Groups support PCI forwarding Mdev Support SR-IOV Support SIOV Support
KVM Yes IVSHMEM Yes Yes (via VFIO) Yes Yes In Development
Xen Yes Grant Tables No Yes (via xen-pciback) No Yes Unknown
NVMM Unknown Unknown No Unknown No Unknown No

KVM

This section will cover existing support in KVM for VFIO-Mdev and ongoing issues with it's existing implementation.

Missing Functionality

Nested SR-IOV.

Xen

This section will cover efforts to support the Xen hypervisor with open device mediation software.

XAPI docs for virtual GPUs can be read here.

Mdev drivers outside Dom0

Xen Hyperlaunch aims to disaggregate Dom0's monolithic functions. This includes a discrete domain for device drivers.

Missing Functionality

IOMMU Groups (discussions around extending or reworking Xen's IOMMU to include IOMMU Groups is ongoing).

Additional Documentation

For additional documentation check the XenProject Wiki.

NVMM

This section will cover NetBSD's NVMM.

Missing Functionality

VFIO.

Additional Documentation

For additional documentation read From Zero to NVMM.