From: Michael Buesch Date: Thu, 19 Jun 2008 19:20:49 +0000 (+0200) Subject: b43-fwdump: Allow a binary SHM dump to stdout. X-Git-Tag: b43-fwcutter-013~31 X-Git-Url: https://jxself.org/git/?p=b43-tools.git;a=commitdiff_plain;h=89a6bd4b6f180a6b3f9185628e0aab7498168f04 b43-fwdump: Allow a binary SHM dump to stdout. The output can be piped to other tools or files. Signed-off-by: Michael Buesch --- diff --git a/debug/b43-fwdump b/debug/b43-fwdump index 4308d60..0e94a30 100755 --- a/debug/b43-fwdump +++ b/debug/b43-fwdump @@ -37,6 +37,7 @@ def usage(): print " an instruction dump." print "-d|--dasmopt OPT Additional options to the disassembler." print "-s|--shm Also dump SHM." + print "-S|--shmbin Do a binary SHM dump, only." return def parseArgs(): @@ -44,16 +45,18 @@ def parseArgs(): global binary global dasmopt global dumpShm + global dumpShmBin phy = None # Autodetect binary = None # No instruction dump dasmopt = "" dumpShm = False + dumpShmBin = False try: (opts, args) = getopt.getopt(sys.argv[1:], - "hp:b:d:s", - [ "help", "phy=", "binary=", "dasmopt=", "shm" ]) + "hp:b:d:sS", + [ "help", "phy=", "binary=", "dasmopt=", "shm", "shmbin" ]) except getopt.GetoptError: usage() sys.exit(1) @@ -70,6 +73,8 @@ def parseArgs(): dasmopt = v if o in ("-s", "--shm"): dumpShm = True + if o in ("-S", "--shmbin"): + dumpShmBin = True return @@ -130,12 +135,17 @@ def main(): gpr = b43.getGprs() lr = b43.getLinkRegs() off = b43.getOffsetRegs() - if dumpShm: + if dumpShm or dumpShmBin: shm = b43.shmSharedRead() dbg = b43.getPsmDebug() psmcond = b43.getPsmConditions() b43.ucodeStart() + if dumpShmBin: + # Only do a binary SHM dump + stdout.write(shm) + sys.exit(0) + print "--- B43 microcode state dump ---" print "PC: %03X PSM-COND: %04X" % (dbg.getPc(), psmcond) print "Link registers:"