summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag/semfix_uvmt.py
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 15:34:18 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 15:34:18 -0400
commit74fb010669c351eb9eeba733fae6e000fdff34dd (patch)
tree951963055429a2bf06757f5ccb9ce495e41d4dae /tools/guest-diag/semfix_uvmt.py
parent8650b225e910e6ba3ac8d2e22c8a4d18453e3b75 (diff)
downloadopen-iov-74fb010669c351eb9eeba733fae6e000fdff34dd.tar.gz
open-iov-74fb010669c351eb9eeba733fae6e000fdff34dd.zip
sema-svc: apply releases before push memsets; poller: bypass read cache
Diffstat (limited to 'tools/guest-diag/semfix_uvmt.py')
-rwxr-xr-xtools/guest-diag/semfix_uvmt.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/guest-diag/semfix_uvmt.py b/tools/guest-diag/semfix_uvmt.py
index fb0e92e..02d4f9e 100755
--- a/tools/guest-diag/semfix_uvmt.py
+++ b/tools/guest-diag/semfix_uvmt.py
@@ -109,21 +109,21 @@ def uvmt_state(q, sem):
cpu_va + idx*4 (its GPU alias is gpu_va + idx*4, the VA the releasing push
writes).
"""
- vals = q.read64(sem, 12)
+ vals = q.read64(sem, 12, cache=False)
if len(vals) < 2 or not is_kern(vals[0]):
return None
- pv = q.read64(vals[0])
+ pv = q.read64(vals[0], cache=False)
if not pv or not is_kern(pv[0]):
return None
mem = pv[0]
- vas = q.read64(mem + 0x10, 16)
+ vas = q.read64(mem + 0x10, 16, cache=False)
cpu = next((v for v in vas if is_kern(v)), None)
gpu = [v for v in vas if is_gpu(v)]
idx = vals[1] & 0xffff
payload = None
word_pa = None
if cpu is not None:
- w = q.read64(cpu + idx * 4)
+ w = q.read64(cpu + idx * 4, cache=False)
payload = w[0] if w else None
word_pa = q.gva2gpa(cpu + idx * 4)
word_va = (gpu[0] + idx * 4) if gpu else None