summaryrefslogtreecommitdiffstats
path: root/tools/guest-diag/pin_gr_window.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/guest-diag/pin_gr_window.py')
-rw-r--r--tools/guest-diag/pin_gr_window.py13
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