diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-02 15:13:06 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-02 15:13:06 -0400 |
| commit | c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d (patch) | |
| tree | 91b1dc03fc3916a92e1c99bd91a6643842c62525 /kernel/gsp_phys_gpu.h | |
| parent | 7621dff1d3fba7bdb31b2b15abca1e5ff8ca4380 (diff) | |
| download | open-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.tar.gz open-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.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.h | 15 |
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 |
