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/main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index 39c71c3..7001b3d 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2550,6 +2550,16 @@ bool gsp_phys_gpu_enabled(void) module_param_named(sema_gr_rings, gsp_sema_gr_rings, bool, 0644); MODULE_PARM_DESC(sema_gr_rings, "Auto-discover+pin GR channel rings (default 1)"); +/* + * In-kernel GR completion-counter slot derivation from the structural + * translations (published page directories, self-discovered directory, + * targeted rm_mem record), used when a release's counter page has no injected + * pin yet. Default on; set 0 to restore the injected-pin-only behaviour for + * an A/B without a rebuild. + */ +module_param_named(sema_counter_derive, gsp_sema_counter_derive, bool, 0644); +MODULE_PARM_DESC(sema_counter_derive, "Derive GR completion-counter slots in-kernel from structural translations (default 1)"); + /* * Acknowledge releases from unreadable CE pushes directly (tracking-semaphore * fallback). The push's data writes are lost either way when the content -- cgit v1.2.3