summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-24 02:58:07 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-24 02:58:07 -0400
commit99abc7e426ccb3011fa757bacbdfd5a3b91a2e0c (patch)
tree51dc969ec8ddd4d941fe5318268d91e6ed683cd7
parent4ada4fc3ef135fe0d86751d8817055f3341196be (diff)
downloadopen-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.c22
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,