From 90d4e44287359528431e6a87c95dd4581e493264 Mon Sep 17 00:00:00 2001 From: spashabk-in Date: Tue, 6 Mar 2018 03:15:50 -0600 Subject: PSU get capabilities chip-op Support PSU get capabilities chipop Change-Id: I36980433aaa70323c5b2b80a89d8618d03ea8a60 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55091 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: RAJA DAS Reviewed-by: Sachin Gupta --- src/test/testcases/test.xml | 4 + src/test/testcases/testPSUGetCapabilities.py | 154 +++++++++++++++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 src/test/testcases/testPSUGetCapabilities.py (limited to 'src/test') diff --git a/src/test/testcases/test.xml b/src/test/testcases/test.xml index d1bb92c9..6edd31fc 100755 --- a/src/test/testcases/test.xml +++ b/src/test/testcases/test.xml @@ -40,6 +40,10 @@ ../simics/targets/p9_nimbus/sbeTest/testPutGetMem.xml ../simics/targets/p9_nimbus/sbeTest/testAduMem.xml ../simics/targets/p9_nimbus/sbeTest/testPSUSetFFDCAddr.xml + + run-python-file targets/p9_nimbus/sbeTest/testPSUGetCapabilities.py + yes + ../simics/targets/p9_nimbus/sbeTest/testSram.xml diff --git a/src/test/testcases/testPSUGetCapabilities.py b/src/test/testcases/testPSUGetCapabilities.py new file mode 100644 index 00000000..d112259d --- /dev/null +++ b/src/test/testcases/testPSUGetCapabilities.py @@ -0,0 +1,154 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/test/testcases/testPSUGetCapabilities.py $ +# +# OpenPOWER sbe Project +# +# Contributors Listed Below - COPYRIGHT 2017,2018 +# [+] International Business Machines Corp. +# +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. +# +# IBM_PROLOG_END_TAG + +import sys +import os +import struct +sys.path.append("targets/p9_nimbus/sbeTest" ) +import testPSUUtil +import testRegistry as reg +import testUtil +import testMemUtil + +def getsingleword(dataInInt): + hex_string = '0'*(8-len(str(hex(dataInInt))[2:])) + str(hex(dataInInt))[2:] + return list(struct.unpack('SBE data set execution - Less length setup + regObj.ExecuteTestOp( testPSUUtil.simSbeObj, sbe_test_data ) + print "\n Poll on Host side for INTR ...\n" + #Poll on HOST DoorBell Register for interrupt + regObj.pollingOn( testPSUUtil.simSbeObj, host_polling_data, 5 ) + #SBE->HOST data set execution + regObj.ExecuteTestOp( testPSUUtil.simSbeObj, host_test_data ) + +#------------------------- +# Main Function +#------------------------- +def main(): + # Run Simics initially + testUtil.runCycles( 100000000 ) + + print "\n Execute SBE Test - negative testcase - less size\n" + getCapabilities(0x08000000, 30, 0x00020019) + print "\n Execute SBE Test - negative testcase - not multiple of PBA\n" + getCapabilities(0x08000000, 129, 0x00020019) + + print "\n Execute SBE Test - positive testcase \n" + getCapabilities(0x08000000, 128, 0) + + testUtil.runCycles( 100000000 ); + # read capabilities memory + readData = testMemUtil.getmem(0x08000000, 128, 0x02) + # ignore first 20 bytes which is a dynamic data + readData = readData[28:] + # get only valid data + readData = readData[:len(capMsg)] + if(capMsg == readData): + print ("Success - PSU get capabilities") + else: + print capMsg + print readData + raise Exception('data mistmach') + +if __name__ == "__main__": + main() + if err: + print ( "\nTest Suite completed with error(s)" ) + #sys.exit(1) + else: + print ( "\nTest Suite completed with no errors" ) + #sys.exit(0); -- cgit v1.2.1