summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 23:50:00 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 23:50:00 -0400
commite6e6dcddf9bc109885bcf4211c31aa82d67f5f2f (patch)
treed91b1f5c5ee86b61d76d0eb7409dbbdea84156dd /kernel/gsp_phys_gpu.h
parentfe163078694a9bf870e7aff1fe161a87fb63d137 (diff)
downloadopen-iov-e6e6dcddf9bc109885bcf4211c31aa82d67f5f2f.tar.gz
open-iov-e6e6dcddf9bc109885bcf4211c31aa82d67f5f2f.zip
vgsp: m69 - window-0 shadow pool for the QMD program/param pages
m68 proved the program page's shadow copy contains real SASS (SASS_version 0x75) and the prefetch pair is fixed, yet the engine still never completes and never writes its release anywhere - including a window-0 module sem. Best remaining suspect: the window-1 scratch VA range (PT chain installed by DMA_UPDATE_PDE_2 pdeIndex=1) has never been proven readable by the GR engine core, unlike the window-0 GPFIFO/PB/QMDWIN small-PT line. m69 plants 8 module pages at VAs 0x108000..0x10f000 (slots 0x108..0x10f, same 128 B PT fetch line, planted before first fetch like qmdwin), copies the resolved program/param page content into them at launch and rewrites the QMD pointer pairs there (param=32, program=48). Param: gsp_phys_rmcall_gr_shadow_win0.
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
index 5c1207c..196e844 100644
--- a/kernel/gsp_phys_gpu.h
+++ b/kernel/gsp_phys_gpu.h
@@ -333,6 +333,10 @@ int gsp_phys_rmcall_gr_rel_mod_value(void);
* entries are host-readable (default 0 = server FBMEM first). */
int gsp_phys_rmcall_faultbuf_sys_value(void);
+/* m69: copy forwarded GR program/param pages into the window-0 shadow pool
+ * (proven small-PT line) instead of the window-1 scratch range (default 0). */
+int gsp_phys_rmcall_gr_shadow_win0_value(void);
+
/*
* Ladder VAS ownership selector (gsp_phys_rmcall_vas_shared; default 0).
* 0 = FERMI_VASPACE_A is allocated IS_EXTERNALLY_OWNED (historical ladder