From 9b801327ffd9e3f2e1f031f9f3752f3ffe3240fd Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Tue, 3 Nov 2026 15:35:16 -0500 Subject: vgsp-sph: emit j=2/j=5 REGISTER_COUNT/BINDING records in the SPH-bind prelude (guard 13u->19u, headers 0x20020823/0x20020853, values 0x1a/0x0) - supplies the per-stage validation input the DS checks on the synthesized stage slots (a2040x00/SPH9 wall); constants shaped from the captured j=1 record, fail-closed (no relocation) --- kernel/gsp_phys_booter.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'kernel/gsp_phys_booter.c') diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index 5a5412e..9774869 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -27299,7 +27299,7 @@ gr_page_unmapped: * from guest RAM (`20020825 [0,04400200]`, * `20020855 [0,04400000]`). */ - if (nfin + 13u <= 64u) { + if (nfin + 19u <= 64u) { in[nfin++] = 0x20000000u | (2u << 16) | (0x2094u >> 2); in[nfin++] = (u32)((fam + 0x200u) >> 32) & 0xffu; @@ -27328,6 +27328,22 @@ gr_page_unmapped: in[nfin++] = 0x20000000u | (1u << 16) | (0x2140u >> 2); in[nfin++] = 1u | (5u << 4); + /* + * SESSION 153-CONTINUED-90: the per-stage + * REGISTER_COUNT/BINDING records for the + * synthesized j=2/j=5 slots - the DS SPH + * validation's last missing per-stage input; + * same shape as the captured stage-1 pair + * (reg count 26, group 0). + */ + in[nfin++] = 0x20000000u | (2u << 16) | + (0x208cu >> 2); + in[nfin++] = 0x1au; + in[nfin++] = 0x0u; + in[nfin++] = 0x20000000u | (2u << 16) | + (0x214cu >> 2); + in[nfin++] = 0x1au; + in[nfin++] = 0x0u; /* * SESSION 153-CONTINUED-89: the client's * init-push stage-1 REGISTER_COUNT/BINDING -- cgit v1.2.3