summaryrefslogtreecommitdiffstats
path: root/debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-22 18:09:30 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-22 18:09:30 -0400
commitf9ddd5a3004ab08feda43c3d17e674ab132969cb (patch)
tree991b6f819e640fd5092a50e9a1520776d804d1f9 /debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py
parent4d4bb3ca0f8c23b8a8bd9893a0f0b4ebbfddd7a8 (diff)
downloadopen-iov-f9ddd5a3004ab08feda43c3d17e674ab132969cb.tar.gz
open-iov-f9ddd5a3004ab08feda43c3d17e674ab132969cb.zip
r496f discover the kernel-RM client VAS page directory by verification
The X/GL channel's pushbuffer pages and progress semaphore live in a kernel-RM internal VAS whose page directory is never published (fn 54 is UVM/external-VAS only), so no translation source can resolve them: the tracker push reads zeros/garbage and the driver's DMA sanity poll (which waits on the progress-tracker semaphore the GPU writes when it consumes the tracker push) never completes. With the ring content-validated, try each 4 KB page of the vidmem shadow as a walk root and register the first whose walk reproduces the ring VA -> ring PA translation. The walker then resolves every other VA of the same client - pushbuffer pages, the tracker push, the progress semaphore.
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py')
0 files changed, 0 insertions, 0 deletions