GPU Software Bill Of Materials (SBOM)
Jump to navigation
Jump to search
This page will keep a running list of components used to achieve GPU Virtualization.
Vendor | Component | Description | Version | OSS or Blob | Vendor Docs | Release Date | Interfaces / APIs | Notes |
---|---|---|---|---|---|---|---|---|
Arc Compute | gvm-cli | Daemon | 1.0 | OSS | docs.linux-gvm.org | CLI | Allocates GPU resources for use with virtualization. Registers devices and mdev callbacks with the Mediated Core. | |
Arc Compute | gvm-mgr | Daemon | OSS | docs.linux-gvm.org | IOCTL, vRPC, pRPC | Schedules IO to and from the guest GPU driver, handles BAR-quirks (trap and emulate of some or all guest driver IO depending on availability of hardware virtualization assistance). | ||
Intel | i915 SR-IOV | Driver | 5.15 | OSS | Intel's open source GPU driver for GuC-equipped graphics accelerators. | |||
Intel | GuC μOS | Firmware | Blob | IOMMU Interrupts, Power Management Interrupts, GTT | Handles scheduling, and power management. | |||
Intel | HuC | Firmware | Blob | GTT | Handles video encoding/decoding. | |||
Nvidia | OpenRM | Driver | 525 | OSS | Nvidia's open source GPU driver for GSP-equipped graphics accelerators. | |||
Nvidia | GSP RM (uproc) | Firmware | Blob | 2022.10.12 | RPC | Embedded firmware based on LibOS containing the RM Core. | ||
Nvidia | Falcon/NvRISC (uproc) | Firmware | Unknown | Blob | FBIF (Frame Buffer Interface) / GMMU | Embedded firmware which handles many aspects of the device including configuring the GPU's GMMU controller. | ||
Nvidia | nvidia-vgpud | Daemon | v15 | Blob | Configures the the nvidia-vgpu-mgr process. | |||
Nvidia | nvidia-vgpu-mgr | Daemon | Blob | vRPC | vmiop, IOCTL, vRPC, pRPC | Handles IO to and from guest RM, host RM, and hardware. | ||
Nvidia | libnvidiavgpu.so | Library | Blob | vmiop | Handles IO to and from guest RM, host RM, and hardware. Contains circular dependancies with nvidia-vgpu-mgr. | |||
Nvidia | nvidia_vgpu_vfio | Driver | Blob | Type 1 IOMMU, irqfd, ioeventfd, IOCTL | Handles incremental memory mapping (non-page pinning per the standard vfio-pci driver). |
More Information
- Nvidia RISC-V Story
- linux-gvm.org
- Intel Graphics Programmer's Reference Manuals (PRM)
- i915: Hardware Contexts (and some bits about batchbuffers)
- i915: The Global GTT Part 1
- i915: Aliasing PPGTT Part 2
- i915: True PPGTT Part 3
- i915: Future PPGTT Part 4 (Dynamic page table allocations, 64 bit address space, GPU "mirroring", and yeah, something about relocs too)
- i915: Security of the Intel Graphics Stack - Part 1 - Introduction
- i915: Security of the Intel Graphics Stack - Part 2 - FW <-> GuC
- i915: An Introduction to Intel GVT-g (with new architecture)