summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-05 16:04:33 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-05 16:04:33 -0400
commit7c1fceb5654cda3628531214934b93e96a507700 (patch)
tree3b04c1db569cdbaad065eff242ff47c7e6fdcd89 /kernel/gsp_phys_gpu.h
parent9554ca1f344192e27bdc58e5b9ab1bd795e3be32 (diff)
downloadopen-iov-7c1fceb5654cda3628531214934b93e96a507700.tar.gz
open-iov-7c1fceb5654cda3628531214934b93e96a507700.zip
vgsp: FWCLIENT entry-selection mask and golden-replay hardening
- gsp_phys_rmcall_fwclient_mask (default 0x3f): per-entry selection for the mode-24 FWCLIENT promote set; bit6 selects the MAIN UVM VA-only shape. - golden replay: tolerate the client-local system-memory PB step and continue with hObjectBuffer=0; on-ladder TURING_A 3D object retained best-effort. Live bisection on the KMD channel: MAIN alone reaches the per-buffer commit and stops at the engine-context memdesc state; PM-only and PATCH-only are accepted; any multi-entry control containing MAIN is refused 0x1f. All cycles release clean.
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
index 8322725..9e809e3 100644
--- a/kernel/gsp_phys_gpu.h
+++ b/kernel/gsp_phys_gpu.h
@@ -99,6 +99,13 @@ int gsp_phys_srv_ctxcommit_mode(void);
int gsp_phys_rmcall_channel_value(void);
/*
+ * gsp_phys_rmcall_fwclient_mask (default 0x3f): bitmask selecting the mode-24
+ * FWCLIENT promote entries to emit (bit0 MAIN, bit1 PM, bit2 PATCH,
+ * bit3 FECS_EVENT, bit4 PRIV_ACCESS_MAP, bit5 UNRESTRICTED_PRIV_ACCESS_MAP).
+ */
+u32 gsp_phys_rmcall_fwclient_mask_value(void);
+
+/*
* gsp_phys_rmcall_golden (default 0): replay the stock client's golden-image
* channel allocations in stage 3 before the ladder's own channel when set and
* gsp_phys_gpu=1. With 0, the ladder is byte-identical to before.