diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-03 15:35:16 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-03 15:35:16 -0500 |
| commit | 9b801327ffd9e3f2e1f031f9f3752f3ffe3240fd (patch) | |
| tree | 868e3cd23c2c3facbd19691afc139fbd8ac53e86 | |
| parent | b0171765c06af069210893b29c43fd9179e2cfd2 (diff) | |
| download | open-iov-9b801327ffd9e3f2e1f031f9f3752f3ffe3240fd.tar.gz open-iov-9b801327ffd9e3f2e1f031f9f3752f3ffe3240fd.zip | |
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)
| -rw-r--r-- | kernel/gsp_phys_booter.c | 18 |
1 files changed, 17 insertions, 1 deletions
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; @@ -27329,6 +27329,22 @@ gr_page_unmapped: (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 * pair (`20020813 0000001a 00000000` in the |
