diff options
author | Yue Du <daviddu@us.ibm.com> | 2016-12-16 14:47:38 -0600 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-01-04 23:32:40 -0500 |
commit | 2eaf11d5235c292912ed5b314ca8eab7cc764675 (patch) | |
tree | 3e588f81bf89d44b1ddff20e67b8b3e8f9f65b1b /src | |
parent | 9420d5535396ef39cb0c7ff5dc3347aaa379e3bf (diff) | |
download | talos-sbe-2eaf11d5235c292912ed5b314ca8eab7cc764675.tar.gz talos-sbe-2eaf11d5235c292912ed5b314ca8eab7cc764675.zip |
ISTEP4: using FAPI_ASSERT instead of manual fapi_rc_false
Change-Id: I20b4d59f1ba6a428f85cda8432e556b2b96046c8
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34012
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-by: Matt K. Light <mklight@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34017
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C | 71 |
1 files changed, 33 insertions, 38 deletions
diff --git a/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C b/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C index 4fd2e2b3..1bccbd62 100644 --- a/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C +++ b/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER sbe Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -129,47 +129,42 @@ p9_hcd_cache_scominit( fapi2::Target<fapi2::TARGET_TYPE_EX> l_ex = *l_iter; auto l_core_targets = l_ex.getChildren<fapi2::TARGET_TYPE_CORE>(); - if (l_core_targets.size() == 0) + FAPI_ASSERT((l_core_targets.size() != 0), + fapi2::PMPROC_CACHESCOMINIT_NOGOODCOREINEX().set_QCSR(l_qcsr), + "NO Good Children Cores under this So-Called Good EX!"); + + auto l_core = l_core_targets.begin(); + fapi2::Target<fapi2::TARGET_TYPE_CORE> l_ec = *l_core; + fapi2::Target<fapi2::TARGET_TYPE_PERV> l_perv = + l_ec.getParent<fapi2::TARGET_TYPE_PERV>(); + + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, l_perv, + l_attr_chip_unit_pos)); + l_attr_chip_unit_pos = l_attr_chip_unit_pos - p9hcd::PERV_TO_CORE_POS_OFFSET; + l_exid = (l_attr_chip_unit_pos >> 1); + + FAPI_DBG("Setup L3-LCO on TARGET_ID[%d] via EX_L3_MODE_REG1[0,2-5,6-21]", l_exid); + FAPI_TRY(getScom(*l_iter, EX_L3_MODE_REG1, l_data64)); + l_data64.insertFromRight<2, 4>(l_exid).insertFromRight<6, 16>(l_exlist); + + if (l_excount > 1) + { + l_data64.setBit<0>(); + } + + FAPI_TRY(putScom(*l_iter, EX_L3_MODE_REG1, l_data64)); + + FAPI_TRY(getScom(*l_iter, EX_L3_MODE_REG0, l_data64)); + + if (l_excount == 2) { - FAPI_ERR("ERROR: NO Good Children Cores under this So-Called Good EX!"); - fapi2::current_err = fapi2::FAPI2_RC_FALSE; - goto fapi_try_exit; + FAPI_DBG("Assert L3_DYN_LCO_BLK_DIS_CFG on TARGET_ID[%d] via EX_L3_MODE_REG0[9]", l_exid); + FAPI_TRY(putScom(*l_iter, EX_L3_MODE_REG0, DATA_SET(9))); } else { - auto l_core = l_core_targets.begin(); - fapi2::Target<fapi2::TARGET_TYPE_CORE> l_ec = *l_core; - fapi2::Target<fapi2::TARGET_TYPE_PERV> l_perv = - l_ec.getParent<fapi2::TARGET_TYPE_PERV>(); - - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, l_perv, - l_attr_chip_unit_pos)); - l_attr_chip_unit_pos = l_attr_chip_unit_pos - p9hcd::PERV_TO_CORE_POS_OFFSET; - l_exid = (l_attr_chip_unit_pos >> 1); - - FAPI_DBG("Setup L3-LCO on TARGET_ID[%d] via EX_L3_MODE_REG1[0,2-5,6-21]", l_exid); - FAPI_TRY(getScom(*l_iter, EX_L3_MODE_REG1, l_data64)); - l_data64.insertFromRight<2, 4>(l_exid).insertFromRight<6, 16>(l_exlist); - - if (l_excount > 1) - { - l_data64.setBit<0>(); - } - - FAPI_TRY(putScom(*l_iter, EX_L3_MODE_REG1, l_data64)); - - FAPI_TRY(getScom(*l_iter, EX_L3_MODE_REG0, l_data64)); - - if (l_excount == 2) - { - FAPI_DBG("Assert L3_DYN_LCO_BLK_DIS_CFG on TARGET_ID[%d] via EX_L3_MODE_REG0[9]", l_exid); - FAPI_TRY(putScom(*l_iter, EX_L3_MODE_REG0, DATA_SET(9))); - } - else - { - FAPI_DBG("Drop L3_DYN_LCO_BLK_DIS_CFG on TARGET_ID[%d] via EX_L3_MODE_REG0[9]", l_exid); - FAPI_TRY(putScom(*l_iter, EX_L3_MODE_REG0, DATA_UNSET(9))); - } + FAPI_DBG("Drop L3_DYN_LCO_BLK_DIS_CFG on TARGET_ID[%d] via EX_L3_MODE_REG0[9]", l_exid); + FAPI_TRY(putScom(*l_iter, EX_L3_MODE_REG0, DATA_UNSET(9))); } } } |