Commit graph

5 commits

Author SHA1 Message Date
Timur Tabi
7a1a266e22 nvidia: add generic bootloader for GSP-enabled systems
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>
2025-10-17 14:01:07 -05:00
Timur Tabi
050f0a1e3a nvidia: add GSP-RM version 570.144 firmware images
The Nouveau driver has been updated to support the 570.144 GSP
firmware from Nvidia.

This new firmware is required to support Hopper and Blackwell GPUs.
GA10x and AD10x GPUs share the same 61MB firmware image, so Nouveau
supports 570.144 on all Turing and later GPUs.

Signed-off-by: Timur Tabi <ttabi@nvidia.com>
2025-05-16 14:15:44 -05:00
Timur Tabi
f4a3c72e5c nvidia: add GSP-RM version 535.113.01 firmware images
These firmware images are required to provide GSP offloading support
on Turing (TU10x) and later GPUs.

The GPU System Processor is a RISC-V coprocessor that is used to offload
GPU initialization and management tasks.  The Nvidia proprietary driver
(aka Resource Manager or RM) is split between a host CPU portion (CPU-RM)
and the GSP portion (GSP-RM).

The Nouveau driver can also load, initialize, and use GSP-RM for similar
purposes, and that is why these binary images are included.

The gsp-xxx.yy.zz.bin files contain GSP-RM itself and are extracted from the
Nvidia proprietary driver ".run" package.

The other binary images are support boot loaders that are extracted from
Nvidia's "OpenRM" git repository at
https://github.com/NVIDIA/open-gpu-kernel-modules using the
extract-firmware-nouveau.py script.

Signed-off-by: Timur Tabi <ttabi@nvidia.com>
2023-11-08 14:36:52 -06:00
Gourav Samaiya
2e92a49f90
nvidia: update Tu10x and Tu11x signed firmware to support newer Turing HW
Signed-off-by: Gourav Samaiya <gsamaiya@nvidia.com>
Tested-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2023-04-04 08:03:53 -04:00
Gourav Samaiya
ed0aa3a5f0
nvidia: add TU102/TU104/TU106 signed firmware
These NVIDIA-signed firmwares are required to enable the graphics engine
on Turing TU10X GPUs.

Signed-off-by: Gourav Samaiya <gsamaiya@nvidia.com>
Tested-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2020-01-22 06:22:11 -05:00