diff options
Diffstat (limited to 'kernel/gsp_phys_booter.c')
| -rw-r--r-- | kernel/gsp_phys_booter.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index e1563dd..8756d83 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -18437,6 +18437,26 @@ static bool gsp_phys_gr_slot_golden_blank(u32 j) } /* + * eng28 (CONT.490): golden READY. With the golden overlay forced (mode 2, + * sema_gl_mme_golden + sema_gl_mme_golden_force), the pack fills every + * called slot from the driver-emitted golden program whether or not the + * client's 0x114 IRAM upload was captured, and golden-only blanks every + * body the library cannot serve (fail-closed). In that state the captured + * macro program is no longer a PREREQUISITE for a safe first launch, so + * the service's immature-skip gate (see svc_gr_request) must not + * software-complete beef 3D windows that the golden program can serve. + * The client's own state pushes (clear colour + CLEAR_SURFACE + MME macro + * calls) then reach the engine - without this the whole draw-state stream + * was consumed with zero engine contact on boots whose setup push never + * became readable. + */ +bool gsp_phys_gr_golden_ready(void) +{ + return READ_ONCE(gsp_phys_rmcall_gr_mme_golden) && + READ_ONCE(gsp_phys_rmcall_gr_mme_golden_force); +} + +/* * SESSION 153-CONTINUED-79: per-launch method-block word cap + prelude drain. * The r1172-r1175 A/B: every beef launch whose emitted block exceeded ~2000 * words (3083-word full-SA prelude + window, 3315-3484 words) NEVER STARTED |
