Difference between revisions of "Articles"

From Open-IOV
Jump to navigation Jump to search
(85 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page indexes the articles contained within Open-IOV.
If you're new to GPU Virtualization start by reading the '''[[Introduction]]''' article.
=== Start Here ===
[[Introduction]]
[https://open-iov.org/index.php/Open-IOV:About About Open-IOV (CC-BY-4.0)]


===Abstract===
===Abstract===
[https://openmdev.io/index.php/Introductory_Concepts_&_Definitions Introductory Concepts & Definitions]
[[Introductory Concepts & Definitions|Glossary]]


[[Virtualization Fundamentals]]
[[Virtualization Fundamentals]]
Line 7: Line 14:
[[Merged Drivers]]
[[Merged Drivers]]


[https://projectacrn.github.io/2.1/developer-guides/hld/ivshmem-hld.html Inter-VM Shared Memory (IVSHMEM)]
=== Design Documents ===
[[Virtual IO Internals|Virtual I/O Internals]]
 
[[GPU Driver Internals]]
=== Driver Integration Documents ===
[https://open-iov.org/index.php/OpenRM Nvidia]
 
[[Intel SR-IOV APIs|Intel]]
 
[https://open-iov.org/index.php/AMDGPU AMD]  
 
===Projects===
===Projects===
[https://openmdev.io/index.php/LibVF.IO LibVF.IO]
[https://open-iov.org/index.php/LibVF.IO LibVF.IO]
 
[[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]
[https://gitlab.com/vglass OpenXT: vGlass]
[https://github.com/OpenXT/surfman OpenXT: Surfman (legacy DRM)]
[https://www.bromium.com/opensource/ Bromium/uXen]
[https://xenproject.org/help/documentation/ Xen Project]


[https://www.qubes-os.org/doc/ Qubes OS]
[https://www.qubes-os.org/doc/ Qubes OS]
Line 19: Line 48:
[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]
===Support===
[https://openmdev.io/index.php/GPU_Support GPU Support]


[https://openmdev.io/index.php/CPU_Support CPU Support]
[[LibRM]]
=== Device Support===
[[GPU Support]]


[https://openmdev.io/index.php/Hypervisor_Support Hypervisor Support]
[[CPU Support]]


=== API Documentation ===
[[GPU Firmware]]
[https://projectacrn.github.io/2.1/api/GVT-g_api.html Intel GVT-g APIs]
 
=== Software Support ===
[https://open-iov.org/index.php/Hypervisor_Support Hypervisor Support]


[https://01.org/linuxgraphics/gfx-docs/drm/gpu/i915.html i915 Driver API]
[[GPU Software Bill Of Materials (SBOM)]]


[https://nouveau.freedesktop.org/Development.html Nouveau Tools & APIs]
=== API Documentation ===


[https://openmdev.io/index.php/OpenRM OpenRM Driver API]
==== Kernel APIs ====
[https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api Kernel.org Driver Core Documentation]


[https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html AMDGPU Driver API]
[https://docs.microsoft.com/en-us/windows-hardware/drivers/display/iommu-based-gpu-isolation NT Kernel (Windows) IOMMU-based GPU Isolation]


[https://broadcom-switch.github.io/of-dpa/doc/html/OFDPA_OVERVIEW.html Broadcom OpenFlow Data Plane Abstraction (OF-DPA)]
[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 Kernel.org Driver Core Documentation]
[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 ====
[https://projectacrn.github.io/2.1/api/GVT-g_api.html i915 GVT-g API]


[https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/vfio.h vfio.h]
[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://elixir.bootlin.com/linux/latest/source/Documentation/driver-api/vfio.rst VFIO]
[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://elixir.bootlin.com/linux/latest/source/include/linux/mdev.h mdev.h]
==== Virtualization APIs ====
[https://open-iov.org/index.php/Mdev-GPU#Mdev-CLI GVM/Mdev-CLI API]


[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://qemu-project.gitlab.io/qemu/interop/qemu-qmp-ref.html QEMU Machine Protocol (QMP) Reference Manual]
===Guides===
[https://openmdev.io/index.php/LibVF.IO_Setup_Guide LibVF.IO Setup Guide]


[https://dri.freedesktop.org/docs/drm/gpu/ GPU Driver Developer's Guide]
[https://projectacrn.github.io/2.1/developer-guides/hld/ivshmem-hld.html Inter-VM Shared Memory (IVSHMEM)]
===User Guides===
[https://arccompute.com/blog/libvfio-commodity-gpu-multiplexing/ LibVF.IO Setup Guide]


[https://looking-glass.io/docs/stable/ Looking Glass Quickstart Guide]
[https://looking-glass.io/docs/stable/ Looking Glass Quickstart Guide]


[https://doc.dpdk.org/guides-16.04/prog_guide/ivshmem_lib.html Data Pane Development Kit: IVSHMEM Programming Guide]
[https://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide Intel GVT-g Setup Guide]
 
[https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization/tree/master/docs AMD GPU-IOV Module Docs]


[https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF PCI passthrough via OVMF]
[https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF PCI passthrough via OVMF]


[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/index RedHat Virtualization Deployment and Administration Guide]
[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/index RedHat Virtualization Guide]
 
=== Developer Guides ===
[https://rayanfam.com/tags/hypervisor/ Hypervisor From Scratch]


[https://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide Intel GVT-g Setup Guide]
[https://lwn.net/Kernel/LDD3/ Linux Device Drivers (3rd Edition)]
 
[https://dri.freedesktop.org/docs/drm/gpu/ GPU Driver Developer's Guide]
 
[https://dri.freedesktop.org/docs/drm/PCI/pci.html# How To Write PCI Drivers]
 
[https://doc.dpdk.org/guides-16.04/prog_guide/ivshmem_lib.html Data Plane Development Kit: IVSHMEM Programming Guide]
 
=== Specifications ===
[https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/tlfs/tlfs Hyper-V Hypervisor Top Level Functional Specification (TLFS)]


[https://krutavshah.github.io/GPU_Virtualization-Wiki/ Nvidia vGPU Wiki]
=== Communities & Mailing Lists ===
[https://discord.gg/Rb9K9DYxKK Open-IOV Discord]


[https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization/tree/master/docs AMD GPU-IOV Module Docs]
=== Mailing Lists ===
[https://lists.freedesktop.org/mailman/listinfo/intel-gfx Intel-gfx Mailing List]
[https://lists.freedesktop.org/mailman/listinfo/intel-gfx Intel-gfx Mailing List]


Line 75: Line 125:


[https://listman.redhat.com/mailman/listinfo/vfio-users VFIO-users Mailing List]
[https://listman.redhat.com/mailman/listinfo/vfio-users VFIO-users Mailing List]
[https://listman.redhat.com/mailman/listinfo/virtio-fs Virtio-fs Mailing List]
=== Knowledge Resources===
[https://looking-glass.io/wiki/Main_Page Looking Glass Wiki]


[https://forum.level1techs.com/c/software/vfio/132 <nowiki>Level1Techs Forum [VFIO Topic]</nowiki>]
[https://forum.level1techs.com/c/software/vfio/132 <nowiki>Level1Techs Forum [VFIO Topic]</nowiki>]


[https://old.reddit.com/r/VFIO/ VFIO Subreddit]
[https://old.reddit.com/r/VFIO/ VFIO Subreddit]

Revision as of 20:54, 2 May 2023

This page indexes the articles contained within Open-IOV.

If you're new to GPU Virtualization start by reading the Introduction article.

Start Here

Introduction

About Open-IOV (CC-BY-4.0)

Abstract

Glossary

Virtualization Fundamentals

Merged Drivers

Design Documents

Virtual I/O Internals

GPU Driver Internals

Driver Integration Documents

Nvidia

Intel

AMD

Projects

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

GPU Software Bill Of Materials (SBOM)

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 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

Specifications

Hyper-V Hypervisor Top Level Functional Specification (TLFS)

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