summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 15:13:06 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 15:13:06 -0400
commit4bb8550a72597ec098c6d62a75006a0aba61972e (patch)
treebd0ec74c26ff056251052a5e1ba0b59d14fb1f6a /kernel/gsp_phys_gpu.h
parent8b491c4e7ebde76c17faddaad47f92898d6c97de (diff)
downloadopen-iov-4bb8550a72597ec098c6d62a75006a0aba61972e.tar.gz
open-iov-4bb8550a72597ec098c6d62a75006a0aba61972e.zip
kernel: GR context-promote bisection modes 4-17 and server-managed-ctxbuf registry variant; complete vgsp rename; docs/tooling refresh
- gsp_phys_booter: GR promote bisection modes 4-17 (two-phase zero-field VA, batched entries, hVirtMemory, bare VA, KMD SKIP_CTXBUFFER_ALLOC channel, old-interface GPU_INITIALIZE_CTX, FBMEM context buffer, UVM-faithful PA-only, PATCH/PM auxiliary promotes, server-managed no-promote path); PATCH/PM geometry queries and buffers; pre-boot SET_REGISTRY profile selection - gsp_phys_gpu: gsp_phys_rmcall_gr_promote clamp 0..17 and gsp_phys_srv_ctxbuf parameter; registry image variant with RMSetClientRMAllocatedCtxBuffer=0 - vgsp rename across kernel, scripts, tools and docs (module vgsp.ko, /sys/kernel/debug/vgsp/, vgsp-<subsystem>: log prefixes) - risc-v-gsp-rm-debugger user-facing rename and docs/CI refresh; guest-diag tool updates; README/SBOM/install/Makefile sync Live status: CE ladder and P6 guest-copy forwarding green; GR engine context commit still open (all promote shapes accepted or cleanly refused; the channel stays CTXNOTVALID) - see Handoff-vGPU-IO.md Addendum 21 (local).
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
index 4e5e823..7d9b695 100644
--- a/kernel/gsp_phys_gpu.h
+++ b/kernel/gsp_phys_gpu.h
@@ -78,6 +78,7 @@ bool gsp_phys_static_live_enabled(void);
* emulated per-command handler on any miss.
*/
bool gsp_phys_ctrl_forward_enabled(void);
+bool gsp_phys_srv_ctxbuf_value(void);
/*
* True when the gsp_phys_work_forward module parameter is set (default 0: the
@@ -188,8 +189,18 @@ int gsp_phys_rmcall_engine_value(void);
* 2 = reference external-VAS two-phase shape: a PA-only nonmapped entry
* (bInitialize=1/bNonmapped=1, no VA) first, then a VA-only entry
* (bInitialize=0/bNonmapped=0) with the same PA/VA/size;
- * 3 = single MAIN entry like 1 but with size = the exact raw save size.
- * The parameter's set callback clamps any value outside 0..3 to 0 with a
+ * 3 = single MAIN entry like 1 but with size = the exact raw save size;
+ * 4 = like 2 but the VA-only step uses the reference client's zero-field
+ * entry (only bufferId/gpuVirtAddr/bNonmapped set);
+ * 5 = one control, entryCount=2: PA-only nonmapped init entry followed by
+ * the zero-field VA-only entry;
+ * 6 = no-entry hVirtMemory: allocate an NV01_MEMORY_VIRTUAL (class 0x70)
+ * VA-range object on the ladder VAS at the context window, then
+ * PROMOTE_CTX with hVirtMemory, virtAddress/size and entryCount=0, so
+ * the server creates the memdesc/vaList entry itself;
+ * 7 = no-entry bare (virtAddress, size): PROMOTE_CTX with entryCount=0 and
+ * no hVirtMemory (the other documented no-entry branch).
+ * The parameter's set callback clamps any value outside 0..7 to 0 with a
* warning and warns on every nonzero enable (a failed promote can assert
* GSP-RM and wedge the device; recovery needs a reboot with human approval).
* The booter snapshots the value when the rm-call ladder's stage 3 starts