From 386165c1c5dad4b0dde4a94401b4feb0435787a9 Mon Sep 17 00:00:00 2001 From: Dan Crowell Date: Wed, 20 Feb 2019 09:18:07 -0600 Subject: Updates to testcases for Axone Disabling a few testcases temporarily until Axone gets off the ground. Cleaned up some bad traces, etc in existing code. Add CI support for AXONE config Change-Id: I7a2140366e225971c91a50cec1f7e822e4847078 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72186 Tested-by: Jenkins Server Reviewed-by: Matt Derksen Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Christian R. Geddes --- src/usr/scom/scomtrans.C | 5 +++++ src/usr/scom/test/scomtest.H | 41 ++++++++++++++++++++++++++++++++--------- 2 files changed, 37 insertions(+), 9 deletions(-) (limited to 'src/usr/scom') diff --git a/src/usr/scom/scomtrans.C b/src/usr/scom/scomtrans.C index e60e75ae6..bb5d8b282 100644 --- a/src/usr/scom/scomtrans.C +++ b/src/usr/scom/scomtrans.C @@ -494,6 +494,11 @@ errlHndl_t p9_translation (TARGETING::Target * &i_target, TRACFCOMP(g_trac_scom, "Target type and scom Addr do not match."); TRACFCOMP(g_trac_scom, "scomTranslate-Invalid Address io_addr=0x%X, Type 0x%.8X, HUID 0x%.8X", io_addr, i_type, TARGETING::get_huid(i_target)); + for(uint32_t i = 0; i < l_scomPairings.size(); i++) + { + TRACFCOMP(g_trac_scom, "Scom Pairing: chipUnitType=%d, chipUnitNum=%d", + l_scomPairings[i].chipUnitType, l_scomPairings[i].chipUnitNum); + } uint32_t userdata32_1 = TWO_UINT16_TO_UINT32( diff --git a/src/usr/scom/test/scomtest.H b/src/usr/scom/test/scomtest.H index 6da3d9f9e..87444367b 100644 --- a/src/usr/scom/test/scomtest.H +++ b/src/usr/scom/test/scomtest.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2018 */ +/* Contributors Listed Below - COPYRIGHT 2011,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -39,7 +39,7 @@ #include #include #include - +#include #include @@ -444,10 +444,15 @@ public: uint64_t addr; uint64_t data; bool isFail; + TARGETING::ATTR_MODEL_type model; } test_data[] = { - { scom_targets[myPROC0], 0x80000C010D010C3F ,0x1234432112344321, false}, - { scom_targets[myPROC0], 0x80000C0107011C3F, 0x123443211234ABAB, false }, - { scom_targets[myPROC0], 0x8FFFFFFFFFFFFFFF, 0x123443211234ABAB, true }, + { scom_targets[myPROC0], 0x80000C010D010C3F ,0x1234432112344321, false, TARGETING::MODEL_POWER9 }, + { scom_targets[myPROC0], 0x80000C0107011C3F, 0x123443211234ABAB, false, TARGETING::MODEL_NIMBUS }, + { scom_targets[myPROC0], 0x80000C0107011C3F, 0x123443211234ABAB, false, TARGETING::MODEL_CUMULUS }, +#ifndef CONFIG_AXONE_BRING_UP + { scom_targets[myPROC0], 0x800040000701103F, 0x123443211234ABAB, false, TARGETING::MODEL_AXONE }, +#endif + { scom_targets[myPROC0], 0x8FFFFFFFFFFFFFFF, 0x123443211234ABAB, true, TARGETING::MODEL_POWER9 }, }; const uint64_t NUM_ADDRS = sizeof(test_data)/sizeof(test_data[0]); @@ -462,6 +467,14 @@ public: continue; } + // only run if this is the right kind of target + auto l_model = test_data[x].target->getAttr(); + if( (TARGETING::MODEL_POWER9 != test_data[x].model) + && (l_model != test_data[x].model) ) + { + continue; + } + op_size = sizeof(uint64_t); total++; @@ -504,6 +517,14 @@ public: continue; } + // only run if this is the right kind of target + auto l_model = test_data[x].target->getAttr(); + if( (TARGETING::MODEL_POWER9 != test_data[x].model) + && (l_model != test_data[x].model) ) + { + continue; + } + op_size = sizeof(uint64_t); total++; @@ -1165,12 +1186,14 @@ public: { scom_targets[myNV0], 0x12012826, 0x12012826, true, TARGETING::MODEL_POWER9}, { scom_targets[myNV1], 0x24030008, 0x24030008, true, TARGETING::MODEL_POWER9}, { scom_targets[myCAPP0],0x2010803, 0x2010803, false, TARGETING::MODEL_POWER9}, - { scom_targets[myMC0],0x0701008, 0x0701008, false, TARGETING::MODEL_AXONE}, - { scom_targets[myMC1],0x0701008, 0x0801008, false, TARGETING::MODEL_AXONE}, + { scom_targets[myMC0],0x07010008, 0x07010008, false, TARGETING::MODEL_AXONE}, + { scom_targets[myMC1],0x07010008, 0x08010008, false, TARGETING::MODEL_AXONE}, { scom_targets[myMC0],0x0FFFFFFF, 0x0FFFFFFF, true, TARGETING::MODEL_AXONE}, { scom_targets[myMC1],0x0FFFFFFF, 0x0FFFFFFF, true, TARGETING::MODEL_AXONE}, - { scom_targets[myMI0],0x2010803, 0x2010803, false, TARGETING::MODEL_AXONE}, - { scom_targets[myMI3],0x2010803, 0x3010803, false, TARGETING::MODEL_AXONE}, +#ifndef CONFIG_AXONE_BRING_UP + { scom_targets[myMI0],0x02010803, 0x02010803, false, TARGETING::MODEL_AXONE}, + { scom_targets[myMI3],0x02010803, 0x03010803, false, TARGETING::MODEL_AXONE}, +#endif { scom_targets[myMI0],0x0FFFFFFF, 0x0FFFFFFF, true, TARGETING::MODEL_AXONE}, { scom_targets[myMI3],0x0FFFFFFF, 0x0FFFFFFF, true, TARGETING::MODEL_AXONE}, { scom_targets[myMCC0],0x07010900, 0x07010900, false, TARGETING::MODEL_AXONE}, -- cgit v1.2.1