diff options
author | spashabk-in <shakeebbk@in.ibm.com> | 2017-06-12 07:17:05 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-07-13 23:19:53 -0400 |
commit | d5b13f287b1b63f968f513d918468909d0dd1987 (patch) | |
tree | fda51f730d95f867ec2c1e1d423017a02296351f /src/tools/debug | |
parent | fbba33a797f75f41b74bbb5f5ccfc763f78c31de (diff) | |
download | talos-sbe-d5b13f287b1b63f968f513d918468909d0dd1987.tar.gz talos-sbe-d5b13f287b1b63f968f513d918468909d0dd1987.zip |
Mapping register value to names in ppestate dump
Implement the mapping of register values to their names
for ppestate dump using sbe-debug.py
Change-Id: Ie92cc09d7afb0c3f59120b5c5f1846e3890753b6
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41675
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/tools/debug')
-rwxr-xr-x | src/tools/debug/sbe-debug.py | 83 |
1 files changed, 80 insertions, 3 deletions
diff --git a/src/tools/debug/sbe-debug.py b/src/tools/debug/sbe-debug.py index 4dc20e05..f414a1c6 100755 --- a/src/tools/debug/sbe-debug.py +++ b/src/tools/debug/sbe-debug.py @@ -293,15 +293,92 @@ def collectStackUsage (node, proc ): def ppeState( target, node, proc, file_path ): if(target == 'FILE'): + regNameMapSPR = { + # SPRs and XIR + 9 : ["CTR", False], + 316 : ["DACR", False], + 308 : ["DBCR", False], + 22 : ["DEC", False], + 61 : ["EDR", False], + 63 : ["IVPR", False], + 62 : ["ISR", False], + 8 : ["LR", False], + 286 : ["PIR", False], + 287 : ["PVR", False], + 272 : ["SPRG0", False], + 26 : ["SRR0", False], + 27 : ["SRR1", False], + 340 : ["TCR", False], + 336 : ["TSR", False], + 1 : ["XER", False], + 4200 : ["XSR", False], + 2 : ["IAR", False], + 3 : ["IR", False], + 42 : ["MSR", False], + 420 : ["CR", False], + 0x800:["FI2C_CFG", False], + 0x820:["FI2C_STAT", False], + 0x860:["FI2C_SCFG0", False], + 0x880:["FI2C_SCFG1", False], + 0x8A0:["FI2C_SCFG2", False], + 0x8C0:["FI2C_SCFG3", False], + 0x1000:["SBE_SCRATCH0", False], + 0x1020:["SBE_SCRATCH1", False], + 0x1040:["SBE_SCRATCH2", False], + 0x1060:["SBE_SCRATCH3", False], + 0x2000:["SBE_MISC", False], + 0x0000:["SBE_EISR", False], + 0x0020:["SBE_EIMR", False], + 0x0040:["SBE_EIPR", False], + 0x0060:["SBE_EITR", False], + 0x0080:["SBE_EISTR", False], + 0x00A0:["SBE_EINR", False], + 0x0100:["SBE_TSEL", False], + 0x0120:["SBE_DBG", False], + 0x0140:["SBE_TBR", False], + 0x0160:["SBE_IVPR", False], + } + + regNameMapGPR = { + # GPRs + 0 : ["R0", False] , + 1 : ["R1", False] , + 2 : ["R2", False] , + 3 : ["R3", False] , + 4 : ["R4", False] , + 5 : ["R5", False] , + 6 : ["R6", False] , + 7 : ["R7", False] , + 8 : ["R8", False] , + 9 : ["R9", False] , + 10 : ["R10", False], + 13 : ["R13", False], + 28 : ["R28", False], + 29 : ["R29", False], + 30 : ["R30", False], + 31 : ["R31", False] + } print "File path: ", file_path fileHandle = open(file_path) l_cnt = 0 print '********************************************************************' - print 'Reg Number Reg Value ' + print 'Reg'.ljust(15),'Reg Value'.ljust(20) + print '--------------------------------------------------------------------' while(l_cnt < os.path.getsize(file_path)): - str1 = binascii.hexlify(fileHandle.read(2)) + regNum = int(binascii.hexlify(fileHandle.read(2)), 16) + str1 = '' + try: + if((regNum in regNameMapSPR.keys()) + and (regNameMapSPR[regNum][1] == False)): + str1 = regNameMapSPR[regNum][0] + regNameMapSPR[regNum][1] = True + else: + str1 = regNameMapGPR[regNum][0] + regNameMapGPR[regNum][1] = True + except: + str1 = hex(regNum) str3 = binascii.hexlify(fileHandle.read(4)) - print str(str1).ljust(11),str(str3).ljust(20) + print str(str1).ljust(15),str(str3).ljust(20) l_cnt = l_cnt + 6; print '********************************************************************' |