summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_rm_emulation.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-01 13:49:48 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-01 13:49:48 -0500
commit0c18f09e8aba7d1c4a37e4bddaa6915d8a21b431 (patch)
tree303cf825c88f0290e7f4f36dc6d50c8e352e97c2 /kernel/gsp_rm_emulation.c
parentbf5710a6a14fcaa277e3cac28da3eef976bb9e9b (diff)
downloadopen-iov-0c18f09e8aba7d1c4a37e4bddaa6915d8a21b431.tar.gz
open-iov-0c18f09e8aba7d1c4a37e4bddaa6915d8a21b431.zip
vgsp: CONT-95 - PROMOTE_CTX recorder (gsp_sema_service_ctx_promote_note/get w/ bInitialize from emulated promote loop) + CTX-BIND launch receipt (client MAIN/PATCH vs engine ctx + first-words readback) + gsp-phys-ctx-dump + engine-ctx CE readback (CE forbidden on GR ladder channel) - DECISIVE: r1323 CTX-BIND client-main=seen pa=0x114e00000 va=0x1200d0000 size=0x133000 attr=0x6 binit=1; client-patch=seen pa=0x12dcc8000 binit=1; replay-ctx pa=0x1f4000000 size=0x133000 fbmem=1 va=0x2200000 srv_ctxva=0; installed=0 (engine ctx is ladder's buffer NOT client promote); client-main content[0..7]=0, host read 100% zero bytes -> client promoted GR ctx carries no state; fw DS handler decoded (vaddr 0x52b8290 per-bit reporter: esr=a6000e20->0x73 SPH5; validation HW-side) - next: read engine ctx buffer VA 0x2200000/FBMEM 0x1f4000000 via secondary stage-3 COPY0 channel on same VAS (0xc5b5 copy block, dump gsp-phys-ctx-dump); structured -> drive fill, zeros -> reproduce GSP golden-ctx init - SESSION 153 r1322-r1323
Diffstat (limited to 'kernel/gsp_rm_emulation.c')
-rw-r--r--kernel/gsp_rm_emulation.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/kernel/gsp_rm_emulation.c b/kernel/gsp_rm_emulation.c
index 99f394c..d0f9e61 100644
--- a/kernel/gsp_rm_emulation.c
+++ b/kernel/gsp_rm_emulation.c
@@ -4395,6 +4395,20 @@ static void gsp_rm_handle_rm_control(struct gsp_emu_context *ctx,
*/
gsp_sema_service_promote_add(eva, pa, esz,
attr, bid);
+ /*
+ * SESSION 153-CONTINUED-95: keep the latest
+ * MAIN (0) / PATCH (2) statement per engine
+ * for the launch-time CTX-BIND receipt (the
+ * bInitialize flag is the client's "server,
+ * initialize this buffer" request; the
+ * emulation answers OK but never installs
+ * the buffer on the engine channel - the
+ * receipt makes that visible).
+ */
+ gsp_sema_service_ctx_promote_note(engine_type,
+ bid, pa, eva,
+ esz, attr,
+ e[30]);
}
}
out_status = 0;