summaryrefslogtreecommitdiffstats
path: root/src/tools/debug/simics-debug-framework.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/debug/simics-debug-framework.py')
-rwxr-xr-xsrc/tools/debug/simics-debug-framework.py18
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\""
OpenPOWER on IntegriCloud