diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 15:01:59 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 15:01:59 -0400 |
| commit | 0c040b3b8925d01b3e1615b08c4cd6ec7f18d7d4 (patch) | |
| tree | 7fb62fbdcb438a168de47ba8f53c753209f71711 | |
| parent | 6351a2231ee58317d3c7a237192773b46618399c (diff) | |
| download | open-iov-0c040b3b8925d01b3e1615b08c4cd6ec7f18d7d4.tar.gz open-iov-0c040b3b8925d01b3e1615b08c4cd6ec7f18d7d4.zip | |
vgsp: m105 - route every const-bank page through the proven window-0 pool
Only QMD words 32 (param) and 48 (program) went to the engine-proven
window-0 pool; banks 1/3/4/7 (words 34..46) fell to the window-1 scratch
path, which the SM appears not to resolve (m94's pre-SM failure, and the
bank-4 value never reaching the kernel: m104's injected base read back as
zero through the ULDC). Route all bank pages to window-0 (5 of 8 slots
used: 32/34/40/46/48).
| -rw-r--r-- | kernel/gsp_phys_booter.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index f3efb00..5639030 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -16645,7 +16645,10 @@ int gsp_phys_backend_guest_gr_submit(const struct gsp_phys_gr_submit *req, u32 sh_line = boot_stage.rmcall_guest_pt_next_line; bool win0 = (pg->qmd_word == 32u || - pg->qmd_word == 48u) && + pg->qmd_word == 48u || + (pg->qmd_word >= 34u && + pg->qmd_word <= 46u && + !(pg->qmd_word & 1))) && gsp_phys_rmcall_gr_shadow_win0_value() && boot_stage.rmcall_gr_shadow_win0.pages && boot_stage.rmcall_gr_shadow_win0_used < |
