From 80268207c46f2e93b1d46b5aea2f2eb9bc469ae7 Mon Sep 17 00:00:00 2001 From: Laura Abbott <lauraa@codeaurora.org> Date: Tue, 11 Mar 2014 14:46:51 -0700 Subject: [PATCH] linux-ramdump-parser-v2: Add sized read functions The return size of read_word may change depending on the architecture. Add functions to read specific types and sizes. Change-Id: I3b9b11c263bf684a8e3783a10dcdc770a6a1b25e --- linux-ramdump-parser-v2/ramdump.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/linux-ramdump-parser-v2/ramdump.py b/linux-ramdump-parser-v2/ramdump.py index 112669f..678e1c6 100644 --- a/linux-ramdump-parser-v2/ramdump.py +++ b/linux-ramdump-parser-v2/ramdump.py @@ -940,6 +940,29 @@ class RamDump(): else: return s[0] + # returns a value guaranteed to be 32 bits + def read_u32(self, address, virtual=True, trace=False, cpu=None): + if trace: + print_out_str('reading {0:x}'.format(address)) + s = self.read_string(address, '<I', virtual, trace, cpu) + if s is None: + return None + else: + return s[0] + + def read_int(self, address, virtual=True, trace=False, cpu=None): + return self.read_u32(address, virtual, trace, cpu) + + # returns a value guaranteed to be 16 bits + def read_u16(self, address, virtual=True, trace=False, cpu=None): + if trace: + print_out_str('reading {0:x}'.format(address)) + s = self.read_string(address, '<H', virtual, trace, cpu) + if s is None: + return None + else: + return s[0] + def read_cstring(self, address, max_length, virtual=True, cpu=None, trace=False): addr = address if virtual: -- GitLab