From b9dca46d47c1fdc65f70e52fc79fbbf8eb4c6c04 Mon Sep 17 00:00:00 2001
From: Laura Abbott <lauraa@codeaurora.org>
Date: Tue, 11 Mar 2014 15:46:44 -0700
Subject: [PATCH] linux-ramdump-parser-v2: Make the MMU detection more generic

Rather than assume a text offset, use one that is already found
as a symbol.

Change-Id: I1ad608085984bb0b658d371858cf01e0732811a3
---
 linux-ramdump-parser-v2/ramdump.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/linux-ramdump-parser-v2/ramdump.py b/linux-ramdump-parser-v2/ramdump.py
index 0f61fa2..a7399d6 100644
--- a/linux-ramdump-parser-v2/ramdump.py
+++ b/linux-ramdump-parser-v2/ramdump.py
@@ -463,10 +463,9 @@ class RamDump():
         # extra 4k is needed for LPAE. If it's 0x5000 below
         # PAGE_OFFSET + TEXT_OFFSET then we know we're using LPAE. For
         # non-LPAE it should be 0x4000 below PAGE_OFFSET + TEXT_OFFSET
-        swapper_pg_dir_addr = self.addr_lookup('swapper_pg_dir')
-        kernel_text_offset = 0x8000
-        pg_dir_size = kernel_text_offset - \
-            (swapper_pg_dir_addr - self.page_offset)
+        self.swapper_pg_dir_addr = self.addr_lookup('swapper_pg_dir') - self.page_offset
+        self.kernel_text_offset = self.addr_lookup('stext') - self.page_offset
+        pg_dir_size = self.kernel_text_offset - self.swapper_pg_dir_addr
         if pg_dir_size == 0x4000:
             print_out_str('Using non-LPAE MMU')
             self.mmu = Armv7MMU(self)
-- 
GitLab