diff options
| author | spashabk-in <shakeebbk@in.ibm.com> | 2016-12-29 01:11:11 -0600 |
|---|---|---|
| committer | AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com> | 2017-02-03 05:09:45 -0500 |
| commit | c835670e2a0e0ba4061fb535a40c55f2532183f1 (patch) | |
| tree | 64d41bd53c1503c0fda5eb7a9cb248450079c20e /src/tools/debug | |
| parent | 86844d608200c72970e2fca8fe802892b67ebac9 (diff) | |
| download | talos-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-x | src/tools/debug/sbe-debug.py | 30 | ||||
| -rwxr-xr-x | src/tools/debug/simics-debug-framework.py | 9 |
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 ) |

