From 5f27f36edc94a09d9da2c1fd899f1e61862a5464 Mon Sep 17 00:00:00 2001 From: Dan Crowell Date: Tue, 10 Sep 2019 16:23:51 -0500 Subject: Enable SMF tests for Axone Need to take multiple chips into account when computing the values to compare with. Change-Id: Ie423b2afec126f6e69590584631da9b6d6657a84 RTC: 206800 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83560 Tested-by: Jenkins Server Reviewed-by: Ilya Smirnov Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Matt Derksen Reviewed-by: Nicholas E Bofferding --- src/makefile | 3 +-- src/usr/secureboot/smf/test/testsmf.H | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/makefile b/src/makefile index 49534fa0d..52b44336a 100644 --- a/src/makefile +++ b/src/makefile @@ -262,8 +262,7 @@ TESTCASE_MODULES += $(if $(CONFIG_VPO_COMPILE),,testruntime) TESTCASE_MODULES += testintr TESTCASE_MODULES += testfapi2 TESTCASE_MODULES += $(if $(CONFIG_EARLY_TESTCASES) && $(FSP_BUILD) ,,testnvram) -#TODO RTC: 206800 Investigate why SMF tests fail in Axone -TESTCASE_MODULES += $(if $(CONFIG_AXONE_BRING_UP),,testsmf) +TESTCASE_MODULES += testsmf TESTCASE_MODULES += testexpaccess TESTCASE_MODULES += testexpupd TESTCASE_MODULES += testmmio diff --git a/src/usr/secureboot/smf/test/testsmf.H b/src/usr/secureboot/smf/test/testsmf.H index 81a50a6e0..fb3993724 100644 --- a/src/usr/secureboot/smf/test/testsmf.H +++ b/src/usr/secureboot/smf/test/testsmf.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -346,9 +347,14 @@ public: break; } - if(l_smfBarSize != DISTRIBUTE_EXACT_SMF_AMT) + // Memory is distributed across processors so need to divide the + // expected results by the number of processors + TARGETING::TargetHandleList l_procList; + TARGETING::getAllChips(l_procList, TARGETING::TYPE_PROC, true); + + if(l_smfBarSize != (DISTRIBUTE_EXACT_SMF_AMT/l_procList.size())) { - TS_FAIL("testDistributeExactAmt: Unexpected amount of memory allocated. Expected: 0x%x, actual 0x%x", DISTRIBUTE_EXACT_SMF_AMT, l_smfBarSize); + TS_FAIL("testDistributeExactAmt: Unexpected amount of memory allocated. Expected: 0x%x, actual 0x%x", (DISTRIBUTE_EXACT_SMF_AMT/l_procList.size()), l_smfBarSize); } } while(0); @@ -400,9 +406,14 @@ public: break; } - if(l_smfBarSize != DISTRIBUTE_EXACT_SMF_AMT) + // Memory is distributed across processors so need to divide the + // expected results by the number of processors + TARGETING::TargetHandleList l_procList; + TARGETING::getAllChips(l_procList, TARGETING::TYPE_PROC, true); + + if(l_smfBarSize != (DISTRIBUTE_EXACT_SMF_AMT/l_procList.size())) { - TS_FAIL("testDistributeNotExactAmt: Unexpected amount of memory allocated. Expected: 0x%x, actual 0x%x", DISTRIBUTE_EXACT_SMF_AMT, l_smfBarSize); + TS_FAIL("testDistributeNotExactAmt: Unexpected amount of memory allocated. Expected: 0x%x, actual 0x%x", (DISTRIBUTE_EXACT_SMF_AMT/l_procList.size()), l_smfBarSize); } } while(0); -- cgit v1.2.3