diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-25 11:45:58 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-25 11:45:58 -0400 |
| commit | 91a11327a152cba1b71bf11bc3d13b1358fb35a4 (patch) | |
| tree | 4018b788742894ba02ae102998b2a483e5a11c11 /tools/guest-diag/wall2/t80r.py | |
| parent | 7924df70261aad94b919add5778a910b0f9837bd (diff) | |
| download | open-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.py | 32 |
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") |
