diff options
| author | Andrew Geissler <andrewg@us.ibm.com> | 2016-06-14 14:39:10 -0500 |
|---|---|---|
| committer | Matthew A. Ploetz <maploetz@us.ibm.com> | 2016-06-23 10:12:38 -0400 |
| commit | 74c5a605f216e78baf8c482f3ff7f7f7568a9312 (patch) | |
| tree | 894bbc727da5f7361e2df445c89f38fbca80fad2 /src/usr/fapi2/test/fapi2ChipEcTest.H | |
| parent | e9271107e30731bf3f6fd2d922f5921aa9ec09ca (diff) | |
| download | talos-hostboot-74c5a605f216e78baf8c482f3ff7f7f7568a9312.tar.gz talos-hostboot-74c5a605f216e78baf8c482f3ff7f7f7568a9312.zip | |
Test case for FAPI2 EC Chip attributes
Change-Id: I2a76bcd51ec74d25114b542a20fd7c23688c0ada
RTC: 154852
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25812
Tested-by: Jenkins Server
Tested-by: FSP CI Jenkins
Reviewed-by: Elizabeth K. Liner <eliner@us.ibm.com>
Reviewed-by: Jay M. Azurin <jmazurin@us.ibm.com>
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Diffstat (limited to 'src/usr/fapi2/test/fapi2ChipEcTest.H')
| -rw-r--r-- | src/usr/fapi2/test/fapi2ChipEcTest.H | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/src/usr/fapi2/test/fapi2ChipEcTest.H b/src/usr/fapi2/test/fapi2ChipEcTest.H new file mode 100644 index 000000000..69ea686c9 --- /dev/null +++ b/src/usr/fapi2/test/fapi2ChipEcTest.H @@ -0,0 +1,124 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/fapi2/test/fapi2ChipEcTest.H $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2016 */ +/* [+] 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 */ +#include <fapi2.H> + +//-------------------------------------------------------------------------- +/// @file fapi2ChipEcTest.H +/// +/// @brief Validate the chip/ec function support +//-------------------------------------------------------------------------- + +namespace fapi2 +{ + +class Fapi2ChipEcTest : public CxxTest::TestSuite +{ + + public: + + // Simple test to validate ATTR_CHIP_EC_FEATURE_TEST1 + void test_fapi2ChipEc_1() + { + fapi2::ReturnCode l_rc; + + + FAPI_INF("fapi2ChipEc_1 Test starting ... "); + + TARGETING::TargetHandleList l_chipList; + TARGETING::getAllChips(l_chipList, TARGETING::TYPE_PROC, false); + + fapi2::Target<TARGET_TYPE_PROC_CHIP> l_fapi2_procTarget( + l_chipList[0]); + + ATTR_CHIP_EC_FEATURE_TEST1_Type l_valChipEcTest1 = 0; + + FAPI_TRY(FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_TEST1, + l_fapi2_procTarget, l_valChipEcTest1)); + // Returns if a chip contains the TEST1 feature. True if either: + // Centaur EC 1.0 + // Cumulus EC greater than 3.0 + if(l_valChipEcTest1) + { + TS_FAIL("Fail: this proc is not cumulus and/or greater then DD3.0"); + } + else + { + FAPI_INF("Pass: This proc is not cumulus and/or not greater then DD3.0"); + } + + fapi_try_exit: + if(fapi2::current_err) + { + TS_FAIL("FAPI_TRY of attribute read failed! rc=0x%.8X",(uint32_t)fapi2::current_err); + } + return; + + } + + // Simple test to validate ATTR_CHIP_EC_FEATURE_TEST2 + void test_fapi2ChipEc_2() + { + fapi2::ReturnCode l_rc; + + FAPI_INF("fapi2ChipEc_2 Test starting ... "); + + TARGETING::TargetHandleList l_chipList; + TARGETING::getAllChips(l_chipList, TARGETING::TYPE_PROC, false); + + fapi2::Target<TARGET_TYPE_PROC_CHIP> l_fapi2_procTarget( + l_chipList[0]); + + ATTR_CHIP_EC_FEATURE_TEST2_Type l_valChipEcTest2 = 0; + + FAPI_TRY(FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_TEST2, + l_fapi2_procTarget, l_valChipEcTest2)); + // Returns if a chip contains the TEST2 feature. True if: + // Nimbus EC less than 2.0 + if(l_valChipEcTest2) + { + FAPI_INF("Pass: This proc is Nimbus and less then DD2.0"); + } + else if(TARGETING::MODEL_NIMBUS != + l_chipList[0]->getAttr<TARGETING::ATTR_MODEL>()) + { + FAPI_INF("Pass: This proc is not Nimbus so does not have TEST2 feature"); + } + else + { + TS_FAIL("Fail: this proc is a nimbus but has DD 2.0 or greater"); + } + + fapi_try_exit: + if(fapi2::current_err) + { + TS_FAIL("FAPI_TRY of attribute read failed! rc=0x%.8X",(uint32_t)fapi2::current_err); + } + return; + + } // end main testcase driver + +}; // end class + +} // end namespace fapi2 |

