diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-21 21:08:06 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-21 21:08:06 -0400 |
| commit | 55ffe494a749cf0ebf10b3146b8c59a4ab81aa5f (patch) | |
| tree | 8e961e579950c64ccee564323257342c2862b42b /kernel/gsp_emulation.h | |
| parent | 92fa88178956b94439857b8ec97da7f29f42bf9f (diff) | |
| download | open-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.h | 5 |
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 |
