X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=contrib%2Fdebug_tools%2Fepython_scripts%2Fcrashlib%2Faddrlib.py;fp=contrib%2Fdebug_tools%2Fepython_scripts%2Fcrashlib%2Faddrlib.py;h=d06a7697e3919b6860517ca40fc3f96a98536d89;hp=0000000000000000000000000000000000000000;hb=4249b02f5c4c8a14faa0b88479b8eac75b212617;hpb=0cc48c4adbe540f8e529f80e4262b6ff47649e7c diff --git a/contrib/debug_tools/epython_scripts/crashlib/addrlib.py b/contrib/debug_tools/epython_scripts/crashlib/addrlib.py new file mode 100644 index 0000000..d06a769 --- /dev/null +++ b/contrib/debug_tools/epython_scripts/crashlib/addrlib.py @@ -0,0 +1,22 @@ + +""" +Set of routines for manipulating addresses. +Copyright 2014 Cray Inc. All Rights Reserved +""" + +import crashlib.cid +import crashlib.cid.machdep_table + +# -------------------------------------------------------------------------- + +def ptov(physaddr): + """Convert a physical address to a kernel virtual address.""" + return int(physaddr) + crashlib.cid.mdtbl.kvbase + +def phys2pfn(physaddr): + """Convert a physical address to a page offset.""" + return physaddr >> crashlib.cid.mdtbl.pageshift + +def pfn2phys(pfn): + """Convert a page offset into a physical address.""" + return pfn << crashlib.cid.mdtbl.pageshift