summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.c
diff options
context:
space:
mode:
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;