The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: "Danilo Krummrich" <dakr@kernel.org>
To: "Alexandre Courbot" <acourbot@nvidia.com>
Cc: "David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Benno Lossin" <lossin@kernel.org>, "Gary Guo" <gary@garyguo.net>,
	"John Hubbard" <jhubbard@nvidia.com>,
	"Alistair Popple" <apopple@nvidia.com>,
	"Timur Tabi" <ttabi@nvidia.com>,
	"Eliot Courtney" <ecourtney@nvidia.com>,
	"Zhi Wang" <zhiw@nvidia.com>, <nova-gpu@lists.linux.dev>,
	<linux-kernel@vger.kernel.org>, <rust-for-linux@vger.kernel.org>
Subject: Re: [PATCH] gpu: nova-core: fix incorrect naming/framing of GSP-FMC firmware
Date: Tue, 25 Aug 2026 21:40:58 +0200	[thread overview]
Message-ID: <DKYA3P4E2CRC.3NVNCJ42J2FRN@kernel.org> (raw)
In-Reply-To: <20260825-gsp-fmc-rename-v1-1-f82526f01d7d@nvidia.com>

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 <dakr@kernel.org>

>       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.

  reply	other threads:[~2026-08-25 19:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-25  8:31 [PATCH] gpu: nova-core: fix incorrect naming/framing of GSP-FMC firmware Alexandre Courbot
2026-08-25 19:40 ` Danilo Krummrich [this message]
2026-08-26  8:14   ` Zhi Wang
2026-08-25 23:21 ` Eliot Courtney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DKYA3P4E2CRC.3NVNCJ42J2FRN@kernel.org \
    --to=dakr@kernel.org \
    --cc=acourbot@nvidia.com \
    --cc=airlied@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=apopple@nvidia.com \
    --cc=ecourtney@nvidia.com \
    --cc=gary@garyguo.net \
    --cc=jhubbard@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lossin@kernel.org \
    --cc=nova-gpu@lists.linux.dev \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=simona@ffwll.ch \
    --cc=ttabi@nvidia.com \
    --cc=zhiw@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox