diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-31 19:57:37 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-31 19:57:37 -0400 |
| commit | dcd9ce6b194cfb3a74c2aa39c7fd650fee1e6b99 (patch) | |
| tree | 333dbdd23273b45eb5fb618ef6b7ba7e9747d278 /kernel/gsp_sema_service.c | |
| parent | df4099656fe92e11e7baa281ad77160b4e5fe538 (diff) | |
| download | open-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.c | 15 |
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; |
