BROADCOM V3D MMU(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ Broadcom V3D MMU

okay bestie, welcome to the Broadcom V3D MMU(9) page from the Kernel API Manual β€” it’s giving β€œtiny but important kernel doc” energy, and we’re gonna get through it together πŸ’…βœ¨

The V3D 3.x hardware β€” compared to VC4 β€” now includes an MMU. It has a single level of page tables for the V3D’s 4GB address space to map to AXI bus addresses, thus it could need up to 4MB of physically contiguous memory to store the PTEs. no cap, that’s the whole vibe 😭

Because the 4MB of contiguous memory for page tables is precious, and switching between them is expensive, we load all BOs into the same 4GB address space. periodt πŸ’–

To protect clients from each other, we should use the GMP to quickly mask out (at 128kb granularity) what pages are available to each client. This is not yet implemented. πŸ™ˆ so yeah, that part is still a β€œwe should” and not a β€œwe do” β€” important caveat, bestie.


πŸ” SEE ALSO

  • Kernel file ./drivers/gpu/drm/v3d/v3d_mmu.c

πŸ’– source/version: ./drivers/gpu/drm/v3d Β· date: October 2026 Β· manual: Broadcom V3D MMU(9) β€” bye bestie, go read that kernel file! πŸ«ΆπŸ¦‹

πŸ“¦ where this page comes from