summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag/wall2/t80r.py
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-25 11:45:58 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-25 11:45:58 -0400
commit91a11327a152cba1b71bf11bc3d13b1358fb35a4 (patch)
tree4018b788742894ba02ae102998b2a483e5a11c11 /tools/guest-diag/wall2/t80r.py
parent7924df70261aad94b919add5778a910b0f9837bd (diff)
downloadopen-iov-91a11327a152cba1b71bf11bc3d13b1358fb35a4.tar.gz
open-iov-91a11327a152cba1b71bf11bc3d13b1358fb35a4.zip
wall2 session 90: current-boot wait site identified (eglcore+0xB2852D in-process word pair wait inside vkCreateInstance; old 0xa85d24/16K sites dead this boot); t83 sampler + widened nudge tools; multi-word nudge trips -4 (caution confirmed)
Diffstat (limited to 'tools/guest-diag/wall2/t80r.py')
-rw-r--r--tools/guest-diag/wall2/t80r.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/guest-diag/wall2/t80r.py b/tools/guest-diag/wall2/t80r.py
new file mode 100644
index 0000000..ac2263b
--- /dev/null
+++ b/tools/guest-diag/wall2/t80r.py
@@ -0,0 +1,32 @@
+import gdb, sys
+inf = gdb.selected_inferior()
+pid = inf.pid
+cands = []
+for line in open("/proc/%d/maps" % pid):
+ if "nvidiactl" in line and "rw-s" in line:
+ parts = line.split()
+ try:
+ lo, hi = [int(x,16) for x in parts[0].split('-')]
+ except Exception:
+ continue
+ if hi - lo == 0x4000:
+ cands.append(lo + 0x80)
+print("CANDIDATES %s" % ["0x%x" % c for c in cands])
+class W(gdb.Breakpoint):
+ def __init__(self, addr):
+ super().__init__("*(unsigned int*)0x%x" % addr, gdb.BP_WATCHPOINT, gdb.WP_READ, internal=False)
+ self.addr = addr
+ self.silent = True
+ def stop(self):
+ print("READWORD 0x%x" % self.addr)
+ return True
+armed = 0
+for c in cands:
+ try:
+ W(c); armed += 1
+ except Exception as e:
+ print("watchfail 0x%x: %s" % (c, e))
+print("ARMED %d" % armed)
+if armed:
+ gdb.execute("continue")
+print("T80R-DONE")