diff options
Diffstat (limited to 'tools/guest-diag/pin_gr_window.py')
| -rw-r--r-- | tools/guest-diag/pin_gr_window.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/guest-diag/pin_gr_window.py b/tools/guest-diag/pin_gr_window.py index 4a968c9..26083f7 100644 --- a/tools/guest-diag/pin_gr_window.py +++ b/tools/guest-diag/pin_gr_window.py @@ -77,9 +77,14 @@ def scan(pid): % (pid, LO, HI, MAXP, PAMAX), 90) pairs = [] for line in out.splitlines(): - m = re.match(r"^(0x[0-9a-f]+),(0x[0-9a-f]+)$", line.strip()) - if m: - pairs.append((int(m.group(1), 16), int(m.group(2), 16))) + m = re.match(r"^(0x[0-9a-f]+),(0x[0-9a-f]+)(?:,(\d+))?$", line.strip()) + if not m: + continue + va = int(m.group(1), 16) + pa = int(m.group(2), 16) + n = int(m.group(3)) if m.group(3) else 1 + for i in range(n): + pairs.append((va + i * 0x1000, pa + i * 0x1000)) return pairs @@ -125,7 +130,7 @@ def probe(va): def main(): - interval = float(sys.argv[1]) if len(sys.argv) > 1 else 2.0 + interval = float(sys.argv[1]) if len(sys.argv) > 1 else 1.0 if not push_helper(): log("FATAL: could not push guest helper") return 1 |
