summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag/read_proc_va.py
blob: c03584088e2aa6b57cd85b28bce7b284feb0fb17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os, sys
pat = sys.argv[1]
vas = [int(a, 16) for a in sys.argv[2:]]
pids = os.popen("pgrep -x " + pat).read().split()
if not pids:
    print("NO-PID"); sys.exit(0)
pid = int(pids[0])
print("pid", pid)
fd = os.open("/proc/%d/mem" % pid, os.O_RDONLY)
for a in vas:
    try:
        os.lseek(fd, a, 0)
        d = os.read(fd, 4)
        print(hex(a), d.hex())
    except OSError as e:
        print(hex(a), "ERR", e)