From 7fba3cd48361ea639913e1b98f080450d7aa5f4f Mon Sep 17 00:00:00 2001 From: Laura Abbott <lauraa@codeaurora.org> Date: Mon, 18 Aug 2014 13:34:51 -0700 Subject: [PATCH] linux-ramdump-parser-v2: Update pagetracking for arm64 The sizes of pointers are now different for arm64. Update the few places where we should read a pointer size vs. regular int. Change-Id: Ib768a73ead973566ce6e7a86bcb8ace32a93b0d5 --- linux-ramdump-parser-v2/parsers/pagetracking.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/linux-ramdump-parser-v2/parsers/pagetracking.py b/linux-ramdump-parser-v2/parsers/pagetracking.py index 3f10065..54712f7 100644 --- a/linux-ramdump-parser-v2/parsers/pagetracking.py +++ b/linux-ramdump-parser-v2/parsers/pagetracking.py @@ -38,6 +38,7 @@ class PageTracking(RamParser): out_tracking = self.ramdump.open_file('page_tracking.txt') out_frequency = self.ramdump.open_file('page_frequency.txt') sorted_pages = {} + trace_entry_size = self.ramdump.sizeof("unsigned long") for pfn in range(min_pfn, max_pfn): page = pfn_to_page(self.ramdump, pfn) @@ -46,7 +47,7 @@ class PageTracking(RamParser): if page_buddy(self.ramdump, page): continue - nr_trace_entries = self.ramdump.read_word( + nr_trace_entries = self.ramdump.read_int( page + trace_offset + nr_entries_offset) if nr_trace_entries <= 0 or nr_trace_entries > 16: @@ -57,7 +58,7 @@ class PageTracking(RamParser): alloc_str = '' for i in range(0, nr_trace_entries): addr = self.ramdump.read_word( - page + trace_entries_offset + i * 4) + page + trace_entries_offset + i * trace_entry_size) if addr == 0: break -- GitLab