diff options
| -rwxr-xr-x | tools/guest-diag/cycle-r1780.sh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/guest-diag/cycle-r1780.sh b/tools/guest-diag/cycle-r1780.sh index 4fb796a..24bff12 100755 --- a/tools/guest-diag/cycle-r1780.sh +++ b/tools/guest-diag/cycle-r1780.sh @@ -145,6 +145,32 @@ echo "$TAG" > "$RUNDIR/current-tag" for i in $(seq 1 90); do if timeout 5 sudo python3 "$REPO/scripts/vgpu_vm.py" exec "echo CYCLE_UP" 2>/dev/null | grep -q CYCLE_UP; then echo "[cycle $TAG] guest agent up" + # 2026-11-13 (eng9, c198-c203 RCA): arm the GR forward lane. Without + # this block the pump's GR request gate refuses EVERY captured launch + # with "backend not ready" (gsp_phys_backend_gr_ready() is false until + # the rm-call ladder latches boot_stage.rmcall_gr_exec_ok) and the + # backend submit then refuses with -EAGAIN until the guest RAM + # backing is registered: captured GL sections never become + # `GR LAUNCH submitted`, gl_frames reads black (px0=0), work_gr shows + # refused==fallback==req with submitted==0. Trigger 4 alone on a + # fresh session is EXPECTED to fail at stage 1 (NV01_ROOT 0x23): + # trigger 5 adopts the static handles first (docs/eng-ops.md Step 4). + LADDER_LOG="$BACKUP/$TAG-ladder.txt" + : > "$LADDER_LOG" + echo "[cycle $TAG] arm GR lane (rm-call ladder 5->3->4 + guest-ram backing)" + for t in 5 3 4; do + sudo bash -c "echo $t > /sys/kernel/debug/vgsp/gsp-phys-rm-call" 2>>"$LADDER_LOG" || true + sleep 4 + done + sudo dmesg -T 2>/dev/null | grep -E "rm-call: (stage|ladder|REAL GR)|ladder at stage" | tail -10 >> "$LADDER_LOG" || true + sudo bash -c "echo '$U /dev/shm/vgpu-guest-ram 0x80000000 0x0 0x300000000' > /sys/kernel/debug/vgsp/gsp-phys-guest-ram" 2>>"$LADDER_LOG" || true + sleep 1 + sudo cat /sys/kernel/debug/vgsp/gsp-phys-state 2>/dev/null | grep -E "work_gr|guest_ram:" | cut -c1-220 >> "$LADDER_LOG" || true + if grep -q "ladder at stage 4" "$LADDER_LOG"; then + echo "[cycle $TAG] GR lane armed (ladder stage 4; guest-ram configured; log: $LADDER_LOG)" + else + echo "[cycle $TAG] WARN: GR lane arm incomplete (see $LADDER_LOG); cycle still usable" + fi exit 0 fi sleep 2 |
