From 2302fc09080bad51c73f293294e19fd4db464eb0 Mon Sep 17 00:00:00 2001 From: Open-IOV Date: Wed, 23 Sep 2026 05:44:08 -0400 Subject: Open-IOV: initial public release Open-IOV virtualizes NVIDIA GPUs so that unmodified guest drivers run with real GPU functionality - CUDA first, 3D and video to follow - on unmodified hosts, without a proprietary vGPU license and without patching any driver, firmware or hypervisor. Core principle: emulate the interface, pass through the work. kernel/ open-iov-vfio.ko - host VFIO mdev driver: virtual GPU device (PCI config space, BAR shadows, MSI-X), GSP boot emulation, GSP-RM message-queue/RPC emulation, memory model (GPU-VA to guest-PA discovery) and the semaphore-completion service that advances guest UVM progress. userspace/ libiov.so management API and examples. tools/ guest diagnostics, firmware analysis wrappers, RM probes. scripts/ stack manager, VM harness, build/load/test automation. config/ hardware/version profiles (the portability surface). docs/ documentation tree - start at docs/README.md. wiki/ long-form firmware and protocol deep dives. Status: initialization works end to end for a stock 570.144 Linux guest on Turing (TU104): driver probe, nvidia-smi, the full GSP-RM control battery, object creation and the early CUDA/UVM start-up path. GPU work forwarding - the step that makes CUDA kernels execute on real hardware - is the active work item; see docs/04-implementation/01-known-knowns-and-unknowns.md. License: BSD-3-Clause for the project; GPL-2.0 for kernel modules that link GPL-only kernel interfaces. See LICENSE and docs/09-reference/legal-and-licensing.md. --- wiki/open-iov.org/images/b/b4/Virgl.png | Bin 0 -> 67323 bytes ...MMU_-_GMMU_IOVA_translation-isolation..png.html | 245 +++++++++++++++++++++ ...ile_descriptor_triggers_EPT_violation..png.html | 245 +++++++++++++++++++++ 3 files changed, 490 insertions(+) create mode 100644 wiki/open-iov.org/images/b/b4/Virgl.png create mode 100644 wiki/open-iov.org/images/b/bb/Figure_6-_MMU_-_GMMU_IOVA_translation-isolation..png.html create mode 100644 wiki/open-iov.org/images/b/bc/Guest_driver_accessing_Mdev_MMIO_space_backed_by_mdev_file_descriptor_triggers_EPT_violation..png.html (limited to 'wiki/open-iov.org/images/b') diff --git a/wiki/open-iov.org/images/b/b4/Virgl.png b/wiki/open-iov.org/images/b/b4/Virgl.png new file mode 100644 index 0000000..c5c937e Binary files /dev/null and b/wiki/open-iov.org/images/b/b4/Virgl.png differ diff --git a/wiki/open-iov.org/images/b/bb/Figure_6-_MMU_-_GMMU_IOVA_translation-isolation..png.html b/wiki/open-iov.org/images/b/bb/Figure_6-_MMU_-_GMMU_IOVA_translation-isolation..png.html new file mode 100644 index 0000000..b0e2bc5 --- /dev/null +++ b/wiki/open-iov.org/images/b/bb/Figure_6-_MMU_-_GMMU_IOVA_translation-isolation..png.html @@ -0,0 +1,245 @@ + + + + +Open-IOV + + + + + + + + + + + +
+
+
+ +
+
+
+

Main Page

+
+
From Open-IOV
+
+
+ +
+ Jump to navigation + Jump to search +

Welcome to the Open-IOV Project wiki. +

+ + +

Articles

+

Visit the Articles page for an overview of this wiki's contents. +

New and existing projects related to the following topics are welcome: +

+
  • GPU & IO Virtualization (VFIO / SR-IOV / SIOV / Mdev)
  • +
  • GPU & IO Device Drivers
  • +
  • Hypervisor Development
  • +
  • Virtualization Tools
+

Signups are open to the public and anyone can contribute. +

+

Community

+

Discord: https://discord.gg/Rb9K9DYxKK +

IRC: +

+

Contributing to Open-IOV.org

+

Due to spam account creation is temporarily disabled through the Open-IOV website. +

Contact Open-IOV moderators in the community #Documentation channel to have your account allowlisted until unmoderated signups re-open. +

+

Creating an Article

+

If you'd like to start a new article or contribute to an existing one simply create an account then visit a URL containing the article title you'd like to create or edit and click the "Edit" button. +

Example: +

https://open-iov.org/index.php/your-article-title-here +

New articles should be linked on the Articles page so people can find them. +

+ + + + +
+
+ +
+
+ +
+

Navigation menu

+
+ + +
+ + + + +
+
+ + + + + + +
+
+ + + +
+ + + + + \ No newline at end of file diff --git a/wiki/open-iov.org/images/b/bc/Guest_driver_accessing_Mdev_MMIO_space_backed_by_mdev_file_descriptor_triggers_EPT_violation..png.html b/wiki/open-iov.org/images/b/bc/Guest_driver_accessing_Mdev_MMIO_space_backed_by_mdev_file_descriptor_triggers_EPT_violation..png.html new file mode 100644 index 0000000..2a7f544 --- /dev/null +++ b/wiki/open-iov.org/images/b/bc/Guest_driver_accessing_Mdev_MMIO_space_backed_by_mdev_file_descriptor_triggers_EPT_violation..png.html @@ -0,0 +1,245 @@ + + + + +Open-IOV + + + + + + + + + + + +
+
+
+ +
+
+
+

Main Page

+
+
From Open-IOV
+
+
+ +
+ Jump to navigation + Jump to search +

Welcome to the Open-IOV Project wiki. +

+ + +

Articles

+

Visit the Articles page for an overview of this wiki's contents. +

New and existing projects related to the following topics are welcome: +

+
  • GPU & IO Virtualization (VFIO / SR-IOV / SIOV / Mdev)
  • +
  • GPU & IO Device Drivers
  • +
  • Hypervisor Development
  • +
  • Virtualization Tools
+

Signups are open to the public and anyone can contribute. +

+

Community

+

Discord: https://discord.gg/Rb9K9DYxKK +

IRC: +

+

Contributing to Open-IOV.org

+

Due to spam account creation is temporarily disabled through the Open-IOV website. +

Contact Open-IOV moderators in the community #Documentation channel to have your account allowlisted until unmoderated signups re-open. +

+

Creating an Article

+

If you'd like to start a new article or contribute to an existing one simply create an account then visit a URL containing the article title you'd like to create or edit and click the "Edit" button. +

Example: +

https://open-iov.org/index.php/your-article-title-here +

New articles should be linked on the Articles page so people can find them. +

+ + + + +
+
+ +
+
+ +
+

Navigation menu

+
+ + +
+ + + + +
+
+ + + + + + +
+
+ + + +
+ + + + + \ No newline at end of file -- cgit v1.2.3