summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-07 13:55:54 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-07 13:55:54 -0400
commit320c679a470b9eb31dd111b7189b07316298c23a (patch)
treee81af2c64f8efd21825e7921d501a09c8682a8a2 /kernel/gsp_phys_gpu.h
parenta58eb29859c55fc38c30bc9433b5dfd16ae9e4d2 (diff)
downloadopen-iov-320c679a470b9eb31dd111b7189b07316298c23a.tar.gz
open-iov-320c679a470b9eb31dd111b7189b07316298c23a.zip
vgsp: m96 - gr_pte_kind: set the Turing v2 PTE KIND on the window-0 shadow pool
UVM's Turing PTE maker sets KIND=GENERIC_MEMORY (0x06) in PTE bits 63:56 because PITCH no longer exists on Turing (uvm_turing_mmu.c:32-34,106; NV_MMU_PTE_KIND_GENERIC_MEMORY=0x06, NV_MMU_VER2_PTE_KIND=63:56). Our shadow PTEs encode kind=0. The SM I-fetch refuses the kind-0 PTE with MMU_NACK while the FE tolerates it, so gr_pte_kind (default 0) selects the KIND for the window-0 pool. Also log the VASPDB root DMA at SET_PAGE_DIRECTORY time (settles whether the SC PDB the server programs is our chunk).
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
index 9bd5df3..7df30cb 100644
--- a/kernel/gsp_phys_gpu.h
+++ b/kernel/gsp_phys_gpu.h
@@ -343,6 +343,9 @@ int gsp_phys_rmcall_gr_ptr_guest_value(void);
/* m95: program GPC MMU_CTRL from PFB MMU_CTRL before a forwarded launch. */
int gsp_phys_rmcall_gr_gpc_mmu_init_value(void);
+/* m96: KIND (63:56) for window-0 shadow PTEs (0 = historical kind 0). */
+int gsp_phys_rmcall_gr_pte_kind_value(void);
+
/* m72: append the vendor local-memory context block to the GR prelude so
* SKEDCHECK05 LOCAL_MEMORY_TOTAL_SIZE passes (default 0); base VA and
* per-TPC size are overridable for A/B runs. */