summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-31 19:57:37 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-31 19:57:37 -0400
commitdcd9ce6b194cfb3a74c2aa39c7fd650fee1e6b99 (patch)
tree333dbdd23273b45eb5fb618ef6b7ba7e9747d278 /kernel/gsp_sema_service.c
parentdf4099656fe92e11e7baa281ad77160b4e5fe538 (diff)
downloadopen-iov-dcd9ce6b194cfb3a74c2aa39c7fd650fee1e6b99.tar.gz
open-iov-dcd9ce6b194cfb3a74c2aa39c7fd650fee1e6b99.zip
vgsp: SVC_MME_PRELUDE_WORDS 1024->3584 + SIGS 2048, 4-page module pushbuffer (VA_PB3/4 at PT slots 0x103/0x104, VA_DST->0x10b, VA_SEM->0x10c, METHOD_WORDS 4096, pb2 chunk 1->3 pages) - SA table extended past slot 12 (55 slots 0..35,37..53,57,58; mission slots [34,39,40,48,51,57] all IN table), prelude doubled (words=2048 ir_end=0x265 covered=34 code_words=1873); still stubbed by one PC (collect_mask [34..57]; slot 34 entry=0x265==ir_end); temporal pattern: window pages valid only inside channel context, new PA per context, zero at resolve time; next: session re-streaming full-SA push (0x402094c ~2min after GL context) then confirm dropped_mask->0 - SESSION 153 r1162-r1165
Diffstat (limited to 'kernel/gsp_sema_service.c')
-rw-r--r--kernel/gsp_sema_service.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c
index 8f194e9..29d28d6 100644
--- a/kernel/gsp_sema_service.c
+++ b/kernel/gsp_sema_service.c
@@ -14279,11 +14279,16 @@ static void svc_mme_census(const u8 *buf, u32 len, u64 push_va, u32 h_object)
* (svc_mme_ir_cov, instruction granularity) records exactly which IR
* instructions the REPLAY holds so the launch builder can stub every
* called slot whose entry is outside that set (see
- * gsp_sema_mme_ir_covered). The buffer cap itself stays 1024 words: the
- * launch method block is 2048 words and must also carry the window.
- */
-#define SVC_MME_PRELUDE_WORDS 1024u
-#define SVC_MME_PRELUDE_SIGS 512u
+ * gsp_sema_mme_ir_covered). SESSION 153-CONTINUED-77: the buffer cap
+ * rose 1024 -> 2048 -> 3584 words (with the launch method block raised
+ * to 4096 words / four pushbuffer pages) because the fully captured
+ * client prelude exceeded each cap and was silently truncated;
+ * truncation leaves called slots outside the coverage set and keeps
+ * them stubbed. 3584 keeps the worst-case block (cap + 448-word chunk
+ * + init + SA stubs) inside 4096.
+ */
+#define SVC_MME_PRELUDE_WORDS 3584u
+#define SVC_MME_PRELUDE_SIGS 2048u
static u32 svc_mme_prelude_buf[SVC_MME_PRELUDE_WORDS];
static u32 svc_mme_prelude_n;
static u32 svc_mme_prelude_gen;