Re: [PATCH] gpu: nova-core: fix incorrect naming/framing of GSP-FMC firmware
"Danilo Krummrich" <[email protected]>
| Newsgroups | dev.linux.lists.nova-gpu,org.kernel.vger.linux-kernel,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <[email protected]> |
On Tue Aug 25, 2026 at 10:31 AM CEST, Alexandre Courbot wrote: > The GSP-FMC firmware code lived in `firmware/fsp.rs` and described > itself as running on the FSP. This is incorrect: GSP-FMC is loaded by > the FSP, but runs on the GSP as the loader and verifier of GSP-RM. FSP > secure-boots on its own before the driver even starts. > > Correct the naming and files used to contain the GSP-FMC code, by: > > - Renaming `firmware/fsp.rs` to `firmware/gsp_fmc.rs` (as GSP-FMC is not > the FSP firmware), > - Changing the prefix of some declarations in that file to `FMC` or > `GspFmc` (interestingly some were already correct), > - Fixing a mismatch (FMC means "First Mutable Code") in `fsp.rst`. Good catch, Reviewed-by: Danilo Krummrich <[email protected]> > FSP (hardware root of trust, boots from ROM) > - -> FMC (Falcon Microcontroller, verified by FSP) > + -> FMC (First Mutable Code, verified by FSP) That reminds me that I'd like to have a table in Documentation/gpu/nova/ listing and explaining all abbreviations. In nouveau it's a huge mess and all the abbreviations became rather confusing. I think we already have a couple unexplained ones in nova-core, such as ACR (Authenticated Code RAM), if that is even correct. :) Besides that I think it would also be nice to have a basic graphs of the different boot sequences in the documentation as well, including the different firmware images and the purpose they serve, including sub-components. For instance, I think we never mention where ACR lives (SEC2 before Hopper, GSP-FMC since Hopper), if I got that correct. We already have something is fsp.rst, but I think it is misleading and needs to be fixed as well. nova-core FSP | | | 1. Poll scratch register | | (wait for FSP boot complete) | | | | 2. COT message ------------> | | (FMC addr, signatures, | | boot params) | | | | |--- Verify FMC signature | |--- Boot FMC | |--- FMC loads GSP-RM | | | 3. COT response <------------ | | (success/error) | | | This reads as if FMC runs on FSP and FMC (running on the FSP) subsequently loads GSP-RM. Maybe it should be fixed by this patch, as it is the exact same mistake this patch addresses.