From 8d02f6cfea0a0fb7fa136e64b32e9029bd1f9a79 Mon Sep 17 00:00:00 2001
From: Mitchel Humpherys <mitchelh@codeaurora.org>
Date: Fri, 7 Mar 2014 15:15:36 -0800
Subject: [PATCH] lrdp-v2: automatically lookup addresses when needed

Add support to RamDump.virt_to_phys for automatically looking up
addresses of symbols when a string is passed in. This will simplify code
that uses the RamDump.read_* routines.

Old way:

    mydata_addr = ramdump.addr_lookup('data_var')
    mydata2_addr = ramdump.addr_lookup('data2_var')

    mydata = ramdump.read_word(mydata_addr)
    mydata2 = ramdump.read_word(mydata2_addr)

New way:

    mydata = ramdump.read_word('data_var')
    mydata2 = ramdump.read_word('data2_var')

Of course, the "Old way" will still work.

Change-Id: I0c006f5135b48f8385d2107d9b9d2fe767a266b0
---
 linux-ramdump-parser-v2/ramdump.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/linux-ramdump-parser-v2/ramdump.py b/linux-ramdump-parser-v2/ramdump.py
index a0cdaa9..71d89b9 100644
--- a/linux-ramdump-parser-v2/ramdump.py
+++ b/linux-ramdump-parser-v2/ramdump.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+# Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version 2 and
@@ -808,6 +808,10 @@ class RamDump():
         return True
 
     def virt_to_phys(self, virt):
+        if isinstance(virt, basestring):
+            virt = self.addr_lookup(virt)
+            if virt is None:
+                return
         return self.mmu.virt_to_phys(virt)
 
     def setup_symbol_tables(self):
-- 
GitLab