summaryrefslogtreecommitdiffstats
path: root/src/test/testcases/testAduMem_withEccItag.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/testcases/testAduMem_withEccItag.py')
-rw-r--r--src/test/testcases/testAduMem_withEccItag.py51
1 files changed, 31 insertions, 20 deletions
diff --git a/src/test/testcases/testAduMem_withEccItag.py b/src/test/testcases/testAduMem_withEccItag.py
index 453a82a4..5a04f484 100644
--- a/src/test/testcases/testAduMem_withEccItag.py
+++ b/src/test/testcases/testAduMem_withEccItag.py
@@ -5,7 +5,7 @@
#
# OpenPOWER sbe Project
#
-# Contributors Listed Below - COPYRIGHT 2016
+# Contributors Listed Below - COPYRIGHT 2016,2017
# [+] International Business Machines Corp.
#
#
@@ -25,34 +25,45 @@
import sys
sys.path.append("targets/p9_nimbus/sbeTest" )
import testUtil
+import testMemUtil as testMemProcUtil
err = False
-GETMEMADU_TESTDATA_ECC_ITAG = [0,0,0,0x6,
- 0,0,0xA4,0x01,
- 0,0,0x0,0xBD, #CoreChipletId/EccByte/Flags -> CacheInhibit/FastMode/Tag/Ecc/AutoIncr/Adu/Proc
- 0,0,0,0, # Addr Upper 32 bit
- 0x08,0x00,0x00,0x00, # Addr Lower 32 bit
- 0x00,0x00,0x00,0x40] # length of data
-
-GETMEMADU_EXPDATA_ECC_ITAG = [0x00,0x00,0x00,0x50, # length of data
- 0xc0,0xde,0xa4,0x01,
- 0x0,0x0,0x0,0x0,
- 0x00,0x0,0x0,0x03];
-
# MAIN Test Run Starts Here...
#-------------------------------------------------
def main( ):
testUtil.runCycles( 10000000 )
- # GetMemAdu with Ecc with Itag test
- testUtil.writeUsFifo( GETMEMADU_TESTDATA_ECC_ITAG )
- testUtil.writeEot( )
+ #PutMemAdu with ECC
+ data = os.urandom(80)
+ data = [ord(c) for c in data]
+ testMemProcUtil.putmem(0x08000000, data, 0xBD, 0xEF)
+ data = testMemProcUtil.addItagEcc(data,True, True, 0xEF)
- testUtil.readDsEntry ( 20 )
- testUtil.readDsFifo( GETMEMADU_EXPDATA_ECC_ITAG )
- testUtil.runCycles( 10000000 )
- testUtil.readEot( )
+ # GetMemAdu test with ECC and Itag
+ readData = testMemProcUtil.getmem(0x08000000, 80, 0xBD)
+ if(data == readData):
+ print ("Success - Write-Read ADU with ECC,Itag")
+ else:
+ print data
+ print readData
+ raise Exception('data mistmach')
+ # Partial Write test
+ readData = testMemProcUtil.getmem(0x08000000, 40, 0xBD)
+ data = os.urandom(8)
+ data = [ord(c) for c in data]
+ testMemProcUtil.putmem(0x08000008, data, 0xBD, 0xEF)
+ data = testMemProcUtil.addItagEcc(data,True, True, 0xEF)
+ readBackData = testMemProcUtil.getmem(0x08000000, 40, 0xBD)
+ sandwichData = readData[:10]+data+readData[len(data)+10:]
+ if(sandwichData == readBackData):
+ print ("Success - Write_Part-Read ADU with ECC,Itag")
+ else:
+ print readData
+ print data
+ print readBackData
+ print sandwichData
+ raise Exception('data mistmach')
#-------------------------------------------------
# Calling all test code
#-------------------------------------------------
OpenPOWER on IntegriCloud