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>
This repository contains all these firmware images which have been
extracted from older drivers, as well various new firmware images which
we were never permitted to include in a GPL'd work, but which we have
been permitted to redistribute under separate cover.
send a git binary diff to linux-firmware@kernel.org
send a git pull request to: linux-firmware@kernel.org
Signed-off-by requirement
All commits must include a Signed-off-by line to track the provenance of the
firmware. This signature must be from someone with authority over the licensing
of the firmware, typically someone from within the company that owns or
controls the firmware. The Signed-off-by line serves as an attestation that
the contributor has the right to submit the firmware under the specified
license terms and that it can be redistributed according to those terms.
At times, a contributor may work at a location that makes it difficult to
submit patches or MRs from their offical company accounts. In this case,
the Signed-off-by line in the commit should still be via the company
address, but the submitter can use a personal address with the company address
on CC for the MR or patch contribution.
Quality
If your commit adds new firmware, it must update the WHENCE file to
clearly state the license under which the firmware is available, and
that it is redistributable. Being redistributable includes ensuring
the firmware license provided includes an implicit or explicit
patent grant to end users to ensure full functionality of device
operation with the firmware. If the license is long and involved, it's
permitted to include it in a separate file and refer to it from the
WHENCE file (IE 'See LICENSE.foo for details.').
And if it were possible, a changelog of the firmware itself.
To maintain consistent quality on the repository, please run the following
before submitting a patch:
make check
If you don't have pre-commit installed, you can install it with:
pip install pre-commit
Your commit must contain a Signed-Off-By: from someone authoritative on
the licensing of the firmware in question (i.e. from within the company
that owns the code).
Warnings
Don't send any CONFIDENTIALITY STATEMENT in your e-mail, patch or
request. Otherwise your firmware will never be accepted.
Maintainers are really busy, so don't expect a prompt reply.