diff options
Diffstat (limited to 'src/usr')
25 files changed, 847 insertions, 225 deletions
diff --git a/src/usr/errl/errlentry.C b/src/usr/errl/errlentry.C index 4f9fe4246..86d94396e 100644 --- a/src/usr/errl/errlentry.C +++ b/src/usr/errl/errlentry.C @@ -62,7 +62,6 @@ extern char hbi_ImageId; using namespace ERRORLOG; using namespace HWAS; - namespace ERRORLOG { diff --git a/src/usr/fapi2/plat_attr_override_sync.C b/src/usr/fapi2/plat_attr_override_sync.C index b6775e274..d16324f47 100644 --- a/src/usr/fapi2/plat_attr_override_sync.C +++ b/src/usr/fapi2/plat_attr_override_sync.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -150,8 +150,8 @@ void directOverride() case fapi2::TARGET_TYPE_OBUS: l_targetType = TARGETING::TYPE_OBUS; break; - case fapi2::TARGET_TYPE_NV: - l_targetType = TARGETING::TYPE_NV; + case fapi2::TARGET_TYPE_OBUS_BRICK: + l_targetType = TARGETING::TYPE_OBUS_BRICK; break; case fapi2::TARGET_TYPE_SBE: l_targetType = TARGETING::TYPE_SBE; diff --git a/src/usr/fapi2/plat_utils.C b/src/usr/fapi2/plat_utils.C index efc23bdb1..fb63fc3f2 100644 --- a/src/usr/fapi2/plat_utils.C +++ b/src/usr/fapi2/plat_utils.C @@ -308,9 +308,9 @@ void xlateTargetType(const fapi2::TargetType i_targetType, o_class = TARGETING::CLASS_UNIT; o_type = TARGETING::TYPE_OBUS; break; - case fapi2::TARGET_TYPE_NV: + case fapi2::TARGET_TYPE_OBUS_BRICK: o_class = TARGETING::CLASS_UNIT; - o_type = TARGETING::TYPE_NV; + o_type = TARGETING::TYPE_OBUS_BRICK; break; case fapi2::TARGET_TYPE_SBE: o_class = TARGETING::CLASS_UNIT; @@ -361,7 +361,7 @@ bool isPhysParentChild(const TargetType i_parentType, TARGET_TYPE_CAPP | TARGET_TYPE_DMI | TARGET_TYPE_OBUS | - TARGET_TYPE_NV | + TARGET_TYPE_OBUS_BRICK | TARGET_TYPE_SBE | TARGET_TYPE_PPE | TARGET_TYPE_PERV | diff --git a/src/usr/fapi2/test/fapi2GetChildrenTest.H b/src/usr/fapi2/test/fapi2GetChildrenTest.H index 8fd90c851..946983338 100644 --- a/src/usr/fapi2/test/fapi2GetChildrenTest.H +++ b/src/usr/fapi2/test/fapi2GetChildrenTest.H @@ -304,12 +304,12 @@ void test_fapi2GetChildren() { return i_perv.getChildren<fapi2::TARGET_TYPE_CAPP>( TARGET_STATE_PRESENT).size(); } }, - // NV pervasive has 1 NV children - {PERV_NV_CHILDREN, + // OBUS pervasive has 3 OBUS BRICK children + {PERV_OBUS_BRICK_CHILDREN, [](TARGETING::ATTR_CHIP_UNIT_type i_unit) - { return (i_unit == NV_RANGE); }, + { return ((i_unit >= OBUS_LOW) && (i_unit <= OBUS_HIGH)); }, [](Target<fapi2::TARGET_TYPE_PERV>& i_perv) - { return i_perv.getChildren<fapi2::TARGET_TYPE_NV>( + { return i_perv.getChildren<fapi2::TARGET_TYPE_OBUS_BRICK>( TARGET_STATE_PRESENT).size(); } }, // MCBIST/MCS/MCA pervasive has 1 MCBIST child diff --git a/src/usr/fapi2/test/fapi2GetChipletNumTest.H b/src/usr/fapi2/test/fapi2GetChipletNumTest.H index 01c65c0bc..1057c076a 100644 --- a/src/usr/fapi2/test/fapi2GetChipletNumTest.H +++ b/src/usr/fapi2/test/fapi2GetChipletNumTest.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -104,54 +104,58 @@ class Fapi2GetChipletNum : public CxxTest::TestSuite FAPI_INF("Complete testVerifyiPhbChipletNum"); } - void testVerifyNvChipletNum() + void testVerifyObusBrickChipletNum() { uint8_t l_chiplet_id = 0; uint8_t l_exp_chiplet_id = 0; + uint8_t l_chip_unit = 0; - FAPI_INF ("Start testVerifyNvChipletNum"); + FAPI_INF ("Start testVerifyObusBrickChipletNum"); do { - // find the all NV units + // find the all OBUS Brick units TARGETING::Target * pSys; TARGETING::targetService().getTopLevelTarget(pSys); - TARGETING::PredicateCTM predNv(TARGETING::CLASS_UNIT, - TARGETING::TYPE_NV); + TARGETING::PredicateCTM predObusBrick(TARGETING::CLASS_UNIT, + TARGETING::TYPE_OBUS_BRICK); TARGETING::TargetHandleList l_TargetList; TARGETING::targetService().getAssociated( l_TargetList, pSys, TARGETING::TargetService::CHILD, TARGETING::TargetService::ALL, - &predNv); + &predObusBrick); if (l_TargetList.empty()) { - TS_FAIL("testVerifyNvChipletNum: empty l_TargetList"); + TS_FAIL("testVerifyObusBrickChipletNum: empty l_TargetList"); break; } - // Iterate through all NV chiplets + // Iterate through all OBUS BRICK chiplets for (auto & l_Target : l_TargetList) { // map Targeting Type to fapi2 Type - Target<fapi2::TARGET_TYPE_NV> fapi2_Target( l_Target); + Target<fapi2::TARGET_TYPE_OBUS_BRICK> fapi2_Target( l_Target); l_chiplet_id = fapi2_Target.getChipletNumber(); - FAPI_DBG("testVerifyNvChipletNum HUID: %.8X, ChipletId: %.8X", + FAPI_DBG("testVerifyObusBrickChipletNum HUID: %.8X, ChipletId: %.8X", TARGETING::get_huid(l_Target), l_chiplet_id); - // NV 0,1 maps to pervasive id 0x05 - l_exp_chiplet_id = START_NV_CHIPLET_NUM; + //OBUS Brick's chiplet id should be same as its parent + auto l_parent = static_cast<TARGETING::Target*> + (fapi2_Target.getParent<TARGET_TYPE_OBUS>()); + l_chip_unit = l_parent->getAttr<TARGETING::ATTR_CHIP_UNIT>(); + l_exp_chiplet_id = l_chip_unit + START_OBUS_BRICK_CHIPLET_NUM; if (l_chiplet_id != l_exp_chiplet_id) { - TS_FAIL("testVerifyNvChipletNum: Mismatch - Expected: %.8X:, Found: %.8X", + TS_FAIL("testVerifyObusBrickChipletNum: Mismatch - Expected: %.8X:, Found: %.8X", l_exp_chiplet_id, l_chiplet_id); break; } } } while(0); - FAPI_INF("Complete testVerifyNvChipletNum"); + FAPI_INF("Complete testVerifyObusBrickChipletNum"); } void testVerifyPecChipletNum() @@ -789,7 +793,7 @@ class Fapi2GetChipletNum : public CxxTest::TestSuite testVerifyCappChipletNum(); - testVerifyNvChipletNum(); + testVerifyObusBrickChipletNum(); testVerifyPecChipletNum(); diff --git a/src/usr/fapi2/test/fapi2GetParentTest.H b/src/usr/fapi2/test/fapi2GetParentTest.H index 332768c6e..dedd3ee08 100644 --- a/src/usr/fapi2/test/fapi2GetParentTest.H +++ b/src/usr/fapi2/test/fapi2GetParentTest.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -138,8 +138,8 @@ void test_fapi2GetParent() targeting_targets[MY_XBUS]); Target<fapi2::TARGET_TYPE_OBUS> fapi2_obusTarget( targeting_targets[MY_OBUS]); - Target<fapi2::TARGET_TYPE_NV> fapi2_nvTarget( - targeting_targets[MY_NV]); + Target<fapi2::TARGET_TYPE_OBUS_BRICK> fapi2_oBrickTarget( + targeting_targets[MY_OBUS_BRICK]); Target<fapi2::TARGET_TYPE_PPE> fapi2_ppeTarget( targeting_targets[MY_PPE]); Target<fapi2::TARGET_TYPE_PERV> fapi2_pervTarget( @@ -742,31 +742,31 @@ void test_fapi2GetParent() numFails++; } - //Check NV's parents + //Check OBUS BRICK's parents l_tempTargetingParent = static_cast<TARGETING::Target*>( - fapi2_nvTarget.getParent<TARGET_TYPE_PROC_CHIP>()); + fapi2_oBrickTarget.getParent<TARGET_TYPE_PROC_CHIP>()); numTests++; if(TARGETING::get_huid(l_nimbusProc) != TARGETING::get_huid(l_tempTargetingParent)) { uint8_t l_instance = 0; - targeting_targets[MY_NV]-> + targeting_targets[MY_OBUS_BRICK]-> tryGetAttr<TARGETING::ATTR_CHIP_UNIT>(l_instance); /*@ * @errortype ERRORLOG::ERRL_SEV_UNRECOVERABLE * @moduleid fapi2::MOD_FAPI2_PLAT_GET_PARENT_TEST - * @reasoncode fapi2::RC_NV_NO_PROC_FOUND + * @reasoncode fapi2::RC_OBRICK_NO_PROC_FOUND * @userdata1[0:31] Expected Parent HUID * @userdata1[32:63] Actual Parent HUID - * @userdata2[0:31] Instance of NV + * @userdata2[0:31] Instance of OBUS BRICK * @userdata2[32:63] fapi2 Type of expected parent * @devdesc Could not find the parent PROC of this - * NV target + * OBUS BRICK target */ l_err = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE, fapi2::MOD_FAPI2_PLAT_GET_PARENT_TEST, - fapi2::RC_NV_NO_PROC_FOUND, + fapi2::RC_OBRICK_NO_PROC_FOUND, TWO_UINT32_TO_UINT64( TO_UINT32( TARGETING::get_huid( @@ -779,7 +779,7 @@ void test_fapi2GetParent() TO_UINT32(TARGET_TYPE_PROC_CHIP)), true/*SW Error*/); errlCommit(l_err,HWPF_COMP_ID); - TS_FAIL( "fapi2TargetTest::Unable to find NV's PROC parent!"); + TS_FAIL( "fapi2TargetTest::Unable to find OBUS BRICK's PROC parent!"); numFails++; } @@ -987,9 +987,10 @@ void test_fapi2GetParent() {targeting_targets[MY_OBUS], [](TARGETING::Target* i_pTarget) {return getPervasiveParent<TARGET_TYPE_OBUS>(i_pTarget); }}, - {targeting_targets[MY_NV], + {targeting_targets[MY_OBUS_BRICK], [](TARGETING::Target* i_pTarget) - {return getPervasiveParent<TARGET_TYPE_NV>(i_pTarget); }}, + {return + getPervasiveParent<TARGET_TYPE_OBUS_BRICK>(i_pTarget);}}, {targeting_targets[MY_CAPP], [](TARGETING::Target* i_pTarget) {return getPervasiveParent<TARGET_TYPE_CAPP>(i_pTarget); }}, diff --git a/src/usr/fapi2/test/fapi2HwpTest.H b/src/usr/fapi2/test/fapi2HwpTest.H index 620325b3b..c6a1bbc71 100644 --- a/src/usr/fapi2/test/fapi2HwpTest.H +++ b/src/usr/fapi2/test/fapi2HwpTest.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -134,8 +134,8 @@ void test_fapi2Hwp() targeting_targets[MY_XBUS]); fapi2::Target<fapi2::TARGET_TYPE_OBUS> fapi2_obusTarget( targeting_targets[MY_OBUS]); - fapi2::Target<fapi2::TARGET_TYPE_NV> fapi2_nvTarget( - targeting_targets[MY_NV]); + fapi2::Target<fapi2::TARGET_TYPE_OBUS_BRICK> fapi2_oBrickTarget( + targeting_targets[MY_OBUS_BRICK]); fapi2::Target<fapi2::TARGET_TYPE_PPE> fapi2_ppeTarget(targeting_targets[MY_PPE]); fapi2::Target<fapi2::TARGET_TYPE_PERV> fapi2_pervTarget( targeting_targets[MY_PERV]); @@ -247,13 +247,13 @@ void test_fapi2Hwp() TS_FAIL("Error occured in p9_sample_procedure_obus !!"); } numTests++; - FAPI_INVOKE_HWP(l_errl, p9_sample_procedure_nv, fapi2_nvTarget, scratchWriteValue); + FAPI_INVOKE_HWP(l_errl, p9_sample_procedure_obrick, fapi2_oBrickTarget, scratchWriteValue); if(l_errl != NULL) { delete l_errl; l_errl = NULL; numFails++; - TS_FAIL("Error occured in p9_sample_procedure_nv !!"); + TS_FAIL("Error occured in p9_sample_procedure_obrick !!"); } numTests++; FAPI_INVOKE_HWP(l_errl, p9_sample_procedure_ppe, fapi2_ppeTarget, scratchWriteValue); diff --git a/src/usr/fapi2/test/fapi2IsFunctionalTest.H b/src/usr/fapi2/test/fapi2IsFunctionalTest.H index b363f3002..e6fddc64f 100644 --- a/src/usr/fapi2/test/fapi2IsFunctionalTest.H +++ b/src/usr/fapi2/test/fapi2IsFunctionalTest.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -129,10 +129,10 @@ class Fapi2IsFunctional : public CxxTest::TestSuite targetList[MY_OBUS]); fapiTargetList[MY_OBUS] = fapi2_obusTarget; - // NV - Target<fapi2::TARGET_TYPE_NV> fapi2_nvTarget( - targetList[MY_NV]); - fapiTargetList[MY_NV] = fapi2_nvTarget; + // OBUS_BRICK + Target<fapi2::TARGET_TYPE_OBUS_BRICK> fapi2_oBrickTarget( + targetList[MY_OBUS_BRICK]); + fapiTargetList[MY_OBUS_BRICK] = fapi2_oBrickTarget; // PPE Target<fapi2::TARGET_TYPE_PPE> fapi2_ppeTarget( diff --git a/src/usr/fapi2/test/fapi2TestUtils.C b/src/usr/fapi2/test/fapi2TestUtils.C index c3221993c..406b3a0d4 100644 --- a/src/usr/fapi2/test/fapi2TestUtils.C +++ b/src/usr/fapi2/test/fapi2TestUtils.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -36,18 +36,16 @@ //This is subject to change, try to keep updated #define NUM_EQS 6 -#define NUM_EXS 12 -#define NUM_CORES 24 -#define NUM_L2S 12 -#define NUM_L3S 12 -#define NUM_MCS 4 -#define NUM_MCAS 8 +#define NUM_EXS 2 +#define NUM_CORES 2 +#define NUM_MCS 2 +#define NUM_MCAS 2 #define NUM_MCBISTS 2 #define NUM_PECS 3 #define NUM_PHBS 6 #define NUM_XBUS 2 #define NUM_OBUS 2 -#define NUM_NV 2 +#define NUM_OBUS_BRICK 3 #define NUM_PPES 21 #define NUM_PERVS 55 #define NUM_CAPPS 2 @@ -206,6 +204,7 @@ void generateTargets(TARGETING::Target* i_pMasterProcChip, } } + //Setup OBUSs i_pMasterProcChip->tryGetAttr<TARGETING::ATTR_PHYS_PATH>(l_epath); for(int i = 0; i < NUM_OBUS; i+=3) @@ -215,23 +214,21 @@ void generateTargets(TARGETING::Target* i_pMasterProcChip, { o_targetList[MY_OBUS] = TARGETING::targetService().toTarget(l_epath); - break; - } - else - { - l_epath.removeLast(); - } - } - //Setup NV - i_pMasterProcChip->tryGetAttr<TARGETING::ATTR_PHYS_PATH>(l_epath); - for(int i = 0; i < NUM_NV; i++) - { - l_epath.addLast(TARGETING::TYPE_NV, i); - if(TARGETING::targetService().toTarget(l_epath) != NULL) - { - o_targetList[MY_NV] = - TARGETING::targetService().toTarget(l_epath); + for (int j = 0; j < NUM_OBUS_BRICK; j++) + { + l_epath.addLast(TARGETING::TYPE_OBUS_BRICK, j); + if (TARGETING::targetService().toTarget(l_epath) != NULL) + { + o_targetList[MY_OBUS_BRICK] = + TARGETING::targetService().toTarget(l_epath); + break; + } + else + { + l_epath.removeLast(); + } + } break; } else @@ -240,6 +237,7 @@ void generateTargets(TARGETING::Target* i_pMasterProcChip, } } + //Setup PPEs i_pMasterProcChip->tryGetAttr<TARGETING::ATTR_PHYS_PATH>(l_epath); for(int i = 0; i < NUM_PPES; i++) diff --git a/src/usr/fapi2/test/fapi2TestUtils.H b/src/usr/fapi2/test/fapi2TestUtils.H index 937af56f3..d435c277a 100644 --- a/src/usr/fapi2/test/fapi2TestUtils.H +++ b/src/usr/fapi2/test/fapi2TestUtils.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -47,21 +47,21 @@ #define SIMULATED_GOOD_CORES 4 // non-core and non-cache chiplet ids -#define START_PERV_CHIPLET_NUM 0x01 +#define START_PERV_CHIPLET_NUM 0x01 // CAPI Unit(0,1 => 0x02, 0x04) -#define START_CAPP_CHIPLET_NUM 0x02 -// NV (0, 1 => 0x05) -#define START_NV_CHIPLET_NUM 0x05 +#define START_CAPP_CHIPLET_NUM 0x02 +// OBUS BRICK ({0-2}, {9,11} => 0x09, 0xC) +#define START_OBUS_BRICK_CHIPLET_NUM 0x09 // XBUS (0, 1 => 0x6) -#define START_XBUS_CHIPLET_NUM 0x06 +#define START_XBUS_CHIPLET_NUM 0x06 // MCBIST (0, 1 => 0x07, 0x08) -#define START_MCBIST_CHIPLET_NUM 0x07 +#define START_MCBIST_CHIPLET_NUM 0x07 // OBUS (0, 3 => 0x09, 0x0C) -#define START_OBUS_CHIPLET_NUM 0x09 +#define START_OBUS_CHIPLET_NUM 0x09 // PEC (0, 1, 2 => 0x0D, 0x0E, 0x0F) -#define START_PEC_0_CHIPLET_NUM 0x0D -#define START_PEC_1_CHIPLET_NUM 0x0E -#define START_PEC_2_CHIPLET_NUM 0x0F +#define START_PEC_0_CHIPLET_NUM 0x0D +#define START_PEC_1_CHIPLET_NUM 0x0E +#define START_PEC_2_CHIPLET_NUM 0x0F // All Cache Chiplets #define START_EQ_CHIPLET_NUM 0x10 @@ -87,7 +87,7 @@ enum{ MY_PHB, MY_XBUS, MY_OBUS, - MY_NV, + MY_OBUS_BRICK, MY_PPE, MY_PERV, MY_CAPP, @@ -99,19 +99,19 @@ enum{ * @brief Number of children of given type that applicable pervasive has */ enum PERVASIVE_CHILDREN { - PERV_EQ_CHILDREN = 1, - PERV_CORE_CHILDREN = 1, - PERV_XBUS_CHILDREN = 2, - PERV_OBUS_CHILDREN = 1, - PERV_CAPP_CHILDREN = 1, - PERV_NV_CHILDREN = 2, - PERV_MCBIST_CHILDREN = 1, - PERV_MCS_CHILDREN = 2, - PERV_MCA_CHILDREN = 4, - PERV_PEC_CHILDREN = 1, - PERV_PEC0_PHB_CHILDREN = 1, - PERV_PEC1_PHB_CHILDREN = 2, - PERV_PEC2_PHB_CHILDREN = 3, + PERV_EQ_CHILDREN = 1, + PERV_CORE_CHILDREN = 1, + PERV_XBUS_CHILDREN = 2, + PERV_OBUS_CHILDREN = 1, + PERV_CAPP_CHILDREN = 1, + PERV_OBUS_BRICK_CHILDREN = 3, + PERV_MCBIST_CHILDREN = 1, + PERV_MCS_CHILDREN = 2, + PERV_MCA_CHILDREN = 4, + PERV_PEC_CHILDREN = 1, + PERV_PEC0_PHB_CHILDREN = 1, + PERV_PEC1_PHB_CHILDREN = 2, + PERV_PEC2_PHB_CHILDREN = 3, }; /** @@ -132,7 +132,6 @@ enum PERVASIVE_RANGE { OBUS_HIGH = 12, CAPP0_RANGE = 2, CAPP1_RANGE = 4, - NV_RANGE = 5, MC_LOW = 7, MC_HIGH = 8, PEC_LOW = 13, diff --git a/src/usr/fapi2/test/p9_sample_procedure.C b/src/usr/fapi2/test/p9_sample_procedure.C index 1d4cf32e9..57ef2309e 100644 --- a/src/usr/fapi2/test/p9_sample_procedure.C +++ b/src/usr/fapi2/test/p9_sample_procedure.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -258,17 +258,17 @@ fapi_try_exit: } -fapi2::ReturnCode p9_sample_procedure_nv( - fapi2::Target<fapi2::TARGET_TYPE_NV>& i_target, +fapi2::ReturnCode p9_sample_procedure_obrick( + fapi2::Target<fapi2::TARGET_TYPE_OBUS_BRICK>& i_target, uint8_t expectedValue) { uint8_t l_attr_scratch = 0; FAPI_ERR("Entering ..."); - FAPI_ERR("Set Scratch Attr on NV Target"); + FAPI_ERR("Set Scratch Attr on OBUS BRICK Target"); FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_SCRATCH_UINT8_1, i_target, expectedValue)); - FAPI_ERR("Get Scratch Attr on NV Target"); + FAPI_ERR("Get Scratch Attr on OBUS BRICK Target"); FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_SCRATCH_UINT8_1, i_target, l_attr_scratch)); FAPI_ERR("Read scratch value : %d , expected it to be %d", l_attr_scratch, expectedValue); diff --git a/src/usr/fapi2/test/p9_sample_procedure.H b/src/usr/fapi2/test/p9_sample_procedure.H index e931e7624..2903e285f 100644 --- a/src/usr/fapi2/test/p9_sample_procedure.H +++ b/src/usr/fapi2/test/p9_sample_procedure.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -89,8 +89,8 @@ fapi2::ReturnCode p9_sample_procedure_obus( fapi2::Target<fapi2::TARGET_TYPE_OBUS>& i_target, uint8_t expectedValue); -fapi2::ReturnCode p9_sample_procedure_nv( - fapi2::Target<fapi2::TARGET_TYPE_NV>& i_target, +fapi2::ReturnCode p9_sample_procedure_obrick( + fapi2::Target<fapi2::TARGET_TYPE_OBUS_BRICK>& i_target, uint8_t expectedValue); fapi2::ReturnCode p9_sample_procedure_sbe( diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C index 04c47356e..764aa70f1 100644 --- a/src/usr/hwas/common/hwas.C +++ b/src/usr/hwas/common/hwas.C @@ -987,13 +987,13 @@ bool isDescFunctional(const TARGETING::TargetHandle_t &i_desc, } } else - if (i_desc->getAttr<ATTR_TYPE>() == TYPE_NV) + if (i_desc->getAttr<ATTR_TYPE>() == TYPE_OBUS_BRICK) { // Check NPU bit in N3 entry if ((i_pgData[VPD_CP00_PG_N3_INDEX] & VPD_CP00_PG_N3_NPU) != 0) { - HWAS_INF("pDesc %.8X - NV pgData[%d]: " + HWAS_INF("pDesc %.8X - OBUS_BRICK pgData[%d]: " "actual 0x%04X, expected 0x%04X - bad", i_desc->getAttr<ATTR_HUID>(), VPD_CP00_PG_N3_INDEX, diff --git a/src/usr/hwas/test/hwas1test.H b/src/usr/hwas/test/hwas1test.H index 08a9c1425..f038e46e5 100644 --- a/src/usr/hwas/test/hwas1test.H +++ b/src/usr/hwas/test/hwas1test.H @@ -1411,7 +1411,7 @@ public: break; - case TYPE_NV: + case TYPE_OBUS_BRICK: TS_INFO( "testHWASisDescFunctional: " "NV is not functional"); pgData[VPD_CP00_PG_N3_INDEX] |= diff --git a/src/usr/scom/scomtrans.C b/src/usr/scom/scomtrans.C index 518585f7f..d9b500ad9 100644 --- a/src/usr/scom/scomtrans.C +++ b/src/usr/scom/scomtrans.C @@ -134,7 +134,7 @@ DEVICE_REGISTER_ROUTE(DeviceFW::WILDCARD, DEVICE_REGISTER_ROUTE(DeviceFW::WILDCARD, DeviceFW::SCOM, - TARGETING::TYPE_NV, + TARGETING::TYPE_OBUS_BRICK, startScomProcess); DEVICE_REGISTER_ROUTE(DeviceFW::WILDCARD, @@ -619,7 +619,7 @@ bool getChipUnit (TARGETING::TYPE i_type, o_chipUnit = PU_OBUS_CHIPUNIT; break; } - case(TARGETING::TYPE_NV) : + case(TARGETING::TYPE_OBUS_BRICK) : { o_chipUnit = PU_NV_CHIPUNIT; break; diff --git a/src/usr/scom/test/scomtest.H b/src/usr/scom/test/scomtest.H index eb712665e..a9a7ca97a 100644 --- a/src/usr/scom/test/scomtest.H +++ b/src/usr/scom/test/scomtest.H @@ -961,18 +961,18 @@ public: // remove OBUS3 target epath.removeLast(); - //add NV0 target - epath.addLast(TARGETING::TYPE_NV,0); + //add OBUS_BRICK0 target + epath.addLast(TARGETING::TYPE_OBUS_BRICK,0); scom_targets[myNV0] = TARGETING::targetService().toTarget(epath); - // remove NV0 target + // remove OBUS_BRICK0 target epath.removeLast(); - // add NV1 target. - epath.addLast(TARGETING::TYPE_NV,1); + // add OBUS_BRICK1 target. + epath.addLast(TARGETING::TYPE_OBUS_BRICK,1); scom_targets[myNV1] = TARGETING::targetService().toTarget(epath); - // remove NV1 target + // remove OBUS_BRICK1 target epath.removeLast(); //add PPE0 target diff --git a/src/usr/targeting/attroverride/attrTextToBinaryBlob.C b/src/usr/targeting/attroverride/attrTextToBinaryBlob.C index 9ca5b4acd..7ec1e22c3 100755 --- a/src/usr/targeting/attroverride/attrTextToBinaryBlob.C +++ b/src/usr/targeting/attroverride/attrTextToBinaryBlob.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2016 */ +/* Contributors Listed Below - COPYRIGHT 2014,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -120,7 +120,7 @@ TargStrToType CHIP_UNIT_TYPE_TARG_STR_TO_TYPE [] = {"xbus" , fapi2::TARGET_TYPE_XBUS , TARGETING::TYPE_XBUS}, {"abus" , fapi2::TARGET_TYPE_ABUS , TARGETING::TYPE_ABUS}, {"obus" , fapi2::TARGET_TYPE_OBUS , TARGETING::TYPE_OBUS}, - {"nv" , fapi2::TARGET_TYPE_NV , TARGETING::TYPE_NV}, + {"obrick" , fapi2::TARGET_TYPE_OBUS_BRICK , TARGETING::TYPE_OBUS_BRICK}, {"sbe" , fapi2::TARGET_TYPE_SBE , TARGETING::TYPE_SBE}, {"ppe" , fapi2::TARGET_TYPE_PPE , TARGETING::TYPE_PPE}, {"perv" , fapi2::TARGET_TYPE_PERV , TARGETING::TYPE_PERV}, diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm index 44b24bb6a..990a9c66f 100644 --- a/src/usr/targeting/common/Targets.pm +++ b/src/usr/targeting/common/Targets.pm @@ -41,32 +41,31 @@ use constant PERVASIVE_PARENT_MCA_OFFSET => 7, PERVASIVE_PARENT_PEC_OFFSET => 13, PERVASIVE_PARENT_PHB_OFFSET => 13, - PERVASIVE_PARENT_NV_OFFSET => 5, NUM_PROCS_PER_GROUP => 4, }; my %maxInstance = ( - "PROC" => 8, - "CORE" => 24, - "EX" => 12, - "EQ" => 6, - "ABUS" => 3, - "XBUS" => 3, - "OBUS" => 4, - "MCBIST"=> 2, - "MCS" => 4, - "MCA" => 8, - "PHB" => 6, #PHB is same as PCIE - "PEC" => 3, #PEC is same as PBCQ - "MBA" => 2, - "PPE" => 51, #Only 21, but they are sparsely populated - "PERV" => 56, #Only 42, but they are sparsely populated - "CAPP" => 2, - "SBE" => 1, - "NV" => 6, #FW only for GARD purposes - "MI" => 4, - "OCC" => 1, + "PROC" => 8, + "CORE" => 24, + "EX" => 12, + "EQ" => 6, + "ABUS" => 3, + "XBUS" => 3, + "OBUS" => 4, + "MCBIST" => 2, + "MCS" => 4, + "MCA" => 8, + "PHB" => 6, #PHB is same as PCIE + "PEC" => 3, #PEC is same as PBCQ + "MBA" => 2, + "PPE" => 51, #Only 21, but they are sparsely populated + "PERV" => 56, #Only 42, but they are sparsely populated + "CAPP" => 2, + "SBE" => 1, + "OBUS_BRICK" => 12, + "MI" => 4, + "OCC" => 1, ); sub new { @@ -803,6 +802,10 @@ sub setCommonAttrForChiplet { $unit_pos = $pos%2; } + elsif ($tgt_type eq "OBUS_BRICK") + { + $unit_pos = $pos%3; + } my $parent_affinity = $self->getAttribute( $self->getTargetParent($target),"AFFINITY_PATH"); @@ -950,9 +953,12 @@ sub getPervasiveForUnit $unitToPervasive{"PHB$phb"} = PERVASIVE_PARENT_PHB_OFFSET + ($phb>0) + ($phb>2); } - for my $nv (0..$maxInstance{"NV"}-1) + my $offset = 0; + for my $obrick (0..$maxInstance{"OBUS_BRICK"}-1) { - $unitToPervasive{"NV$nv"} = PERVASIVE_PARENT_NV_OFFSET; + $offset += (($obrick%3 == 0) && ($obrick != 0)) ? 1 : 0; + $unitToPervasive{"OBUS_BRICK$obrick"} + = PERVASIVE_PARENT_OBUS_OFFSET + $offset; } } diff --git a/src/usr/targeting/common/entitypath.C b/src/usr/targeting/common/entitypath.C index eca52eb9f..11b359c06 100644 --- a/src/usr/targeting/common/entitypath.C +++ b/src/usr/targeting/common/entitypath.C @@ -413,8 +413,11 @@ const char* EntityPath::pathElementTypeAsString( return "DMI"; case TYPE_OBUS: return "OBUS"; + //@TODO RTC:173529 -- Remove NV once it is not used anywhere case TYPE_NV: return "NV"; + case TYPE_OBUS_BRICK: + return "OBUS_BRICK"; case TYPE_SBE: return "SBE"; case TYPE_PPE: diff --git a/src/usr/targeting/common/target.C b/src/usr/targeting/common/target.C index 5122f2bda..4deb0603b 100644 --- a/src/usr/targeting/common/target.C +++ b/src/usr/targeting/common/target.C @@ -510,7 +510,7 @@ void Target::getAttrTankTargetPosData(uint16_t & o_pos, (l_element.type == TYPE_CAPP) || (l_element.type == TYPE_DMI) || (l_element.type == TYPE_OBUS) || - (l_element.type == TYPE_NV) || + (l_element.type == TYPE_OBUS_BRICK) || (l_element.type == TYPE_SBE) || (l_element.type == TYPE_PPE) || (l_element.type == TYPE_PERV) || diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index aebd4f5ad..a838d2c98 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -249,6 +249,7 @@ <name>OBUS</name> <value>40</value> </enumerator> + <!-- @TODO RTC:173529-Remove once NV is not used anywhere and leave a gap--> <enumerator> <name>NV</name> <value>41</value> @@ -349,14 +350,18 @@ <name>FANCTLR</name> <value>65</value> </enumerator> + <enumerator> + <name>OBUS_BRICK</name> + <value>66</value> + </enumerator> <!-- add any new types here, and increment TEST_FAIL and LAST_IN_RANGE --> <enumerator> <name>TEST_FAIL</name> - <value>66</value> + <value>67</value> </enumerator> <enumerator> <name>LAST_IN_RANGE</name> - <value>67</value> + <value>68</value> </enumerator> <default>NA</default> </enumerationType> @@ -21926,9 +21931,27 @@ Measured in GB</description> </hwpfToHbAttrMap> </attribute> +<enumerationType> + <id>OPTICS_CONFIG_MODE</id> + <description> + Enumeration indicating the OPTICS_CONFIG_MODE + </description> + <enumerator> + <name>SMP</name> + <value>0x0</value> + </enumerator> + <enumerator> + <name>CAPILINK</name> + <value>0x1</value> + </enumerator> + <enumerator> + <name>NVLINK</name> + <value>0x2</value> + </enumerator> +</enumerationType> + <attribute> <id>OPTICS_CONFIG_MODE</id> - <!-- <targetType>TARGET_TYPE_OBUS</targetType> --> <description> Per-link optics configuration 0 = SMP (default) @@ -21937,8 +21960,9 @@ Measured in GB</description> Provided by the MRW. </description> <simpleType> - <uint8_t> - </uint8_t> + <uint8_t> + <default>SMP</default> + </uint8_t> </simpleType> <persistency>non-volatile</persistency> <readable/> @@ -21948,6 +21972,27 @@ Measured in GB</description> </hwpfToHbAttrMap> </attribute> +<attribute> + <id>OBUS_BRICK_LANE_MASK</id> + <description> + Lane mask for which 8 lanes belong to this brick + This is a right justified 24-bit value. Only 8 of the + 24 bits will be set representing the lanes belonging to + the associated brick. + Provided by the MRW. + </description> + <simpleType> + <uint32_t> + </uint32_t> + </simpleType> + <persistency>non-volatile</persistency> + <readable/> + <hwpfToHbAttrMap> + <id>ATTR_OBUS_BRICK_LANE_MASK</id> + <macro>DIRECT</macro> + </hwpfToHbAttrMap> +</attribute> + <enumerationType> <id>PROC_FABRIC_SMP_OPTICS_MODE</id> <description> diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml index 24a71bd3c..61195d186 100644 --- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml @@ -42,7 +42,7 @@ * PEC 2 has 3 PHBs * Each Nimbus has 1 XBUS chiplet * Each Nimbus has 2 OBUS (OB0 and OB3) - * Each Nimbus has 2 NV + * Each OBUS has 3 OBUS_BRICK * Each Nimbus has 21 PPE units (including the SBE): * 1 SBE, 1 Powerbus/Fabric PPE, 4 GPEs, 12 CMEs, and 3 IO PPEs. * * Each chiplet existing in a Nimbus has 1 equivalent PERV unit @@ -3204,21 +3204,21 @@ </attribute> </targetInstance> -<!-- Nimbus n0p0 NV units --> +<!-- Nimbus n0p0 obus-brick units --> <targetInstance> - <id>sys0node0proc0nv0</id> - <type>unit-nv-nimbus</type> + <id>sys0node0proc0obus0obus_brick0</id> + <type>unit-obus-brick-power9</type> <attribute><id>HUID</id><default>0x00290000</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-0/nv-0</default> + <default>physical:sys-0/node-0/proc-0/obus-0/obus_brick-0</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-0/nv-0</default> + <default>affinity:sys-0/node-0/proc-0/obus-0/obus_brick-0</default> </attribute> <attribute> <id>ORDINAL_ID</id> @@ -3230,28 +3230,28 @@ </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-0/perv-5</default> + <default>physical:sys-0/node-0/proc-0/perv-9</default> </attribute> </targetInstance> <targetInstance> - <id>sys0node0proc0nv1</id> - <type>unit-nv-nimbus</type> + <id>sys0node0proc0obus0obus-brick1</id> + <type>unit-obus-brick-power9</type> <attribute><id>HUID</id><default>0x00290001</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-0/nv-1</default> + <default>physical:sys-0/node-0/proc-0/obus-0/obus_brick-1</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-0/nv-1</default> + <default>affinity:sys-0/node-0/proc-0/obus-0/obus_brick-1</default> </attribute> <attribute> <id>ORDINAL_ID</id> @@ -3263,14 +3263,145 @@ </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-0/perv-5</default> + <default>physical:sys-0/node-0/proc-0/perv-9</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc0obus0obus-brick2</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290002</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>2</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>2</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x09</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-9</default> </attribute> </targetInstance> +<targetInstance> + <id>sys0node0proc0obus3obus-brick9</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290009</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-0</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-0</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>9</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>9</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc0obus3obus-brick10</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000A</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-1</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-1</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>10</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>10</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc0obus3obus-brick11</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000B</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-2</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-2</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>11</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>11</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-12</default> + </attribute> +</targetInstance> <!-- Nimbus n0p0 PPE units Up to 18 PPEs per Nimbus, only create 2 in this config for now --> <targetInstance> @@ -8460,70 +8591,202 @@ </attribute> </targetInstance> -<!-- Nimbus n0p1 NV units --> +<!-- Nimbus n0p1 obus-brick units --> <targetInstance> - <id>sys0node0proc1nv0</id> - <type>unit-nv-nimbus</type> - <attribute><id>HUID</id><default>0x00290002</default></attribute> + <id>sys0node0proc1obus0obus-brick0</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000C</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-1/nv-0</default> + <default>physical:sys-0/node-0/proc-1/obus-0/obus_brick-0</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-1/nv-0</default> + <default>affinity:sys-0/node-0/proc-1/obus-0/obus_brick-0</default> </attribute> <attribute> <id>ORDINAL_ID</id> - <default>2</default> + <default>12</default> </attribute> <attribute> <id>CHIP_UNIT</id> - <default>0</default> + <default>12</default> </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-1/perv-5</default> + <default>physical:sys-0/node-0/proc-1/perv-9</default> </attribute> </targetInstance> <targetInstance> - <id>sys0node0proc1nv1</id> - <type>unit-nv-nimbus</type> - <attribute><id>HUID</id><default>0x00290003</default></attribute> + <id>sys0node0proc1obus0obus-brick1</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000D</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-1/nv-1</default> + <default>physical:sys-0/node-0/proc-1/obus-0/obus_brick-1</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-1/nv-1</default> + <default>affinity:sys-0/node-0/proc-1/obus-0/obus_brick-1</default> </attribute> <attribute> <id>ORDINAL_ID</id> - <default>3</default> + <default>13</default> </attribute> <attribute> <id>CHIP_UNIT</id> - <default>1</default> + <default>13</default> </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-1/perv-5</default> + <default>physical:sys-0/node-0/proc-1/perv-9</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus0obus-brick2</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000E</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>14</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>14</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x09</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-9</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus3obus-brick9</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000F</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-3/obus_brick-0</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-3/obus_brick-0</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>15</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>15</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus3obus-brick10</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290010</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-3/obus_brick-1</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-3/obus_brick-1</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>16</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>16</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus3obus-brick11</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290011</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-3/obus_brick-2</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-3/obus_brick-2</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>17</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>17</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-12</default> </attribute> </targetInstance> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 3b8feb478..b40960669 100755 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -2187,23 +2187,63 @@ </attribute> </targetType> -<!-- NV - Nimbus : 1 per chip - Cumulus: 1 per chip --> +<!-- OBUS Brick + Nimbus : 3 per OBUS + Cumulus: 3 per OBUS --> +<targetType> + <id>unit-obus-brick-power9</id> + <parent>unit-obus-power9</parent> + <attribute> + <id>TYPE</id> + <default>OBUS_BRICK</default> + </attribute> + <attribute><id>CDM_DOMAIN</id><default>FABRIC</default></attribute> + <attribute><id>DECONFIG_GARDABLE</id><default>0</default></attribute> + <attribute><id>SCRATCH_UINT8_1</id><default>5</default></attribute> + <attribute><id>HUID</id></attribute> + <attribute><id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id> + <default>0</default> <!-- GARD --> + </attribute> + <attribute><id>OBUS_BRICK_LANE_MASK</id></attribute> + <attribute><id>OPTICS_CONFIG_MODE</id><default>SMP</default></attribute> + <attribute><id>PARENT_PERVASIVE</id></attribute> +</targetType> + +<targetType> + <id>unit-obus-brick-nimbus</id> + <parent>unit-obus-brick-power9</parent> + <attribute> + <id>MODEL</id> + <default>NIMBUS</default> + </attribute> +</targetType> + +<targetType> + <id>unit-obus-brick-cumulus</id> + <parent>unit-obus-brick-power9</parent> + <attribute> + <id>MODEL</id> + <default>CUMULUS</default> + </attribute> +</targetType> + +<!-- @TODO RTC:173529 - Remove NV once it is not used anywhere --> <targetType> <id>unit-nv-power9</id> - <parent>unit</parent> + <parent>unit-obus-power9</parent> <attribute> <id>TYPE</id> <default>NV</default> </attribute> - <attribute><id>DECONFIG_GARDABLE</id><default>1</default></attribute> <attribute><id>CDM_DOMAIN</id><default>FABRIC</default></attribute> + <attribute><id>DECONFIG_GARDABLE</id><default>1</default></attribute> <attribute><id>SCRATCH_UINT8_1</id><default>5</default></attribute> - <attribute><id>PARENT_PERVASIVE</id></attribute> + <attribute><id>HUID</id></attribute> <attribute><id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id> <default>0x00000001</default> <!-- GARD --> </attribute> + <attribute><id>OPTICS_CONFIG_MODE</id><default>SMP</default></attribute> + <attribute><id>PARENT_PERVASIVE</id></attribute> </targetType> <targetType> diff --git a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml index 4514eed35..9830fef4c 100644 --- a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml @@ -42,7 +42,7 @@ * PEC 2 has 3 PHBs * Each Nimbus has 1 XBUS chiplet * Each Nimbus has 2 OBUS (OB0 and OB3) - * Each Nimbus has 2 NV + * Each OBUS has 3 OBUS_BRICK * Each Nimbus has 21 PPE units (including the SBE): * 1 SBE, 1 Powerbus/Fabric PPE, 4 GPEs, 12 CMEs, and 3 IO PPEs. * * Each chiplet existing in a Nimbus has 1 equivalent PERV unit @@ -3140,21 +3140,21 @@ </attribute> </targetInstance> -<!-- Nimbus n0p0 NV units --> +<!-- Nimbus n0p0 obus-brick units --> <targetInstance> - <id>sys0node0proc0nv0</id> - <type>unit-nv-nimbus</type> + <id>sys0node0proc0obus0obus-brick0</id> + <type>unit-obus-brick-power9</type> <attribute><id>HUID</id><default>0x00290000</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-0/nv-0</default> + <default>physical:sys-0/node-0/proc-0/obus-0/obus_brick-0</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-0/nv-0</default> + <default>affinity:sys-0/node-0/proc-0/obus-0/obus_brick-0</default> </attribute> <attribute> <id>ORDINAL_ID</id> @@ -3166,28 +3166,28 @@ </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-0/perv-5</default> + <default>physical:sys-0/node-0/proc-0/perv-9</default> </attribute> </targetInstance> <targetInstance> - <id>sys0node0proc0nv1</id> - <type>unit-nv-nimbus</type> + <id>sys0node0proc0obus0obus-brick1</id> + <type>unit-obus-brick-power9</type> <attribute><id>HUID</id><default>0x00290001</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-0/nv-1</default> + <default>physical:sys-0/node-0/proc-0/obus-0/obus_brick-1</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-0/nv-1</default> + <default>affinity:sys-0/node-0/proc-0/obus-0/obus_brick-1</default> </attribute> <attribute> <id>ORDINAL_ID</id> @@ -3199,11 +3199,143 @@ </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-0/perv-5</default> + <default>physical:sys-0/node-0/proc-0/perv-9</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc0obus0obus-brick2</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290002</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>2</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>2</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x09</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-9</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc0obus3obus-brick9</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290009</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-9</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-9</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>9</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>9</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc0obus3obus-brick10</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000A</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-10</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-10</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>10</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>10</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc0obus3obus-brick11</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000B</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-11</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-11</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>11</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>11</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-12</default> </attribute> </targetInstance> @@ -8336,70 +8468,202 @@ </attribute> </targetInstance> -<!-- Nimbus n0p1 NV units --> +<!-- Nimbus n0p1 obus-brick units --> <targetInstance> - <id>sys0node0proc1nv0</id> - <type>unit-nv-nimbus</type> - <attribute><id>HUID</id><default>0x00290002</default></attribute> + <id>sys0node0proc1obus0obus-brick0</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000C</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-1/nv-0</default> + <default>physical:sys-0/node-0/proc-1/obus-0/obus_brick-0</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-1/nv-0</default> + <default>affinity:sys-0/node-0/proc-1/obus-0/obus_brick-0</default> </attribute> <attribute> <id>ORDINAL_ID</id> - <default>2</default> + <default>12</default> </attribute> <attribute> <id>CHIP_UNIT</id> - <default>0</default> + <default>12</default> </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-1/perv-5</default> + <default>physical:sys-0/node-0/proc-1/perv-9</default> </attribute> </targetInstance> <targetInstance> - <id>sys0node0proc1nv1</id> - <type>unit-nv-nimbus</type> - <attribute><id>HUID</id><default>0x00290003</default></attribute> + <id>sys0node0proc1obus0obus-brick1</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000D</default></attribute> <attribute> <id>FAPI_NAME</id><default>NA</default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-1/nv-1</default> + <default>physical:sys-0/node-0/proc-1/obus-0/obus_brick-1</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-1/nv-1</default> + <default>affinity:sys-0/node-0/proc-1/obus-0/obus_brick-1</default> </attribute> <attribute> <id>ORDINAL_ID</id> - <default>3</default> + <default>13</default> </attribute> <attribute> <id>CHIP_UNIT</id> - <default>1</default> + <default>13</default> </attribute> <attribute> <id>CHIPLET_ID</id> - <default>0x05</default> + <default>0x09</default> </attribute> <attribute> <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-1/perv-5</default> + <default>physical:sys-0/node-0/proc-1/perv-9</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus0obus-brick2</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000E</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-0/obus_brick-2</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>14</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>14</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x09</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-9</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus3obus-brick9</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x0029000F</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-3/obus_brick-9</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-3/obus_brick-9</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>15</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>15</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus3obus-brick10</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290010</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-3/obus_brick-10</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-3/obus_brick-10</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>16</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>16</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-12</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0proc1obus3obus-brick11</id> + <type>unit-obus-brick-power9</type> + <attribute><id>HUID</id><default>0x00290011</default></attribute> + <attribute> + <id>FAPI_NAME</id><default>NA</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/obus-3/obus_brick-11</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/obus-3/obus_brick-11</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>17</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>17</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x0C</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-12</default> </attribute> </targetInstance> diff --git a/src/usr/targeting/test/testtargeting.H b/src/usr/targeting/test/testtargeting.H index e7312e694..b015f45af 100644 --- a/src/usr/targeting/test/testtargeting.H +++ b/src/usr/targeting/test/testtargeting.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2016 */ +/* Contributors Listed Below - COPYRIGHT 2012,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -368,10 +368,10 @@ class TargetingTestSuite : public CxxTest::TestSuite TargetHandleList l_targs; - getAllChiplets( l_targs, TYPE_NV); + getAllChiplets( l_targs, TYPE_OBUS_BRICK); if(l_targs.size() == 0) { - TS_FAIL("TYPE_NV target incorrectly returned zero size"); + TS_FAIL("TYPE_OBUS_BRICK target incorrectly returned zero size"); } else { |