Difference between revisions of "Articles"

From Open-IOV
Jump to navigation Jump to search
(43 intermediate revisions by 2 users not shown)
Line 1: Line 1:


===Abstract===
===Abstract===
[[Introductory Concepts & Definitions]]
[[Introductory Concepts & Definitions|Glossary]]


[[Virtualization Fundamentals]]
[[Virtualization Fundamentals]]
[[Mediated Device Internals]]


[[Merged Drivers]]
[[Merged Drivers]]


=== Design Documents ===
=== Design Documents ===
[https://projectacrn.github.io/latest/developer-guides/hld/hv-memmgt.html Memory Management High Level Design (ARCN)]
[[Virtual IO Internals|Virtual I/O Internals]]
=== GVM Integration Documents ===
[https://open-iov.org/index.php/OpenRM <nowiki>GVM [Nvidia Open Kernel Modules]</nowiki>] <sup>(support documentation up-to-date)</sup>
 
[https://open-iov.org/index.php/AMDGPU <nowiki>GVM [AMDGPU]</nowiki>]  <sup>(support documentation not up-to-date)</sup>


===Projects===
===Projects===
[https://linux-gvm.org/ GVM]
[https://linux-gvm.org/ GPU Virtual Machine (GVM)]


[https://openmdev.io/index.php/LibVF.IO LibVF.IO]
[https://open-iov.org/index.php/LibVF.IO LibVF.IO]


[[arcd-gpud]]
[[Hyperborea]]


[[Hyperborea]]
[https://open-iov.org/index.php/LIME_Is_Mediated_Emulation LIME Is Mediated Emulation]


[https://openmdev.io/index.php/Looking_Glass_KVMFR Looking Glass]
[https://open-iov.org/index.php/Looking_Glass_KVMFR Looking Glass]


[https://openxt.atlassian.net/wiki/spaces/OD/pages/10747915/What+is+OpenXT OpenXT]
[https://openxt.atlassian.net/wiki/spaces/OD/pages/10747915/What+is+OpenXT OpenXT]
Line 28: Line 30:


[https://github.com/OpenXT/surfman OpenXT: Surfman (legacy DRM)]
[https://github.com/OpenXT/surfman OpenXT: Surfman (legacy DRM)]
[https://www.bromium.com/opensource/ Bromium/uXen]


[https://xenproject.org/help/documentation/ Xen Project]
[https://xenproject.org/help/documentation/ Xen Project]
Line 35: Line 39:
[https://projectacrn.github.io/2.1/tutorials/using_celadon_as_uos.html Intel Celadon]
[https://projectacrn.github.io/2.1/tutorials/using_celadon_as_uos.html Intel Celadon]


[https://openmdev.io/index.php/VGPU_Unlock vGPU_Unlock]
[https://open-iov.org/index.php/VGPU_Unlock vGPU_Unlock]
===Hardware Support===
 
[https://openmdev.io/index.php/GPU_Support GPU Support]
[[LibRM]]
=== Device Support===
[https://open-iov.org/index.php/GPU_Support GPU Support]
 
[https://open-iov.org/index.php/CPU_Support CPU Support]


[https://openmdev.io/index.php/CPU_Support CPU Support]
[https://open-iov.org/index.php/GPU_Firmware GPU Firmware]


=== Software Support ===
=== Software Support ===
[https://openmdev.io/index.php/Hypervisor_Support Hypervisor Support]
[https://open-iov.org/index.php/Hypervisor_Support Hypervisor Support]


=== API Documentation ===
=== API Documentation ===


==== Kernel APIs ====
==== Kernel APIs ====
[https://elixir.bootlin.com/linux/latest/source/Documentation/driver-api/vfio.rst VFIO] - [https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/vfio.h vfio.h]
[https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/vfio-mediated-device.rst?h=driver-core-next&id=7de3697e9cbd4bd3d62bafa249d57990e1b8f294 VFIO Mediated Device] - [https://elixir.bootlin.com/linux/latest/source/include/linux/mdev.h mdev.h] - [https://elixir.bootlin.com/linux/latest/source/samples/vfio-mdev/mtty.c mtty.c]
[https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api Kernel.org Driver Core Documentation]
[https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api Kernel.org Driver Core Documentation]


[https://docs.microsoft.com/en-us/windows-hardware/drivers/display/iommu-based-gpu-isolation NT Kernel (Windows) IOMMU-based GPU Isolation]
[https://docs.microsoft.com/en-us/windows-hardware/drivers/display/iommu-based-gpu-isolation NT Kernel (Windows) IOMMU-based GPU Isolation]


[https://elixir.bootlin.com/linux/latest/source/Documentation/driver-api/vfio.rst VFIO] - [https://github.com/torvalds/linux/blob/master/include/uapi/linux/vfio.h vfio.h] - [https://elixir.bootlin.com/linux/latest/source/include/linux/mdev.h mdev.h]
[https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/vfio-mediated-device.rst?h=driver-core-next&id=7de3697e9cbd4bd3d62bafa249d57990e1b8f294 VFIO Mediated Device]
==== Driver APIs ====
==== Driver APIs ====
[https://01.org/linuxgraphics/gfx-docs/drm/gpu/i915.html i915 Driver API]
[[Intel SR-IOV APIs|i915 SR-IOV API]]


[https://projectacrn.github.io/2.1/api/GVT-g_api.html Intel GVT-g APIs]
[https://projectacrn.github.io/2.1/api/GVT-g_api.html i915 GVT-g API]


[https://nouveau.freedesktop.org/Development.html Nouveau Tools & APIs]
[https://nouveau.freedesktop.org/Development.html Nouveau Tools & API]
==== Sample Code ====
GPLv2 sources mirrored from [https://elixir.bootlin.com/linux/latest/source/samples/vfio-mdev/ elixir.bootlin.com] with [https://github.com/OpenMdev/VFIO-Mdev_Samples/blob/master/Makefile simple makefile changes].


[https://openmdev.io/index.php/OpenRM OpenRM Driver API]
[https://github.com/OpenMdev/VFIO-Mdev_Samples/blob/master/mtty.c mtty.c] - [https://github.com/OpenMdev/VFIO-Mdev_Samples/blob/master/mdpy.c mdpy.c] - [https://github.com/OpenMdev/VFIO-Mdev_Samples/blob/master/mdpy-fb.c mdpy-fb.c] - [https://github.com/OpenMdev/VFIO-Mdev_Samples/blob/master/mdpy-defs.h mdpy-defs.h] - [https://github.com/OpenMdev/VFIO-Mdev_Samples/blob/master/mbochs.c mbochs.c]


[https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html AMDGPU Driver API]
==== Virtualization APIs ====
[https://open-iov.org/index.php/Mdev-GPU#Mdev-CLI GVM/Mdev-CLI API]


==== Virtualization APIs ====
[https://qemu-project.gitlab.io/qemu/interop/qemu-qmp-ref.html QEMU Machine Protocol (QMP) Reference Manual]
[https://qemu-project.gitlab.io/qemu/interop/qemu-qmp-ref.html QEMU Machine Protocol (QMP) Reference Manual]


Line 94: Line 103:
[https://doc.dpdk.org/guides-16.04/prog_guide/ivshmem_lib.html Data Plane Development Kit: IVSHMEM Programming Guide]
[https://doc.dpdk.org/guides-16.04/prog_guide/ivshmem_lib.html Data Plane Development Kit: IVSHMEM Programming Guide]
=== Communities & Mailing Lists ===
=== Communities & Mailing Lists ===
[https://discord.gg/Rb9K9DYxKK LibVF.IO Discord]
[https://discord.gg/Rb9K9DYxKK Open-IOV Discord]


[https://lists.freedesktop.org/mailman/listinfo/intel-gfx Intel-gfx Mailing List]
[https://lists.freedesktop.org/mailman/listinfo/intel-gfx Intel-gfx Mailing List]

Revision as of 20:20, 18 November 2022

Abstract

Glossary

Virtualization Fundamentals

Merged Drivers

Design Documents

Virtual I/O Internals

GVM Integration Documents

GVM [Nvidia Open Kernel Modules] (support documentation up-to-date)

GVM [AMDGPU] (support documentation not up-to-date)

Projects

GPU Virtual Machine (GVM)

LibVF.IO

Hyperborea

LIME Is Mediated Emulation

Looking Glass

OpenXT

OpenXT: vGlass

OpenXT: Surfman (legacy DRM)

Bromium/uXen

Xen Project

Qubes OS

Intel Celadon

vGPU_Unlock

LibRM

Device Support

GPU Support

CPU Support

GPU Firmware

Software Support

Hypervisor Support

API Documentation

Kernel APIs

Kernel.org Driver Core Documentation

NT Kernel (Windows) IOMMU-based GPU Isolation

VFIO - vfio.h - mdev.h

VFIO Mediated Device

Driver APIs

i915 SR-IOV API

i915 GVT-g API

Nouveau Tools & API

Sample Code

GPLv2 sources mirrored from elixir.bootlin.com with simple makefile changes.

mtty.c - mdpy.c - mdpy-fb.c - mdpy-defs.h - mbochs.c

Virtualization APIs

GVM/Mdev-CLI API

QEMU Machine Protocol (QMP) Reference Manual

Inter-VM Shared Memory (IVSHMEM)

User Guides

LibVF.IO Setup Guide

Looking Glass Quickstart Guide

Intel GVT-g Setup Guide

AMD GPU-IOV Module Docs

PCI passthrough via OVMF

RedHat Virtualization Guide

Developer Guides

Hypervisor From Scratch

Linux Device Drivers (3rd Edition)

GPU Driver Developer's Guide

How To Write PCI Drivers

Data Plane Development Kit: IVSHMEM Programming Guide

Communities & Mailing Lists

Open-IOV Discord

Intel-gfx Mailing List

Nouveau Mailing List

AMD-gfx Mailing List

VFIO-users Mailing List

Level1Techs Forum [VFIO Topic]

VFIO Subreddit