Tyr, the Rust GPU driver for Arm Mali, now boots its firmware in Linux 7.3 (6 unsafe lines out of ~3,700)
New post from Deb Brouwer on the Tyr Rust GPU driver for Arm Mali, which now boots its firmware in mainline Linux 7.3:
The parts most interesting for Rust folks:
- How a WARN_ON in the C page table code became an explicit safety requirement on the Rust `map_pages()` API
- Why Tyr uses the full GPUVM abstraction even for a simple, fixed firmware layout: to uphold those invariants instead of trusting assumptions
- What it's like to write a driver while the kernel's Rust abstractions are still being designed (Tyr has been rewritten several times)
(I'm at Collabora, where Tyr is developed. Happy to pass questions along to Deb.)