summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-03 14:05:38 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-03 14:05:38 -0400
commitcc79b478843f0230fe6aa8ecd822de7ba71c891e (patch)
tree5de760ddec4e45cc23d39ce7502635f5c0711217 /kernel/gsp_phys_gpu.h
parent40351167dd209012ab485e6164ce94f0b8965422 (diff)
downloadopen-iov-cc79b478843f0230fe6aa8ecd822de7ba71c891e.tar.gz
open-iov-cc79b478843f0230fe6aa8ecd822de7ba71c891e.zip
vgsp: host CUDA bridge + sema release recovery; greeneye simulator wave
- kernel: gsp_cuda_bridge (QMD launch capture, debugfs job/out/done, param+output resolution cached from inline writes), sema drain fixes (never hold/starve a channel), GR ring autopin + counter autoreg, per-page push reads, counter-derive gate; module builds clean - tools/cuda-bridge: CUDA driver-API daemon executing mail/vadd kernels on the physical GPU, CUBB2/CBD2 v2 protocol, layout check + self-tests - tools/guest-diag + tools/cuda-ab: scanner/pin fixes, victory push-only mode - debug/risc-v-gsp-rm-vm: Phase S simulator wave (GSP device model, boot ladder, triage/re-demo harnesses, docs 30-41), GPGPU-sim scaffolding - STATE-CURRENT/docs updates
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
index 7d9b695..74e3103 100644
--- a/kernel/gsp_phys_gpu.h
+++ b/kernel/gsp_phys_gpu.h
@@ -210,6 +210,19 @@ int gsp_phys_rmcall_engine_value(void);
int gsp_phys_rmcall_gr_promote_value(void);
/*
+ * Ladder VAS ownership selector (gsp_phys_rmcall_vas_shared; default 0).
+ * 0 = FERMI_VASPACE_A is allocated IS_EXTERNALLY_OWNED (historical ladder
+ * behaviour: the client owns page tables, VA bookings and engine-context
+ * commitment, which is why every host GR promote failed or wedged).
+ * 1 = SHARED_MANAGEMENT: the ladder still supplies and commits its root PDB
+ * via SET_PAGE_DIRECTORY (legal for shared management, gpu_vaspace.c:3108)
+ * while the RM owns the lower page tables and maps/commits engine contexts
+ * itself, like the normal KMD client (nv_gpu_ops.c:2495). Read at the
+ * stage-3 VAS alloc; a mid-session change is ignored.
+ */
+bool gsp_phys_rmcall_vas_shared_value(void);
+
+/*
* Translate a guest GPA to the pinned host PA (gsp_phys_guest_mem ladder
* support). The mdev is registered with vfio_register_emulated_iommu_dev():
* its VFIO type-1 container keeps the guest DMA mappings privately, so