From bebe9318d8369251ac1cff916f75401b5a3f0cd0 Mon Sep 17 00:00:00 2001
From: Soumen Ghosh <soumeng@codeaurora.org>
Date: Wed, 25 Oct 2017 15:21:42 +0530
Subject: [PATCH] lrdp-v2:Minidump parsing support for kernel version 4.9      
   In the latest kernel version minidump_table structure got changed. Some
 emelments are removed.         like smem_table, version. In those information
 anyhow is not being used in ramparser. So removed all those elements
 Change-Id: Ibce7ab2515737a7871c1f9df70d4eddee64bdc09

---
 linux-ramdump-parser-v2/boards.py         | 1 +
 linux-ramdump-parser-v2/debug_image_v2.py | 9 ---------
 linux-ramdump-parser-v2/ramdump.py        | 2 +-
 3 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/linux-ramdump-parser-v2/boards.py b/linux-ramdump-parser-v2/boards.py
index 82e6999..851a110 100644
--- a/linux-ramdump-parser-v2/boards.py
+++ b/linux-ramdump-parser-v2/boards.py
@@ -449,6 +449,7 @@ class BoardSDM670(Board):
         self.cpu = 'CORTEXA53'
         self.ram_start = 0x80000000
         self.smem_addr = 0x6000000
+        self.smem_addr_buildinfo = 0x6007210
         self.phys_offset = 0x80000000
         self.imem_start = 0x14680000
         self.kaslr_addr = 0x146bf6d0
diff --git a/linux-ramdump-parser-v2/debug_image_v2.py b/linux-ramdump-parser-v2/debug_image_v2.py
index 9fc51cb..6958c07 100644
--- a/linux-ramdump-parser-v2/debug_image_v2.py
+++ b/linux-ramdump-parser-v2/debug_image_v2.py
@@ -753,10 +753,6 @@ class DebugImage_v2():
                         self, dump_data_version, dump_data_addr,
                         dump_data_addr + dump_data_len, client_id, ram_dump)
         else:
-            dump_smem_table_ptr_offset = ram_dump.field_offset(
-                'struct md_table', 'md_smem_table')
-            dump_table_version_offset = ram_dump.field_offset(
-                'struct md_smem_table', 'version')
             dump_table_num_entry_offset = ram_dump.field_offset(
                 'struct md_table', 'num_regions')
             dump_table_entry_offset = ram_dump.field_offset(
@@ -779,11 +775,6 @@ class DebugImage_v2():
             mem_dump_table = ram_dump.read_word(
                 mem_dump_data + dump_table_entry_offset)
 
-            mem_dump_smem_table = ram_dump.read_word(
-                mem_dump_data + dump_smem_table_ptr_offset)
-
-            mem_table_version = ram_dump.read_u32(
-                mem_dump_smem_table + dump_table_version_offset)
             mem_table_num_entry = ram_dump.read_u32(
                 mem_dump_data + dump_table_num_entry_offset)
 
diff --git a/linux-ramdump-parser-v2/ramdump.py b/linux-ramdump-parser-v2/ramdump.py
index 7d244d1..2a2132b 100644
--- a/linux-ramdump-parser-v2/ramdump.py
+++ b/linux-ramdump-parser-v2/ramdump.py
@@ -972,7 +972,7 @@ class RamDump():
             startup_script.write('data.load.binary {0} 0x{1:x}\n'.format(
                 ebi_path, ram[1]).encode('ascii', 'ignore'))
         if self.minidump:
-            dload_ram_elf = 'data.load.elf {} /LOGLOAD /nosymbol\n'.format(self.ram_elf_file)
+            dload_ram_elf = 'data.load.elf {} /LOGLOAD /nosymbol\n'.format(os.path.abspath(self.ram_elf_file))
             startup_script.write(dload_ram_elf.encode('ascii', 'ignore'))
 
         if not self.minidump:
-- 
GitLab