diff options
Diffstat (limited to 'src/tools/debug/simics-debug-framework.py')
-rwxr-xr-x | src/tools/debug/simics-debug-framework.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/tools/debug/simics-debug-framework.py b/src/tools/debug/simics-debug-framework.py index 35485dd0..077ed850 100755 --- a/src/tools/debug/simics-debug-framework.py +++ b/src/tools/debug/simics-debug-framework.py @@ -30,7 +30,9 @@ import random import sys import imp import struct + testIstepAuto = imp.load_source("testIstepAuto", os.environ['SBE_TOOLS_PATH'] + "/testIstepAuto.py") +sbeDebug = imp.load_source("sbeDebug", os.environ['SBE_TOOLS_PATH'] + "/sbe-debug.py") err = False syms = {}; @@ -83,10 +85,17 @@ def register_sbe_debug_framework_tools(): type = ["sbe-commands"], short = "Runs the debug framework for dd level ", doc = "") + new_command("sbe-attrdump", collectAttr, + args = [arg(int_t, "procNr")], + alias = "sattrdump", + type = ["sbe-commands"], + short = "Runs the debug framework for runtime attribute dump ", + doc = "") print "SBE Debug Framework: Registered tool:", "sbe-istep" print "SBE Debug Framework: Registered tool:", "sbe-trace" print "SBE Debug Framework: Registered tool:", "sbe-stack" print "SBE Debug Framework: Registered tool:", "sbe-ddlevel" + print "SBE Debug Framework: Registered tool:", "sbe-attrdump" def fillSymTable(): @@ -129,6 +138,15 @@ def collectStackUsage ( procNr ): break print str("["+thread+"]").ljust(40) + str(leastAvailable).ljust(30) + str("%.2f" % (100 * (1 - (leastAvailable/float(int("0x"+syms[thread][1], 16)))))) +def collectAttr( procNr ): + cmd1= "pipe \"p9Proc" + `procNr` + ".sbe.mibo_space.x " + '0xFFFE8000' + " "+hex(96*1024)+"\" \"sed 's/^p:0x........ //g' | sed 's/ ................$//g' | sed 's/ //g' | xxd -r -p> pibmemdump.bin\"" + ( rc, out ) = quiet_run_command( cmd1, output_modes.regular ) + if ( rc ): + print "simics ERROR running %s: %d "%( cmd1, rc ) + ddlevel = get_dd_level(procNr) + sbeDebug.fillSymTable('FILE', ddlevel) + sbeDebug.collectAttr('FILE', 0, procNr, ddlevel, 'pibmemdump.bin') + def collectTrace ( procNr ): fileName = "sbe_" + `procNr` + "_tracMERG" cmd1 = "pipe \"p9Proc" + `procNr` + ".sbe.mibo_space.x 0x" + syms['g_pk_trace_buf'][0] + " 0x2028\" \"sed 's/^p:0x........ //g' | sed 's/ ................$//g' | sed 's/ //g' | xxd -r -p> ppetrace.bin\"" |