summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_emulation.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-21 21:08:06 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-21 21:08:06 -0400
commit55ffe494a749cf0ebf10b3146b8c59a4ab81aa5f (patch)
tree8e961e579950c64ccee564323257342c2862b42b /kernel/gsp_emulation.h
parent92fa88178956b94439857b8ec97da7f29f42bf9f (diff)
downloadopen-iov-55ffe494a749cf0ebf10b3146b8c59a4ab81aa5f.tar.gz
open-iov-55ffe494a749cf0ebf10b3146b8c59a4ab81aa5f.zip
kernel: TLB invalidate auto-complete (MMU_INVALIDATE trigger) + fn-10 queue logging
- NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE (BAR0+0x30B0, TRIGGER=bit31): driver sets TRIGGER then spins in kgmmuCheckPendingInvalidates_TU102 polling for it to clear. Our shadow held TRIGGER forever -> nv_open_q hard-wedged in RmInitAdapter (TLB invalidate during dmaAllocMapping). Auto-clear the trigger bit in gsp_emu_poll_boot (instant completion). - fn-10/47 handler logs hObjectOld + cmd_read/stat_write/drv_rp/stat_seq. Confirmed: drv_rp tracks stat_write 1:1 (driver drains cleanly, no lapping); frees complete; stat_seq increments per record. - Health-check/crashcat loop (kgspHealthCheck -> crashcatEngineGetNext CrashReport never returns NULL) is a SECONDARY symptom triggered by an RPC failure during RmInitAdapter - under investigation.
Diffstat (limited to 'kernel/gsp_emulation.h')
-rw-r--r--kernel/gsp_emulation.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/gsp_emulation.h b/kernel/gsp_emulation.h
index fe4186e..156499a 100644
--- a/kernel/gsp_emulation.h
+++ b/kernel/gsp_emulation.h
@@ -58,6 +58,11 @@
#define GSP_EMU_REG_SEC2_MAILBOX0 0x840040
#define GSP_EMU_REG_SEC2_ENGINE 0x8403c0
+/* NV_VIRTUAL_FUNCTION_PRIV_MMU_INVALIDATE: driver sets TRIGGER(bit31) to
+ * start a TLB invalidate, then polls for bit31==0 (done). We auto-clear it. */
+#define GSP_EMU_REG_MMU_INVALIDATE 0x0030b0
+#define GSP_EMU_MMU_INVALIDATE_TRIGGER (1U << 31)
+
#define GSP_EMU_CPUCTL_STARTCPU 0x2
#define GSP_EMU_CPUCTL_HALTED 0x10