Re: [PATCH v9 00/31] gpu: nova-core: firmware: Hopper/Blackwell support

Alexandre Courbot
2026-04-08T01:52:02Z

On Thu Mar 26, 2026 at 10:38 AM JST, John Hubbard wrote:
<snip>
> gpu: nova-core: Hopper/Blackwell: basic GPU identification
> gpu: nova-core: factor .fwsignature* selection into a new
> find_gsp_sigs_section()
> gpu: nova-core: use GPU Architecture to simplify HAL selections
> gpu: nova-core: add Copy/Clone to Spec and Revision, add chipset()
> accessor
> gpu: nova-core: set DMA mask width based on GPU architecture
> gpu: nova-core: Hopper/Blackwell: skip GFW boot waiting
> gpu: nova-core: move firmware image parsing code to firmware.rs
> gpu: nova-core: factor out an elf_str() function
> gpu: nova-core: don't assume 64-bit firmware images
> gpu: nova-core: add support for 32-bit firmware images
> gpu: nova-core: add auto-detection of 32-bit, 64-bit firmware images
> gpu: nova-core: Hopper/Blackwell: add FMC firmware image, in support
> of FSP
> gpu: nova-core: Hopper/Blackwell: add FSP falcon engine stub
> gpu: nova-core: Hopper/Blackwell: add FSP falcon EMEM operations
> gpu: nova-core: Hopper/Blackwell: add FSP message infrastructure
> rust: ptr: add const_align_up()
> gpu: nova-core: Hopper/Blackwell: calculate reserved FB heap size
> gpu: nova-core: add MCTP/NVDM protocol types for firmware
> communication
> gpu: nova-core: Hopper/Blackwell: add FSP secure boot completion
> waiting
> gpu: nova-core: Hopper/Blackwell: add FMC signature extraction
> gpu: nova-core: Hopper/Blackwell: add FSP send/receive messaging
> gpu: nova-core: Hopper/Blackwell: add FspCotVersion type
> gpu: nova-core: Hopper/Blackwell: larger non-WPR heap
> gpu: nova-core: Hopper/Blackwell: add FSP Chain of Trust boot
> gpu: nova-core: Blackwell: use correct sysmem flush registers
> gpu: nova-core: make WPR heap sizing fallible
> gpu: nova-core: Hopper/Blackwell: larger WPR2 (GSP) heap
> gpu: nova-core: refactor SEC2 booter loading into
> BooterFirmware::run()
> gpu: nova-core: Hopper/Blackwell: add GSP lockdown release polling
> gpu: nova-core: Hopper/Blackwell: new location for PCI config mirror
> gpu: nova-core: Hopper/Blackwell: integrate FSP boot path into boot()

A few remarks on the ordering:

- Patches 2 and 3 should come first, so the code is reorganized before
we add the new architecture (and to reduce the overall diff). This
also allows us to apply these patches earlier, as they are valuable
regardless of Blackwell support.
- Patch 26 looks like it is independent from the rest of the series - it
could have been merged earlier if it was placed at the beginning of
the series.
- Same for patch 17, although the commit log mentions Blackwell (but not
the code).
- The progression of the series is such that it adds new features that
remain unused until the final patch which exercices the FSP boot path.
We could avoid that by introducing `boot_via_fsp` early in the series
(making it just return `ENOPSUPP`), and completing it as the FSP
features become available. This removes a lot of `dead_code`s, and
also provides a logical order for the patches since it can follow the
flow of `boot_via_fsp`.

I still want to dive in depth into the messaging parts, but I think I'll
keep that for next respin to avoid giving too much feedback on a single
revision. :) At least we can say that the overall structure seems to be
converging.