From ad035dece2657ebdb343ded56a33810622c6d816 Mon Sep 17 00:00:00 2001 From: Soumen Ghosh <soumeng@codeaurora.org> Date: Wed, 8 Feb 2017 11:05:48 +0530 Subject: [PATCH] lrdp_v2:changes for getting serial number This changes to fetch serila number of HW from dump Change-Id: I93ee37feafd9e407fe380761c0e6469fabe40f7d --- linux-ramdump-parser-v2/ramdump.py | 17 +++++++++++++++++ linux-ramdump-parser-v2/ramparse.py | 3 +++ 2 files changed, 20 insertions(+) mode change 100755 => 100644 linux-ramdump-parser-v2/ramdump.py mode change 100755 => 100644 linux-ramdump-parser-v2/ramparse.py diff --git a/linux-ramdump-parser-v2/ramdump.py b/linux-ramdump-parser-v2/ramdump.py old mode 100755 new mode 100644 index e0a379c..8d12608 --- a/linux-ramdump-parser-v2/ramdump.py +++ b/linux-ramdump-parser-v2/ramdump.py @@ -804,6 +804,23 @@ class RamDump(): print_out_str('!!! Could not lookup saved command line address') return False + def print_socinfo(self): + content_socinfo = hex(self.read_pointer('socinfo')) + content_socinfo = content_socinfo.strip('L') + sernum_offset = self.field_offset('struct socinfo_v10', 'serial_number') + if sernum_offset is None: + sernum_offset = self.field_offset('struct socinfo_v0_10', 'serial_number') + if sernum_offset is None: + print_out_str("No serial number information available") + return False + addr_of_sernum = hex(int(content_socinfo, 16) + sernum_offset) + addr_of_sernum = addr_of_sernum.strip('L') + serial_number = self.read_u32(int(addr_of_sernum, 16)) + if serial_number is not None: + print_out_str('Serial number %s' % hex(serial_number)) + return True + return False + def auto_parse(self, file_path): for cls in sorted(AutoDumpInfo.__subclasses__(), key=lambda x: x.priority, reverse=True): diff --git a/linux-ramdump-parser-v2/ramparse.py b/linux-ramdump-parser-v2/ramparse.py old mode 100755 new mode 100644 index 78c77cd..7245e9b --- a/linux-ramdump-parser-v2/ramparse.py +++ b/linux-ramdump-parser-v2/ramparse.py @@ -349,6 +349,9 @@ if __name__ == '__main__': print_out_str('!!! Exiting now...') sys.exit(1) + if not dump.print_socinfo(): + print_out_str('!!! No serial number information available.') + if options.qdss: print_out_str('!!! --parse-qdss is now deprecated') print_out_str( -- GitLab