summaryrefslogtreecommitdiffstats
path: root/src/usr/fapi2/test/fapi2GetChildrenTest.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/fapi2/test/fapi2GetChildrenTest.H')
-rw-r--r--src/usr/fapi2/test/fapi2GetChildrenTest.H381
1 files changed, 205 insertions, 176 deletions
diff --git a/src/usr/fapi2/test/fapi2GetChildrenTest.H b/src/usr/fapi2/test/fapi2GetChildrenTest.H
index 12af3432f..38ca8444e 100644
--- a/src/usr/fapi2/test/fapi2GetChildrenTest.H
+++ b/src/usr/fapi2/test/fapi2GetChildrenTest.H
@@ -61,156 +61,29 @@ public:
};
//******************************************************************************
-// getProc
-// Determine if cumulus or nimbus system and return pointer to first processor
-// target of that type
-//******************************************************************************
-errlHndl_t getProc(TARGETING::Target*& o_nimbusProc,
- TARGETING::Target*& o_cumulusProc)
-{
- errlHndl_t l_err = nullptr;
- FAPI_DBG("start of getProc()");
-
- // Create a vector of TARGETING::Target pointers
- TARGETING::TargetHandleList l_chipList;
-
- // Get a list of all of the proc chips
- TARGETING::getAllChips(l_chipList, TARGETING::TYPE_PROC, false);
-
- //Take the first NIMBUS proc and use it
- for(uint32_t i = 0; i < l_chipList.size(); i++)
- {
- if(TARGETING::MODEL_NIMBUS ==
- l_chipList[i]->getAttr<TARGETING::ATTR_MODEL>())
- {
- o_nimbusProc = l_chipList[i];
- break;
- }
- if(TARGETING::MODEL_CUMULUS ==
- l_chipList[i]->getAttr<TARGETING::ATTR_MODEL>())
- {
- o_cumulusProc = l_chipList[i];
- break;
- }
- }
- if((o_nimbusProc == nullptr) && (o_cumulusProc == nullptr))
- {
- // Send an errorlog because we cannot find any procs.
- FAPI_ERR("getProc: could not find any procs, skipping tests");
- /*@
- * @errortype ERRORLOG::ERRL_SEV_UNRECOVERABLE
- * @moduleid fapi2::MOD_FAPI2_PLAT_GET_PROC_TEST
- * @reasoncode fapi2::RC_NO_PROCS_FOUND
- * @userdata1 Model Type we looked for
- * @userdata2 Other Model Type we looked for
- * @devdesc Could not find any procs in system model
- */
- l_err = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE,
- fapi2::MOD_FAPI2_PLAT_GET_PROC_TEST,
- fapi2::RC_NO_PROCS_FOUND,
- TARGETING::MODEL_NIMBUS,
- TARGETING::MODEL_CUMULUS,
- true/*SW Error*/);
- }
- return l_err;
-}
-
-//******************************************************************************
// test_fapi2GetChildren
//******************************************************************************
void test_fapi2GetChildren()
{
- int numTests = 0;
- int numFails = 0;
uint32_t l_targetHuid = 0xFFFFFFFF;
uint32_t l_actualSize = 0;
uint32_t l_expectedSize = 0;
errlHndl_t l_err = nullptr;
- TARGETING::Target * l_nimbusProc = nullptr;
- TARGETING::Target * l_cumulusProc = nullptr;
- TARGETING::Target * l_proc = nullptr;
+ int numTests = 0;
+ int numFails = 0;
+
do
{
- numTests++;
- l_err = getProc(l_nimbusProc, l_cumulusProc);
- if(l_err)
- {
- errlCommit(l_err,HWPF_COMP_ID);
- numFails++;
- TS_FAIL("test_fapi2GetChildren Fail: could not find any proc, skipping tests");
- break;
- }
-
- if (l_nimbusProc != nullptr)
- {
- l_proc = l_nimbusProc;
- }
- else if (l_cumulusProc != nullptr)
- {
- l_proc = l_cumulusProc;
- }
- else //both are nullptr
- {
- // Should never get here since error should have been returned
- // above
- FAPI_ERR("test_fapi2GetChildren: Never Should Happen");
- numFails++;
- break;
- }
-
- TARGETING::Target* targeting_targets[fapi2::NUM_TARGETS];
- generateTargets(l_proc, targeting_targets);
-
- for( uint64_t x = 0; x < fapi2::NUM_TARGETS; x++ )
- {
- //Skip tests where the HW unit to test isn't valid for the proc type
- if (!isHwValid(l_proc, x))
- {
- continue;
- }
- else if(targeting_targets[x] == nullptr)
- {
- FAPI_ERR("Unable to find target for item %d in targeting_targets", x);
- /*@
- * @errortype ERRORLOG::ERRL_SEV_UNRECOVERABLE
- * @moduleid fapi2::MOD_FAPI2_PLAT_GET_CHILDREN_TEST
- * @reasoncode fapi2::RC_NO_PATH_TO_TARGET_FOUND
- * @userdata1 Index of target in array of objects
- * @userdata2 Unused
- * @devdesc Could not find a path to the target of that type
- */
- l_err = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE,
- fapi2::MOD_FAPI2_PLAT_GET_CHILDREN_TEST,
- fapi2::RC_NO_PATH_TO_TARGET_FOUND,
- x,
- NULL,
- true/*SW Error*/);
- errlCommit(l_err,HWPF_COMP_ID);
- }
- }
-
-
- Target<fapi2::TARGET_TYPE_PROC_CHIP> fapi2_procTarget(
- l_proc);
- Target<fapi2::TARGET_TYPE_EQ> fapi2_eqTarget(
- targeting_targets[MY_EQ]);
- Target<fapi2::TARGET_TYPE_EX> fapi2_exTarget(
- targeting_targets[MY_EX]);
- Target<fapi2::TARGET_TYPE_MCS> fapi2_mcsTarget(
- targeting_targets[MY_MCS]);;
- Target<fapi2::TARGET_TYPE_MCBIST> fapi2_mcbistTarget(
- targeting_targets[MY_MCBIST]);
- Target<fapi2::TARGET_TYPE_MC> fapi2_mcTarget(
- targeting_targets[MY_MC]);
- Target<fapi2::TARGET_TYPE_MI> fapi2_miTarget(
- targeting_targets[MY_MI]);
+ GENERATE_TEST_TARGETS(test_fapi2GetChildren)
+ // Creates some vectors for later use
std::vector<Target<fapi2::TARGET_TYPE_CORE> > l_childCores;
std::vector<Target<fapi2::TARGET_TYPE_MCA> > l_childMCAs;
std::vector<Target<fapi2::TARGET_TYPE_EQ> > l_childEQs;
std::vector<Target<fapi2::TARGET_TYPE_EX> > l_childEXs;
std::vector<Target<fapi2::TARGET_TYPE_XBUS> > l_childXBUSs;
std::vector<Target<fapi2::TARGET_TYPE_DMI> > l_childDMIs;
+ std::vector<Target<fapi2::TARGET_TYPE_OMI> > l_childOMIs;
if (isHwValid(l_proc, MY_MCA)
@@ -251,6 +124,26 @@ void test_fapi2GetChildren()
}
}
+ if (isHwValid(l_proc, MY_MC)
+ && isHwValid(l_proc, MY_MI)
+ && isHwValid(l_proc, MY_MCC)
+ && isHwValid(l_proc, MY_OMI))
+ {
+ l_childOMIs = fapi2_mcTarget.getChildren<fapi2::TARGET_TYPE_OMI>(TARGET_STATE_PRESENT);
+ l_targetHuid = TARGETING::get_huid(targeting_targets[MY_MC]);
+ l_actualSize = l_childOMIs.size();
+
+ //Set expected size to be the number of OMIs per MC
+ l_expectedSize = OMI_PER_MCC * MCC_PER_MI * MI_PER_MC;
+ numTests++;
+ if(l_actualSize != l_expectedSize)
+ {
+ FAPI_INF("fapi2TargetTest:: OMIs per MC mismatch");
+ numFails++;
+ break;
+ }
+ }
+
l_childCores = fapi2_procTarget.getChildren<fapi2::TARGET_TYPE_CORE>(TARGET_STATE_PRESENT);
l_targetHuid = TARGETING::get_huid(l_proc) ;
l_actualSize = l_childCores.size();
@@ -318,6 +211,26 @@ void test_fapi2GetChildren()
}
}
+ if (isHwValid(l_proc, MY_MC)
+ && isHwValid(l_proc, MY_MI)
+ && isHwValid(l_proc, MY_MCC)
+ && isHwValid(l_proc, MY_OMI))
+ {
+ l_childOMIs = fapi2_procTarget.getChildren<fapi2::TARGET_TYPE_OMI>(TARGET_STATE_PRESENT);
+ l_targetHuid = TARGETING::get_huid(l_proc);
+ l_actualSize = l_childOMIs.size();
+
+ //Set expected size to be the number of OMIs per proc
+ l_expectedSize = OMI_PER_MCC * MCC_PER_MI * MI_PER_MC * MC_PER_PROC;
+ numTests++;
+ if(l_actualSize != l_expectedSize)
+ {
+ FAPI_INF("fapi2TargetTest:: OMIs per proc mismatch");
+ numFails++;
+ break;
+ }
+ }
+
l_childCores = fapi2_exTarget.getChildren<fapi2::TARGET_TYPE_CORE>(TARGET_STATE_PRESENT);
l_targetHuid = TARGETING::get_huid(targeting_targets[MY_EX]) ;
@@ -383,7 +296,7 @@ void test_fapi2GetChildren()
{ return i_perv.getChildren<fapi2::TARGET_TYPE_EQ>(
TARGET_STATE_PRESENT).size(); } },
- // CORE pervasive has 1 CORE child
+ // CORE pervasive has 32 CORE child
{PERV_CORE_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return ((i_unit >= CORE_LOW) && (i_unit <= CORE_HIGH)); },
@@ -391,7 +304,7 @@ void test_fapi2GetChildren()
{ return i_perv.getChildren<fapi2::TARGET_TYPE_CORE>(
TARGET_STATE_PRESENT).size(); } },
- // XBUS pervasive has 2 XBUS children
+ // XBUS pervasive has 1 XBUS children
{PERV_XBUS_NIMBUS_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return (i_unit == XBUS_RANGE); },
@@ -399,7 +312,7 @@ void test_fapi2GetChildren()
{ return i_perv.getChildren<fapi2::TARGET_TYPE_XBUS>(
TARGET_STATE_PRESENT).size(); } },
- // OBUS pervasive has 1 OBUS child
+ // OBUS pervasive has 3 OBUS child
{PERV_OBUS_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return ((i_unit >= OBUS_LOW) && (i_unit <= OBUS_HIGH)); },
@@ -493,7 +406,7 @@ void test_fapi2GetChildren()
{ return i_perv.getChildren<fapi2::TARGET_TYPE_EQ>(
TARGET_STATE_PRESENT).size(); } },
- // CORE pervasive has 1 CORE child
+ // CORE pervasive has 32 CORE child
{PERV_CORE_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return ((i_unit >= CORE_LOW) && (i_unit <= CORE_HIGH)); },
@@ -501,7 +414,7 @@ void test_fapi2GetChildren()
{ return i_perv.getChildren<fapi2::TARGET_TYPE_CORE>(
TARGET_STATE_PRESENT).size(); } },
- // XBUS pervasive has # XBUS children
+ // XBUS pervasive has 1 XBUS children
{PERV_XBUS_CUMULUS_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return (i_unit == XBUS_RANGE); },
@@ -509,7 +422,7 @@ void test_fapi2GetChildren()
{ return i_perv.getChildren<fapi2::TARGET_TYPE_XBUS>(
TARGET_STATE_PRESENT).size(); } },
- // OBUS pervasive has 1 OBUS child
+ // OBUS pervasive has 3 OBUS child
{PERV_OBUS_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return ((i_unit >= OBUS_LOW) && (i_unit <= OBUS_HIGH)); },
@@ -565,7 +478,7 @@ void test_fapi2GetChildren()
{ return i_perv.getChildren<fapi2::TARGET_TYPE_PHB>(
TARGET_STATE_PRESENT).size(); } },
- // MC / MI / DMI pervasive has 2 MC Children
+ // MC / MI / DMI pervasive has 1 MC Children
{PERV_MC_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return ( (i_unit >= MC_LOW)
@@ -591,18 +504,147 @@ void test_fapi2GetChildren()
TARGET_STATE_PRESENT).size(); } },
};
+ static pervasiveChildTestRec axonePervasiveChildTests [] = {
+
+ // EQ pervasive has 1 EQ child
+ {PERV_EQ_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= EQ_LOW) && (i_unit <= EQ_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_EQ>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // CORE pervasive has 32 children
+ {PERV_CORE_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= CORE_LOW) && (i_unit <= CORE_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_CORE>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // XBUS pervasive has 1 XBUS children
+ {PERV_XBUS_CUMULUS_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return (i_unit == XBUS_RANGE); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_XBUS>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // OBUS pervasive has 3 OBUS child
+ {PERV_OBUS_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= OBUS_LOW) && (i_unit <= OBUS_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_OBUS>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // CAPP pervasive has 1 CAPP child
+ {PERV_CAPP_CUMULUS_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit == CAPP0_RANGE) || (i_unit == CAPP1_RANGE));},
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_CAPP>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // OBUS pervasive has 3 OBUS BRICK children
+ {PERV_OBUS_BRICK_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= OBUS_LOW) && (i_unit <= OBUS_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_OBUS_BRICK>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // PEC/PHB pervasive has 3 PEC child
+ {PERV_PEC_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= PEC_LOW) && (i_unit <= PEC_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_PEC>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // PEC/PHB pervasive with 1 PHB child
+ {PERV_PEC0_PHB_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return (i_unit == PEC_LOW); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_PHB>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // PEC/PHB pervasive with 2 PHB children
+ {PERV_PEC1_PHB_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return (i_unit == PEC_MID); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_PHB>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // PEC/PHB pervasive with 3 PHB children
+ {PERV_PEC2_PHB_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return (i_unit == PEC_HIGH); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_PHB>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // MC / MI / DMI pervasive has 1 MC Children
+ {PERV_MC_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ( (i_unit >= MC_LOW)
+ && (i_unit <= MC_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_MC>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // MC / MI / DMI pervasive has 2 MI Children
+ {PERV_MI_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= MC_LOW) && (i_unit <= MC_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_MI>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // MC / MI / MCC / OMI pervasive has 4 MCC children
+ {PERV_OCC_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= MC_LOW) && (i_unit <= MC_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_MCC>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // MC / MI / MCC / OMI pervasive has 8 OMI children
+ {PERV_OMI_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= MC_LOW) && (i_unit <= MC_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_OMI>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ {PERV_OMIC_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit >= MC_LOW) && (i_unit <= MC_HIGH)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_OMIC>(
+ TARGET_STATE_PRESENT).size(); } },
+ };
+
pervasiveChildTestRec* ptr;
int numPervTests = 0;
- if (l_nimbusProc != nullptr)
+ TARGETING::ATTR_MODEL_type l_model = l_proc->getAttr<TARGETING::ATTR_MODEL>();
+ if (l_model == TARGETING::MODEL_NIMBUS)
{
numPervTests = sizeof(nimbusPervasiveChildTests) / sizeof(pervasiveChildTestRec);
ptr = nimbusPervasiveChildTests;
}
- else
+ else if(l_model == TARGETING::MODEL_CUMULUS)
{
numPervTests = sizeof(cumulusPervasiveChildTests) / sizeof(pervasiveChildTestRec);
ptr = cumulusPervasiveChildTests;
}
+ else if(l_model == TARGETING::MODEL_AXONE)
+ {
+ numPervTests = sizeof(axonePervasiveChildTests) / sizeof(pervasiveChildTestRec);
+ ptr = axonePervasiveChildTests;
+ }
// Build list of all pervasive targets in the blueprint
TARGETING::TargetHandleList pervasiveTargets;
@@ -705,40 +747,26 @@ void test_fapi2GetChildrenFilter()
uint32_t l_actualSize = 0;
uint32_t l_expectedSize = 0;
errlHndl_t l_err = nullptr;
- TARGETING::Target * l_nimbusProc = nullptr;
- TARGETING::Target * l_cumulusProc = nullptr;
TARGETING::Target * l_proc = nullptr;
+ TARGETING::TargetHandleList l_chipList;
do
{
FAPI_DBG("start of test_fapi2GetChildrenFilter()");
numTests++;
- l_err = getProc(l_nimbusProc, l_cumulusProc);
- if(l_err)
- {
- errlCommit(l_err,HWPF_COMP_ID);
- numFails++;
- TS_FAIL("test_fapi2GetChildrenFilter Fail: could not find any proc, skipping tests");
- break;
- }
+ // Get a list of all of the proc chips
+ TARGETING::getAllChips(l_chipList, TARGETING::TYPE_PROC, false);
- if (l_nimbusProc != nullptr)
+ if(l_chipList.size())
{
- l_proc = l_nimbusProc;
+ l_proc = l_chipList[0];
}
- else if (l_cumulusProc != nullptr)
- {
- l_proc = l_cumulusProc;
- }
- else //both are nullptr
+ else
{
- // Should never get here since error should have been returned
- // above
- FAPI_ERR("test_fapi2GetChildrenFilter: Never Should Happen");
+ TS_FAIL("test_fapi2GetChildren Fail: could not find any proc, skipping tests");
numFails++;
break;
}
-
TARGETING::Target* targeting_targets[NUM_TARGETS];
generateTargets(l_proc, targeting_targets);
@@ -794,7 +822,7 @@ void test_fapi2GetChildrenFilter()
break;
}
- if (isHwValid(l_proc, MY_MCS))
+ if (isHwValid(l_proc, MY_MC))
{
// PERV - TARGET_FILTER_ALL_MC
l_expectedSize = 2;
@@ -865,41 +893,42 @@ void test_fapi2getChildTargetsForCDG()
{
int numTests = 0;
int numFails = 0;
- errlHndl_t l_err = nullptr;
- TARGETING::Target * l_nimbusProc = nullptr;
- TARGETING::Target * l_cumulusProc = nullptr;
TARGETING::Target * l_proc = nullptr;
size_t l_expectedDimms = 0;
size_t l_expectedDimmsUnderPort0 = 0;
size_t l_expectedDimmsUnderPort1 = 0;
+ TARGETING::TargetHandleList l_chipList;
do
{
FAPI_DBG("start of test_fapi2getChildTargetsForCDG()");
numTests++;
- l_err = getProc(l_nimbusProc, l_cumulusProc);
- if(l_err)
+ // Get a list of all of the proc chips
+ TARGETING::getAllChips(l_chipList, TARGETING::TYPE_PROC, false);
+
+ if(l_chipList.size())
+ {
+ l_proc = l_chipList[0];
+ }
+ else
{
- errlCommit(l_err,HWPF_COMP_ID);
- numFails++;
TS_FAIL("test_fapi2getChildTargetsForCDG Fail: could not find any proc, skipping tests");
+ numFails++;
break;
}
- if (l_nimbusProc != nullptr)
+ if (l_proc->getAttr<TARGETING::ATTR_MODEL>() == TARGETING::MODEL_NIMBUS)
{
- l_proc = l_nimbusProc;
l_expectedDimms = 16;
l_expectedDimmsUnderPort0 = l_expectedDimms;
l_expectedDimmsUnderPort1 = 0;
}
- else if (l_cumulusProc != nullptr)
+ else if (l_proc->getAttr<TARGETING::ATTR_MODEL>() == TARGETING::MODEL_CUMULUS ||
+ l_proc->getAttr<TARGETING::ATTR_MODEL>() == TARGETING::MODEL_AXONE)
{
- l_proc = l_cumulusProc;
l_expectedDimms = 8;
l_expectedDimmsUnderPort0 = l_expectedDimms/2;
l_expectedDimmsUnderPort1 = l_expectedDimms/2;
-
}
else //both are nullptr
{
OpenPOWER on IntegriCloud