summaryrefslogtreecommitdiffstats
path: root/src/tools/debug
diff options
context:
space:
mode:
authorspashabk-in <shakeebbk@in.ibm.com>2016-12-29 01:11:11 -0600
committerAMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>2017-02-03 05:09:45 -0500
commitc835670e2a0e0ba4061fb535a40c55f2532183f1 (patch)
tree64d41bd53c1503c0fda5eb7a9cb248450079c20e /src/tools/debug
parent86844d608200c72970e2fca8fe802892b67ebac9 (diff)
downloadtalos-sbe-c835670e2a0e0ba4061fb535a40c55f2532183f1.tar.gz
talos-sbe-c835670e2a0e0ba4061fb535a40c55f2532183f1.zip
DD2 image infrastructure
Change-Id: Iacd98b961f87b805fab788f004d87880c4f5f7e0 cmvc-req:1013262 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34241 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
Diffstat (limited to 'src/tools/debug')
-rwxr-xr-xsrc/tools/debug/sbe-debug.py30
-rwxr-xr-xsrc/tools/debug/simics-debug-framework.py9
2 files changed, 25 insertions, 14 deletions
diff --git a/src/tools/debug/sbe-debug.py b/src/tools/debug/sbe-debug.py
index c944548d..aab8d645 100755
--- a/src/tools/debug/sbe-debug.py
+++ b/src/tools/debug/sbe-debug.py
@@ -6,7 +6,7 @@
#
# OpenPOWER sbe Project
#
-# Contributors Listed Below - COPYRIGHT 2016
+# Contributors Listed Below - COPYRIGHT 2016,2017
# [+] International Business Machines Corp.
#
#
@@ -41,11 +41,11 @@ else:
baseAddr = 0xfffe8000
-def fillSymTable(sbeObjDir, target ):
+def fillSymTable(sbeObjDir, target, ddsuffix ):
if (target == 'AWAN'):
symFile = sbeObjDir + "/sim.sbe.syms"
else:
- symFile = sbeObjDir + "/sbe.syms"
+ symFile = sbeObjDir + "/sbe"+ddsuffix+".syms"
f = open( symFile, 'r' )
for line in f:
words = line.split()
@@ -58,7 +58,7 @@ def getOffset( symbol ):
offset = int(symAddr, base = 16) - baseAddr;
return hex(offset)
-def collectTrace( sbeObjDir, target, node, proc ):
+def collectTrace( sbeObjDir, target, node, proc, ddsuffix ):
offset = getOffset( 'g_pk_trace_buf' );
len = "0x" + syms['g_pk_trace_buf'][1];
cmd1 = ("p9_pibmem_dump_wrap.exe -quiet -start_byte " + \
@@ -67,7 +67,7 @@ def collectTrace( sbeObjDir, target, node, proc ):
" -n" + str(node) + " -p" + str(proc))
cmd2 = sbeObjDir + "/ppe2fsp DumpPIBMEM sbetrace.bin "
cmd3 = (sbeObjDir + "/fsp-trace -s " + sbeObjDir +\
- "/sbeStringFile sbetrace.bin > "+\
+ "/sbeStringFile"+ddsuffix+" sbetrace.bin > "+\
"sbe_"+str(proc)+"_tracMERG")
cmd4 = "mv DumpPIBMEM dumpPibMem_trace"
print "\ncollecting trace with commands -\n"
@@ -95,11 +95,11 @@ def collectTrace( sbeObjDir, target, node, proc ):
print "ERROR running %s: %d " % ( cmd4, rc )
return 1
-def collectAttr( sbeObjDir, target, node, proc ):
+def collectAttr( sbeObjDir, target, node, proc, ddsuffix ):
if (target == 'AWAN'):
sbeImgFile = "p9n_10.sim.sbe_seeprom.bin"
else:
- sbeImgFile = "sbe_seeprom.bin"
+ sbeImgFile = "sbe_seeprom"+ddsuffix+".bin"
offset = getOffset( 'G_sbe_attrs' );
len = "0x" + syms['G_sbe_attrs'][1];
cmd1 = ("p9_pibmem_dump_wrap.exe -quiet -start_byte " + \
@@ -210,7 +210,8 @@ optional arguments:\n\
-t {AWAN,HW,FILE}, --target {AWAN,HW,FILE}\n\
Target type\n\
-n NODE, --node NODE Node Number\n\
- -p PROC, --proc PROC Proc Number"
+ -p PROC, --proc PROC Proc Number\n\
+ -d DDLEVEL, --ddlevel DD Specific image identifier"
def main( argv ):
try:
@@ -225,6 +226,7 @@ def main( argv ):
target = 'HW'
node = 0
proc = 0
+ ddsuffix = 'DD1'
# Parse the command line arguments
for opt, arg in opts:
@@ -255,6 +257,12 @@ def main( argv ):
except:
print "proc should be an integer number"
exit(1)
+ elif opt in ('-d', '--ddlevel'):
+ if arg in ('DD1', 'DD2'):
+ ddsuffix = arg
+ else:
+ print "target should be one of {DD1, DD2}"
+ exit(1)
# On cronus, save the existing FIFO mode
cmdFifoLastState = subprocess.Popen(['getconfig','USE_SBE_FIFO'], stdout=subprocess.PIPE).communicate()[0]
@@ -273,11 +281,11 @@ def main( argv ):
sbeObjDir = SBE_TOOLS_PATH;
print "sbeObjDir", sbeObjDir
- fillSymTable(sbeObjDir, target)
+ fillSymTable(sbeObjDir, target, ddsuffix)
if ( level == 'all' ):
print "Parsing everything"
- collectTrace( sbeObjDir, target, node, proc )
- collectAttr( sbeObjDir, target, node, proc )
+ collectTrace( sbeObjDir, target, node, proc, ddsuffix )
+ collectAttr( sbeObjDir, target, node, proc, ddsuffix )
sbeStatus( node, proc )
elif ( level == 'trace' ):
collectTrace( sbeObjDir, target, node, proc )
diff --git a/src/tools/debug/simics-debug-framework.py b/src/tools/debug/simics-debug-framework.py
index c5966fa1..186f41d3 100755
--- a/src/tools/debug/simics-debug-framework.py
+++ b/src/tools/debug/simics-debug-framework.py
@@ -5,7 +5,7 @@
#
# OpenPOWER sbe Project
#
-# Contributors Listed Below - COPYRIGHT 2016
+# Contributors Listed Below - COPYRIGHT 2016,2017
# [+] International Business Machines Corp.
#
#
@@ -68,7 +68,9 @@ def register_sbe_debug_framework_tools():
def fillSymTable():
# symFile = os.environ['SBE_IMG_OUT_LOC'] + "/sbe.syms"
- symFile = SBE_TOOLS_PATH + "/sbe.syms"
+# TODO via RTC:168436 - figure out the DD level from simics flag,
+# as of now defaulting to DD1
+ symFile = SBE_TOOLS_PATH + "/sbe_DD1.syms"
# symFile = os.environ['sb'] + "/../obj/ppc/sbei/sbfw/simics/sbe.syms"
f = open( symFile, 'r')
for line in f:
@@ -112,7 +114,8 @@ 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\""
cmd2 = "shell \"" + SBE_TOOLS_PATH + "/ppe2fsp ppetrace.bin sbetrace.bin \""
- cmd3 = "shell \"" + "fsp-trace -s " + SBE_TOOLS_PATH + "/sbeStringFile sbetrace.bin >" + fileName + "\""
+# TODO via RTC:168436 - figure out the DD level from simics flag, as of now defaulting to DD1
+ cmd3 = "shell \"" + "fsp-trace -s " + SBE_TOOLS_PATH + "/sbeStringFile_DD1 sbetrace.bin >" + fileName + "\""
cmd4 = "shell \"" + "cat " + fileName + "\""
( rc, out ) = quiet_run_command( cmd1, output_modes.regular )
OpenPOWER on IntegriCloud