summaryrefslogtreecommitdiffstats
path: root/patches/nvidia/README.md
blob: 9c74f75a45170f56f87ed3aa23a5da4470b51c6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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.