summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-03 17:43:19 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-03 17:43:19 -0500
commitc332445746b8a8ef46869c3b47e165c375bb1f8d (patch)
treed4c5092b331ef530123880ae327e08e48a7f3cfa /kernel/gsp_sema_service.h
parent9b801327ffd9e3f2e1f031f9f3752f3ffe3240fd (diff)
downloadopen-iov-c332445746b8a8ef46869c3b47e165c375bb1f8d.tar.gz
open-iov-c332445746b8a8ef46869c3b47e165c375bb1f8d.zip
vgsp-sph: C4 - capture scratch 0x19 (CB selector, mthd 0x3464) + seed STATE 0xD19 emission (param sema_mme_state_d19 > captured, 3d-reloc, fail-closed) - the d28-forced slow path reads an unseeded d19 and faults the consumer at VA 0 (HUBCLIENT_PD); +129/-1
Diffstat (limited to 'kernel/gsp_sema_service.h')
-rw-r--r--kernel/gsp_sema_service.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.h b/kernel/gsp_sema_service.h
index 7efc2f3..5b993a8 100644
--- a/kernel/gsp_sema_service.h
+++ b/kernel/gsp_sema_service.h
@@ -568,6 +568,17 @@ u64 gsp_sema_mme_sa_get(u32 *entries, u32 n);
bool gsp_sema_mme_scratch18_get(u32 *val);
/*
+ * SESSION 153-CONTINUED-115: the client's own SET_MME_SHADOW_SCRATCH(0x19)
+ * write (method 0x3464) - STATE 0xD19, the constant-buffer selector B/C
+ * (address>>8) the bug2548370 loadConstantBuffer macro's in-band update
+ * emits from once the fast path is refused. Companion of scratch 0x18
+ * above; returns true (and stores the value exactly as pushed) once any
+ * decoded client push carried the write. false until then (never observed
+ * live so far; sema_mme_state_d19 can supply the seed value instead).
+ */
+bool gsp_sema_mme_scratch19_get(u32 *val);
+
+/*
* SESSION 153-CONTINUED-87: the SPH VERSION of the live program images
* (sema_gl_vs/ps_hex blobs), so the GR launch builder emits a
* SET_SPH_VERSION window that MATCHES the images the engine will fetch