Skip to content

Instantly share code, notes, and snippets.

View hoshinolina's full-sized avatar

Hoshino Lina hoshinolina

View GitHub Profile
@hoshinolina
hoshinolina / agx_buffers.md
Last active November 16, 2022 07:01
AGX buffers

Legend:

  • (K)ernel or (U)ser
  • (S)hared or (P)rivate
  • (F)irmware or (G)PU or (X)Both

TVB Buffer heap:

Directly related to the buffer heap

  • (KSF): Buffer info struct (maybe should be KPF?)
  • (KSF): Block control pointers
  • (KSF): Use counter
100 16734.0
110 16782.0
120 16833.0
130 16883.0
140 16936.0
150 16991.0
160 17046.0
170 17103.0
180 17162.0
190 17222.0
100 414.0
200 414.0
300 415.0
310 415.0
320 415.0
330 416.0
340 416.0
350 417.0
360 417.0
370 419.0

AGX coherency, caching, and TLBs

These are just some notes on my current understanding of the subtleties of the AGX memory model and the TLB/caching issues I'm seeing.

Hypervisor shenanigans

TLBI instructions do not broadcast to the GPU from EL1 with stage 2 translation enabled. That's it. That's what the bug was.

GPU side