summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-30 18:59:02 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-30 18:59:02 -0400
commit837d640e2e00c5bfdec610087c0ab12cd9726177 (patch)
tree769af1d8ac722e198f3d1f3f9f9b20640726f178 /tools/guest-diag
parent94d10b71781d52d52a40a6ebbf33cbb862931e73 (diff)
downloadopen-iov-837d640e2e00c5bfdec610087c0ab12cd9726177.tar.gz
open-iov-837d640e2e00c5bfdec610087c0ab12cd9726177.zip
vgsp: 3D flush gate fix (built-in chunk bound, not bisect knob), pushzero zero-content rescue (probe PROMOTE_CTX, src=9), CHUNK1 dump, SET_INDEX_BUFFER+vertex-stream collection; publish GPFIFO entry at engine GP_GET (PUT-GET=1); win_drop 0x parser fix - beef chunks still PBDMA-stop at 0x1160 attr run (hdr=20030458 INC m=0x1160 cnt=3) while X retires ch_rel=0xc0ffee02 same boot - SESSION 153 r1034-r1041
Diffstat (limited to 'tools/guest-diag')
-rw-r--r--tools/guest-diag/pin_gr_stream.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/guest-diag/pin_gr_stream.py b/tools/guest-diag/pin_gr_stream.py
index de2e706..776b440 100644
--- a/tools/guest-diag/pin_gr_stream.py
+++ b/tools/guest-diag/pin_gr_stream.py
@@ -250,9 +250,16 @@ def _demand_loop():
# demand above). Harvest it so the guest resolves and
# injects the page.
r"|sema-pushdec: h=0x[0-9a-f]+ va=(0x[0-9a-f]+)"
- r"[^\n]*unreadable=1",
+ r"[^\n]*unreadable=1"
+ # SESSION 153-CONTINUED-46: a big GL push whose trusted
+ # chain answered an all-zero page is the beef draw that
+ # never captures ("sema-pushzero: ... rescued=0"). The
+ # promote rescue inside the read may heal it; when it
+ # cannot, the guest content resolver is the last source -
+ # harvest the VA so it resolves and injects the real page.
+ r"|sema-pushzero: h=0x[0-9a-f]+ va=(0x[0-9a-f]+)",
(r.stdout or "")[-200000:]):
- va = int(m.group(1) or m.group(2), 16)
+ va = int(m.group(1) or m.group(2) or m.group(3), 16)
track.setdefault(va, [now, 0.0])
for va in list(track):
first, last = track[va]