From 6370acbead279db0bb3ee70d2bbfe2c6bd793ffa Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Thu, 14 Nov 2024 17:28:41 +0100 Subject: [PATCH] radv: Add sparse mappings to radv_check_va.py. Signed-off-by: Hans-Kristian Arntzen Part-of: --- src/amd/vulkan/radv_check_va.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_check_va.py b/src/amd/vulkan/radv_check_va.py index d341691a0db..d9002740ac8 100644 --- a/src/amd/vulkan/radv_check_va.py +++ b/src/amd/vulkan/radv_check_va.py @@ -15,16 +15,28 @@ def main(): with open(bo_history) as f: for line in f: p = re.compile('timestamp=(.*), VA=(.*)-(.*), destroyed=(.*), is_virtual=(.*)') + mapped_p = re.compile('timestamp=(.*), VA=(.*)-(.*), mapped_to=(.*)') m = p.match(line) - if m == None: + mapped_m = mapped_p.match(line) + if m: + va_start = int(m.group(2), 16) + va_end = int(m.group(3), 16) + mapped_va = 0 + elif mapped_m: + va_start = int(mapped_m.group(2), 16) + va_end = int(mapped_m.group(3), 16) + mapped_va = int(mapped_m.group(4), 16) + else: continue - va_start = int(m.group(2), 16) - va_end = int(m.group(3), 16) - # Check if the given VA was ever valid and print info. if va >= va_start and va < va_end: print("VA found: %s" % line, end='') + if mapped_m: + effective_va = (va - va_start) + mapped_va + if mapped_va == 0: + effective_va = 0 + print(" Virtual mapping: %016x -> %016x" % (va, effective_va)) va_found = True if not va_found: print("VA not found!")