diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-24 02:58:07 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-24 02:58:07 -0400 |
| commit | 99abc7e426ccb3011fa757bacbdfd5a3b91a2e0c (patch) | |
| tree | 51dc969ec8ddd4d941fe5318268d91e6ed683cd7 | |
| parent | 4ada4fc3ef135fe0d86751d8817055f3341196be (diff) | |
| download | open-iov-99abc7e426ccb3011fa757bacbdfd5a3b91a2e0c.tar.gz open-iov-99abc7e426ccb3011fa757bacbdfd5a3b91a2e0c.zip | |
r596 diag: print the raw-prelude geometry the verbatim gate tests (bounded)
The r595 A/B could not be judged from the log: with prelude=1 the r593
boot never reached the build path (r590b deferred first) and no
geometry line existed. Print raw presence/raw_words/hdr/end/want_end for
the first eight prelude-gated launches so the gate is verifiable.
r599 measurement: raw=1 raw_words=210 hdr=138 end=205 want_end=205 -
the gate IS met; the verbatim prelude is replayed (words=205) but the
launch then completes with qmd_rel=0x00000000 after an 8.9 s stall
(engine never ran; software release), so prelude=1 breaks the launch.
| -rw-r--r-- | kernel/gsp_phys_booter.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index 7ba74ce..46060b1 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -20544,6 +20544,28 @@ gr_page_unmapped: gsp_phys_rmcall_gr_qmdvirt_value(), boot_stage.rmcall_token, qmd_rel, want_ch, poll_ms, qmdwin_note); + { + /* + * r596 diag: the raw-prelude geometry the verbatim gate tests. + * The verbatim replay needs + * raw && raw_words >= hdr + 67 && + * raw_qmd_end == hdr + 67 && + * INIT_WORDS + hdr + 67 + TAIL_WORDS <= METHOD_WORDS + * Bounded to the first eight launches so the geometry is on + * record without flooding a battery run. + */ + static u32 prelude_geom_log; + + if (gsp_phys_rmcall_gr_prelude_value() && prelude_geom_log < 8) { + prelude_geom_log++; + pr_info("vgsp-gr: prelude geom raw=%u raw_words=%u hdr=%u end=%u want_end=%u v=%d\n", + req->raw ? 1u : 0u, req->raw_words, + req->raw_qmd_hdr, req->raw_qmd_end, + req->raw_qmd_hdr + + GSP_PHYS_RMCALL_GR_QMD_WINDOW_WORDS, + gsp_phys_rmcall_gr_prelude_value()); + } + } if (qmd_win_diag) pr_info("vgsp-gr: qmd dest va=0x%llx pdeIndex=%u installed=%u win_mask=0x%llx ensure_ret=%d\n", qmd_dst, qmd_win_pde, qmd_win_installed, |
