From 0347383a33b5a835449d33e42c1cca03923c9c28 Mon Sep 17 00:00:00 2001
From: Ankur Bansal <ankban@codeaurora.org>
Date: Tue, 21 Aug 2018 17:30:46 +0530
Subject: [PATCH] lrdp_V2: Fix for broken reserved_mem.py

Fix for broken reserved_mem.py in case of cma area dump.
if CONFIG_MEMORY_HOTPLUG is enabled then SECTION_SIZE_BITS is
CONFIG_HOTPLUG_SIZE_BITS else it is 30.

Signed-off-by: Ankur Bansal <ankban@codeaurora.org>
Change-Id: Iaceb6d1c0f2753d94d420e9d9f8cacff3a6b57d4
---
 linux-ramdump-parser-v2/parsers/reserved_mem.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/linux-ramdump-parser-v2/parsers/reserved_mem.py b/linux-ramdump-parser-v2/parsers/reserved_mem.py
index f45e526..bf394b0 100644
--- a/linux-ramdump-parser-v2/parsers/reserved_mem.py
+++ b/linux-ramdump-parser-v2/parsers/reserved_mem.py
@@ -81,7 +81,14 @@ def page_trace(ramdump, pfn):
     phys = pfn << 12
     if phys is None or phys is 0:
         return
-    offset = phys >> 30
+
+    if ramdump.is_config_defined('CONFIG_MEMORY_HOTPLUG'):
+        section_size_bits = int(ramdump.get_config_val(
+                                'CONFIG_HOTPLUG_SIZE_BITS'))
+        offset = phys >> section_size_bits
+    else:
+        offset = phys >> 30
+
     if ramdump.is_config_defined("CONFIG_SPARSEMEM"):
         mem_section_0_offset = (mem_section + (offset * mem_section_size))
         page_ext = ramdump.read_word(
-- 
GitLab