diff options
author | Raja Das <rajadas2@in.ibm.com> | 2018-05-11 03:58:50 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2018-06-12 06:31:38 -0400 |
commit | 85b69681ae32c9bcd7129466da3766b5521ef5fd (patch) | |
tree | d01181f1569da272f90dd4433da5606145d481ba /src/test | |
parent | 5cef9c4eb6aa884d6c36b53978df61dd34b46a3e (diff) | |
download | talos-sbe-85b69681ae32c9bcd7129466da3766b5521ef5fd.tar.gz talos-sbe-85b69681ae32c9bcd7129466da3766b5521ef5fd.zip |
SBE Tool support for fleetwood systems
Change-Id: Ic395ca1d1bde3aeabdacfefc473600d58585ff2b
RTC:158861
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58691
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Shakeeb A. Pasha B K <shakeebbk@in.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/test')
-rwxr-xr-x | src/test/testcases/testIstepAuto.py | 12 | ||||
-rw-r--r-- | src/test/testcases/testUtil.py | 69 |
2 files changed, 60 insertions, 21 deletions
diff --git a/src/test/testcases/testIstepAuto.py b/src/test/testcases/testIstepAuto.py index c581727a..1d2cda07 100755 --- a/src/test/testcases/testIstepAuto.py +++ b/src/test/testcases/testIstepAuto.py @@ -5,7 +5,7 @@ # # OpenPOWER sbe Project # -# Contributors Listed Below - COPYRIGHT 2016,2017 +# Contributors Listed Below - COPYRIGHT 2016,2018 # [+] International Business Machines Corp. # # @@ -42,7 +42,7 @@ gIstepArray = { } # MAIN Test Run Starts Here... #------------------------------------------------- -def sbe_istep_func( inum1, inum2): +def sbe_istep_func( inum1, inum2, node=0, isfleetwood=0): # Convert float number to string, which would help extracting # decimal and integral part separately # Interpretation: @@ -86,10 +86,10 @@ def sbe_istep_func( inum1, inum2): 0,0,0xA1,0x01, 0,major,0,minor ] testUtil.runCycles( 10000000 ) - testUtil.writeUsFifo( TESTDATA ) - testUtil.writeEot( ) - testUtil.readDsFifo( EXPDATA ) - testUtil.readEot( ) + testUtil.writeUsFifo( TESTDATA, node, isfleetwood ) + testUtil.writeEot( node, isfleetwood ) + testUtil.readDsFifo( EXPDATA, node, isfleetwood ) + testUtil.readEot( node, isfleetwood ) except: print ("\nTest completed with error(s). Raise error") diff --git a/src/test/testcases/testUtil.py b/src/test/testcases/testUtil.py index 3e78bd50..35c20720 100644 --- a/src/test/testcases/testUtil.py +++ b/src/test/testcases/testUtil.py @@ -5,7 +5,7 @@ # # OpenPOWER sbe Project # -# Contributors Listed Below - COPYRIGHT 2015,2017 +# Contributors Listed Below - COPYRIGHT 2015,2018 # [+] International Business Machines Corp. # # @@ -28,23 +28,45 @@ from sim_commands import * waitItrCount = 10000000; cyclesPerIter = 20000; -#err = False -lbus = conf.p9Proc0.proc_lbus_map -def writeUsFifo( data): + +def getLbus( node, isfleetwood ): + #This is non-fleetwood system, where node is 0 by default + if (isfleetwood == 0): + lbus=conf.p9Proc0.proc_lbus_map + else: + # This is fleetwood system + if(node == 0): + lbus=conf.D1Proc0.proc_lbus_map + if(node == 1): + lbus=conf.D2Proc0.proc_lbus_map + if(node == 2): + lbus=conf.D3Proc0.proc_lbus_map + if(node == 3): + lbus=conf.D4Proc0.proc_lbus_map + + return lbus + +#Default parameters are for single node, node 0 +def writeUsFifo( data, node=0, isfleetwood=0): """Main test Loop""" + lbus = getLbus(node, isfleetwood) loopCount = len(data)/4; for i in range (loopCount): idx = i * 4; writeEntry(lbus, 0x2400, (data[idx], data[idx+1], data[idx+2], data[idx+3]) ) -def readDsFifo(data): +#Default parameters are for single node, node 0 +def readDsFifo(data, node=0, isfleetwood=0): """Main test Loop""" + lbus = getLbus(node, isfleetwood) loopCount = len(data)/4; for i in range (loopCount): idx = i * 4; checkEqual(readEntry(lbus, 0x2440, 4), (data[idx], data[idx+1], data[idx+2], data[idx+3])) -def writeEot(): +#Default parameters are for single node, node 0 +def writeEot(node=0, isfleetwood=0): + lbus = getLbus(node, isfleetwood) write(lbus, 0x2408, (0, 0, 0, 1) ) def write(obj, address, value ): @@ -52,21 +74,29 @@ def write(obj, address, value ): iface = SIM_get_interface(obj, "memory_space") iface.write(None, address, value, 0x0) -def readEot(): +#Default parameters are for single node, node 0 +def readEot(node=0, isfleetwood=0): """ Read from memory space """ + lbus = getLbus(node, isfleetwood) status = read(lbus, 0x2444, 4) checkEqual( (status[3] & 0x80), 0x80 ); read(lbus, 0x2440, 4) -def resetFifo(): +#Default parameters are for single node, node 0 +def resetFifo(node=0, isfleetwood=0): + lbus = getLbus(node, isfleetwood) write(lbus, 0x240C, (0, 0, 0, 1)) return -def readUsFifoStatus(): +#Default parameters are for single node, node 0 +def readUsFifoStatus(node=0, isfleetwood=0): + lbus = getLbus(node, isfleetwood) status = read(lbus, 0x2404, 4) return status -def readDsFifoStatus(): +#Default parameters are for single node, node 0 +def readDsFifoStatus(node=0, isfleetwood=0): + lbus = getLbus(node, isfleetwood) status = read(lbus, 0x2444, 4) return status @@ -101,12 +131,15 @@ def waitTillDsFifoEmpty(): # This function will only read the entry but will not compare it # with anything. This can be used to flush out enteries. -def readDsEntry(entryCount): +#Default parameters are for single node, node 0 +def readDsEntry(entryCount, node=0, isfleetwood=0): + lbus = getLbus(node, isfleetwood) for i in range (entryCount): readEntry(lbus, 0x2440, 4) -def writeEntry(obj, address, value ): - +#Default parameters are for single node, node 0 +def writeEntry(obj, address, value, node=0, isfleetwood=0 ): + lbus = getLbus(node, isfleetwood) loop = 1; count = 0; while( loop ): @@ -124,13 +157,19 @@ def writeEntry(obj, address, value ): loop = 0 return value -def readDsEntryReturnVal(): + +#Default parameters are for single node, node 0 +def readDsEntryReturnVal(node=0, isfleetwood=0): + lbus = getLbus(node, isfleetwood) data = readEntry(lbus, 0x2440, 4) runCycles(200000) return data -def readEntry(obj, address, size): + +#Default parameters are for single node, node 0 +def readEntry(obj, address, size, node=0, isfleetwood=0): """ Read from memory space """ + lbus = getLbus(node, isfleetwood) loop = 1; count = 0; value = (0,0,0,0) |