diff --git a/linux-ramdump-parser-v2/parsers/pagetracking.py b/linux-ramdump-parser-v2/parsers/pagetracking.py index 0e97cfc38eeadd32e9a9bbd9d572f102e2f58fe7..d21165cac22949f8769b54ca16c0e298f147077c 100644 --- a/linux-ramdump-parser-v2/parsers/pagetracking.py +++ b/linux-ramdump-parser-v2/parsers/pagetracking.py @@ -111,7 +111,12 @@ class PageTracking(RamParser): phys = pfn << 12 if phys is None or phys is 0: continue - offset = phys >> 30 + if self.ramdump.is_config_defined('CONFIG_MEMORY_HOTPLUG'): + section_size_bits = int(self.ramdump.get_config_val( + 'CONFIG_HOTPLUG_SIZE_BITS')) + offset = phys >> section_size_bits + else: + offset = phys >> 30 if self.ramdump.is_config_defined('CONFIG_SPARSEMEM'): mem_section_0_offset = (