From cc79b478843f0230fe6aa8ecd822de7ba71c891e Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Sat, 3 Oct 2026 14:05:38 -0400 Subject: 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 --- kernel/gsp_phys_gpu.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'kernel/gsp_phys_gpu.h') 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 @@ -209,6 +209,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(): -- cgit v1.2.3