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