]> git.ipfire.org Git - thirdparty/linux-firmware.git/commitdiff
nvidia: add generic bootloader for GSP-enabled systems
authorTimur Tabi <ttabi@nvidia.com>
Fri, 17 Oct 2025 18:54:44 +0000 (13:54 -0500)
committerKernel Firmware Robot <linux-firmware@kernel.org>
Fri, 17 Oct 2025 19:01:07 +0000 (14:01 -0500)
Add the generic bootloader to the GSP directory so that Nouveau and
Nova can use it, instead of borrowing the booloader from the acr/
directory.

On Turing and GA100 systems that boot GSP-RM, the "generic bootloader"
is a small firmware image used to boot FWSEC firmware.  To date, this
image is the same as the "ACR bootloader" in the gp102/acr/ directory.
Nouveau simply grabs that image when it needs to boot FWSEC, even though
it is technically in the wrong directory and not generated from the
OpenRM source files like all of the other firmware files that Nouveau
uses.  All GSP-related firmware images should be in the gsp/ directory.

For the Nova GPU driver, this approach has two problems.

1. Although the generic bootloader hasn't changed since 2016, it is
packaged in OpenRM as a binhex array and could theoretically change
for any future version of GSP-RM.  The current approach that Nouveau
takes would not support this.

2. Borrowing images in other directories is problematic, as the firmware
loading code in Nova expects all images to be in the gsp/ directory.

To remedy both issues, a new build of the generic firmware is introduced
for the 570.144 firmware and placed in the gsp/ directory.  This image
is generated by the extract-firmware-nouveau.py script used to build all
the other linux-firmware images.  This new image, although slightly
different in composition, is interchangeable with the acr/bl.bin image.

A generic bootloader for r535 is not included, because Nova does not
support r535 and that firmware version is also deprecated for Nouveau.

Signed-off-by: Timur Tabi <ttabi@nvidia.com>
WHENCE
nvidia/tu102/gsp/gen_bootloader-570.144.bin [new file with mode: 0644]

diff --git a/WHENCE b/WHENCE
index 2b64e884fe7138665b503e1228131e0f71f9e0e8..5b94ba643fbaa4ce0ae2a1e158fd32670f3105cd 100644 (file)
--- a/WHENCE
+++ b/WHENCE
@@ -5790,12 +5790,15 @@ File: nvidia/ga102/gsp/gsp-535.113.01.bin
 Origin: gsp_ga10x.bin from NVIDIA-Linux-x86_64-535.113.01.run
 Link: nvidia/ad102/gsp/gsp-535.113.01.bin -> ../../ga102/gsp/gsp-535.113.01.bin
 
+File: nvidia/tu102/gsp/gen_bootloader-570.144.bin
 File: nvidia/tu102/gsp/bootloader-570.144.bin
 File: nvidia/tu102/gsp/booter_load-570.144.bin
 File: nvidia/tu102/gsp/booter_unload-570.144.bin
+Link: nvidia/tu116/gsp/gen_bootloader-570.144.bin -> ../../tu102/gsp/gen_bootloader-570.144.bin
 File: nvidia/tu116/gsp/booter_load-570.144.bin
 File: nvidia/tu116/gsp/booter_unload-570.144.bin
 Link: nvidia/tu116/gsp/bootloader-570.144.bin -> ../../tu102/gsp/bootloader-570.144.bin
+Link: nvidia/ga100/gsp/gen_bootloader-570.144.bin -> ../../tu102/gsp/gen_bootloader-570.144.bin
 File: nvidia/ga100/gsp/bootloader-570.144.bin
 File: nvidia/ga100/gsp/booter_load-570.144.bin
 File: nvidia/ga100/gsp/booter_unload-570.144.bin
diff --git a/nvidia/tu102/gsp/gen_bootloader-570.144.bin b/nvidia/tu102/gsp/gen_bootloader-570.144.bin
new file mode 100644 (file)
index 0000000..d7269c0
Binary files /dev/null and b/nvidia/tu102/gsp/gen_bootloader-570.144.bin differ