diff options
author | Andrew Geissler <andrewg@us.ibm.com> | 2018-05-18 14:01:16 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-05-29 15:43:55 -0400 |
commit | f1186fdef28f6e23a9bda17bbef1d0e217c0430d (patch) | |
tree | 900225ca940bd34b64bb5f550e5879d79aa2d0ee /src/usr | |
parent | fc79c535382d9ca609059d39076121dea33c28d8 (diff) | |
download | talos-hostboot-f1186fdef28f6e23a9bda17bbef1d0e217c0430d.tar.gz talos-hostboot-f1186fdef28f6e23a9bda17bbef1d0e217c0430d.zip |
Update getChildTargetsForCDG to use CEN PORT/DIMM
The port and dimm sockets come off of the centaur on cumulus.
Update this function to look at the correct attributes.
These attribute do not exist on Cumulus so the default will
be to just return all dimms under the input target.
This code change affected the test case so an update was required
there as well (i.e. the fix for this defect).
Change-Id: I102c40acc124100e90dd832aeed94716c0f18811
CQ:SW428864
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59073
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/fapi2/plat_utils.C | 6 | ||||
-rw-r--r-- | src/usr/fapi2/test/fapi2GetChildrenTest.H | 18 |
2 files changed, 17 insertions, 7 deletions
diff --git a/src/usr/fapi2/plat_utils.C b/src/usr/fapi2/plat_utils.C index e6445e219..e340b2d60 100644 --- a/src/usr/fapi2/plat_utils.C +++ b/src/usr/fapi2/plat_utils.C @@ -997,6 +997,8 @@ void processEICDGs(const ErrorInfo & i_errInfo, /// For DIMMs: DIMM Socket Number /// For Chips: Chip Position /// For Chiplets: Chiplet Position +/// @param[o] o_childTargets List of child targets matching input +/// criteria. /// void getChildTargetsForCDG( const fapi2::Target<fapi2::TARGET_TYPE_ALL>& i_parentTarget, @@ -1081,11 +1083,11 @@ void getChildTargetsForCDG( // Match i_childPort and i_childNum if ( ((i_childPort == ErrorInfoChildrenCDG::ALL_CHILD_PORTS) || (i_childPort == - (*l_itr)->getAttr<TARGETING::ATTR_MBA_PORT>())) + (*l_itr)->getAttr<TARGETING::ATTR_CEN_MBA_PORT>())) && ((i_childNum == ErrorInfoChildrenCDG::ALL_CHILD_NUMBERS) || (i_childNum == - (*l_itr)->getAttr<TARGETING::ATTR_MBA_DIMM>())) ) + (*l_itr)->getAttr<TARGETING::ATTR_CEN_MBA_DIMM>())) ) { o_childTargets.push_back(*l_itr); } diff --git a/src/usr/fapi2/test/fapi2GetChildrenTest.H b/src/usr/fapi2/test/fapi2GetChildrenTest.H index 4f012812a..5d2fac45f 100644 --- a/src/usr/fapi2/test/fapi2GetChildrenTest.H +++ b/src/usr/fapi2/test/fapi2GetChildrenTest.H @@ -911,6 +911,8 @@ void test_fapi2getChildTargetsForCDG() 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; do { FAPI_DBG("start of test_fapi2getChildTargetsForCDG()"); @@ -929,12 +931,16 @@ void test_fapi2getChildTargetsForCDG() { l_proc = l_nimbusProc; l_expectedDimms = 16; - + l_expectedDimmsUnderPort0 = l_expectedDimms; + l_expectedDimmsUnderPort1 = 0; } else if (l_cumulusProc != nullptr) { l_proc = l_cumulusProc; l_expectedDimms = 8; + l_expectedDimmsUnderPort0 = l_expectedDimms/2; + l_expectedDimmsUnderPort1 = l_expectedDimms/2; + } else //both are nullptr { @@ -973,10 +979,11 @@ void test_fapi2getChildTargetsForCDG() FAPI_INF("test_fapi2getChildTargetsForCDG: Dimms under proc 0x%.08X port 0 is %d", TARGETING::get_huid(l_proc),l_dimmList.size()); numTests++; - if(l_dimmList.size() != l_expectedDimms) + + if(l_dimmList.size() != l_expectedDimmsUnderPort0) { FAPI_ERR("test_fapi2getChildTargetsForCDG: Dimm count %d under port 0 not equal expected %d", - l_dimmList.size(),l_expectedDimms); + l_dimmList.size(),l_expectedDimmsUnderPort0); numFails++; } @@ -989,10 +996,11 @@ void test_fapi2getChildTargetsForCDG() FAPI_INF("test_fapi2getChildTargetsForCDG: Dimms under proc 0x%.08X port 1 is %d", TARGETING::get_huid(l_proc),l_dimmList.size()); numTests++; - if(l_dimmList.size() != 0) + + if(l_dimmList.size() != l_expectedDimmsUnderPort1) { FAPI_ERR("test_fapi2getChildTargetsForCDG: Dimm count %d under port 1 not equal expected %d", - l_dimmList.size(),0); + l_dimmList.size(),l_expectedDimmsUnderPort1); numFails++; } |