Difference between revisions of "Articles"

From Open-IOV
Jump to navigation Jump to search
(79 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===
[[Introductory Concepts & Definitions]]
[[Introductory Concepts & Definitions|Glossary]]


[[Virtualization Fundamentals]]
[[Virtualization Fundamentals]]


[[Mediated Device Internals]]
[[Merged Drivers]]
 
=== 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]  


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


[https://openmdev.io/index.php/Looking_Glass_KVMFR Looking Glass]
[[Hyperborea]]


[https://xenproject.org/help/documentation/ Xen Project]
[https://open-iov.org/index.php/LIME_Is_Mediated_Emulation LIME Is Mediated Emulation]
 
[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 21: 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]
[[LibRM]]
=== Device Support===
[[GPU Support]]
 
[[CPU Support]]


[https://openmdev.io/index.php/CPU_Support CPU Support]
[[GPU Firmware]]


[https://openmdev.io/index.php/Hypervisor_Support Hypervisor Support]
=== Software Support ===
[https://open-iov.org/index.php/Hypervisor_Support Hypervisor Support]
 
[[GPU Software Bill Of Materials (SBOM)]]


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


[https://01.org/linuxgraphics/gfx-docs/drm/gpu/i915.html i915 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://nouveau.freedesktop.org/Development.html Nouveau Tools & APIs]
[https://docs.microsoft.com/en-us/windows-hardware/drivers/display/iommu-based-gpu-isolation NT Kernel (Windows) IOMMU-based GPU Isolation]


[https://openmdev.io/index.php/OpenRM OpenRM Driver API]
[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://dri.freedesktop.org/docs/drm/gpu/amdgpu.html AMDGPU Driver 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]
==== Driver APIs ====
[https://projectacrn.github.io/2.1/api/GVT-g_api.html i915 GVT-g API]


[https://qemu-project.gitlab.io/qemu/interop/qemu-qmp-ref.html QEMU Machine Protocol (QMP) Reference Manual]  
[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://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]
 
==== Virtualization APIs ====
[https://open-iov.org/index.php/Mdev-GPU#Mdev-CLI GVM/Mdev-CLI API]
 
[https://qemu-project.gitlab.io/qemu/interop/qemu-qmp-ref.html QEMU Machine Protocol (QMP) Reference Manual]


[https://projectacrn.github.io/2.1/developer-guides/hld/ivshmem-hld.html Inter-VM Shared Memory (IVSHMEM)]
[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://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api Kernel.org Driver Core Documentation]
[https://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide Intel GVT-g Setup Guide]


[https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/vfio.h vfio.h]
[https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization/tree/master/docs AMD GPU-IOV Module Docs]


[https://elixir.bootlin.com/linux/latest/source/Documentation/driver-api/vfio.rst VFIO]
[https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF PCI passthrough via OVMF]


[https://elixir.bootlin.com/linux/latest/source/include/linux/mdev.h mdev.h]
[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/index RedHat Virtualization Guide]


[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]
=== Developer Guides ===
[https://rayanfam.com/tags/hypervisor/ Hypervisor From Scratch]


[https://broadcom-switch.github.io/of-dpa/doc/html/OFDPA_OVERVIEW.html Broadcom OpenFlow Data Plane Abstraction (OF-DPA)]
[https://lwn.net/Kernel/LDD3/ Linux Device Drivers (3rd Edition)]
===Guides===
[https://arccompute.com/blog/libvfio-commodity-gpu-multiplexing/ LibVF.IO Setup Guide]


[https://dri.freedesktop.org/docs/drm/gpu/ GPU Driver Developer's Guide]
[https://dri.freedesktop.org/docs/drm/gpu/ GPU Driver Developer's Guide]
Line 62: Line 110:
[https://dri.freedesktop.org/docs/drm/PCI/pci.html# How To Write PCI Drivers]
[https://dri.freedesktop.org/docs/drm/PCI/pci.html# How To Write PCI Drivers]


[https://looking-glass.io/docs/stable/ Looking Glass Quickstart Guide]
[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 Pane Development Kit: IVSHMEM Programming Guide]
 
[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://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide Intel GVT-g Setup 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 83: 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