diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-21 11:09:36 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-21 11:09:36 -0400 |
| commit | ad1f7a6a3cd262cc084673ec5cf0c561328ec7c7 (patch) | |
| tree | e3369e40b8f36345911091b542021a4899bb474d /patches/nvidia/README.md | |
| parent | 0ca41da65d675b624fb6389da1f488a24ea416e1 (diff) | |
| download | open-iov-ad1f7a6a3cd262cc084673ec5cf0c561328ec7c7.tar.gz open-iov-ad1f7a6a3cd262cc084673ec5cf0c561328ec7c7.zip | |
Make repo fully path-portable and add reproducible installer
- install.sh: one-command fresh-Ubuntu reproduction (deps, NVIDIA clone
+ patch, GSP firmware fetch from linux-firmware.git with objcopy
.fwimage extraction + MD5 verify, ordered build, host config, load,
mdev creation). Wrapper-neutral: works with libvirt/raw QEMU.
- patches/nvidia: regenerated path-independent patch (KBUILD_EXTRA_SYMBOLS
resolved via $(src)/$(CURDIR) relative to the NVIDIA tree).
- scripts/stack_manager.sh and helper scripts auto-detect repo root
(OPEN_IOV_ROOT override); no hardcoded developer paths anywhere.
- firmware analysis scripts use script-relative paths (also fixes stale
firmware/570-GSP references); docs/wiki updated to $OPEN_IOV_ROOT.
- .github/workflows/ci.yml updated for standalone repo layout; firmware
fetched from linux-firmware in CI.
- Untrack remaining kbuild artifacts (Module.symvers, modules.order,
*.o.d); gitignore them.
- STATE.md: live project state, limitations, fixed/open bugs.
- README.md: rewritten for clone-and-run reproducibility.
Diffstat (limited to 'patches/nvidia/README.md')
| -rw-r--r-- | patches/nvidia/README.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/patches/nvidia/README.md b/patches/nvidia/README.md new file mode 100644 index 0000000..9c74f75 --- /dev/null +++ b/patches/nvidia/README.md @@ -0,0 +1,45 @@ +# NVIDIA open-gpu-kernel-modules Patches + +Open-IOV does **not** vendor the NVIDIA OpenRM source tree. Instead, the +installer clones upstream at a pinned tag and applies this patch series. + +## Pinned upstream + +- Repository: <https://github.com/NVIDIA/open-gpu-kernel-modules.git> +- Tag: `610.57.04` +- Pristine-tree SHA256 of the delta base: tag `610.57.04` + +## Applying + +```bash +git clone --depth 1 --branch 610.57.04 \ + https://github.com/NVIDIA/open-gpu-kernel-modules.git +cd open-gpu-kernel-modules +git apply /path/to/open-iov/patches/nvidia/*.patch +``` + +(`install.sh` does this automatically.) + +## Regenerating the series + +If you modify the NVIDIA tree, regenerate the patches with: + +```bash +cd nvidia-open-gpu-kernel-modules +git format-patch 610.57.04..HEAD -o ../patches/nvidia/ +``` + +## What the series does + +`0001-Build-fixes-and-vGPU-VFIO-interface-integration.patch`: + +- Adds the vGPU VFIO interface headers (`nv-vgpu-vfio-interface.h`, + `nv-vgpu-vfio-interface-nvidia.h`) that `open-iov-vfio.ko` and + `nvidia.ko` share. +- Exports the vGPU VFIO symbols from `nvidia.ko` + (`nvidia_vgpu_vfio_probe/remove`, `nvidia_vgpu_vfio_get_ops/set_ops`, + `nv_vgpu_mdev_register_parent/unregister_parent`, ...). +- Reports version `570.144` to match the GSP firmware the guest driver + stack is validated against. +- Build fixes for kernel 6.8 out-of-tree builds and the + `Module.symvers.open-iov` reference list. |
