News: 0001644029

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

NVIDIA Working On New "TLV" Firmware Binary Format For Nova Driver

([NVIDIA] 26 Minutes Ago TLV Firmware)


NVIDIA engineers have been developing a new binary format for their GPU firmware images for use with the in-development, open-source Nova kernel driver. With this new TLV binary firmware format it aims to be easier to parse by their Rust-based driver code.

Timur Tabi of NVIDIA posted the new version of patches that transition the Nova-Core driver code over to their new Tag-Length-Value (TLV) firmware image format. Tabi explained of the motivation with this new TLV firmware format:

"This patch set transitions nova-core to use the new "TLV" firmware image files, instead of the ones that Nouveau uses.

The current r570.144 images are a mix of binary headers and ELF files that are cumbersome to parse in Rust. There's a significant amount of code that just reads in a struct, extracts some offset, and uses it to find another struct, only to have nova-core use just a few fields.

The new format uses a sequence of tag/length/value fields that can be iterated over. The script that generates the TLV files, extract-firmware-nova.py, does the extra work to find the specific metadata needed by Nova and packages each one separately."

The format is still being iterated on for further improving it but ultimately will make it easier to handle the NVIDIA GPU firmware by the Nova driver in this new format. Those interested in the details can find the Nova driver patches on the [1]rust-for-linux mailing list .



[1] https://lore.kernel.org/rust-for-linux/20260630194749.1209490-1-ttabi@nvidia.com/



Fifth Law of Applied Terror:
If you are given an open-book exam, you will forget your book.

Corollary:
If you are given a take-home exam, you will forget where you live.