diff options
author | Thi Tran <thi@us.ibm.com> | 2016-07-22 08:43:22 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-08-01 11:38:25 -0400 |
commit | 96ed91e4b8012069aa0d67bb073756153c4dad81 (patch) | |
tree | b91965d5c9bbb3ebc81596830dee14dc1f81f2b5 /src/import | |
parent | d7f28dc0c3e262c5a7a32ef9c6d970dcf93d749c (diff) | |
download | talos-hostboot-96ed91e4b8012069aa0d67bb073756153c4dad81.tar.gz talos-hostboot-96ed91e4b8012069aa0d67bb073756153c4dad81.zip |
Integrating initfiles: NEST cxa/int/nx/mmu
Change-Id: I5d28f984f8c654a714f2e0af7ed40ca93c975292
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27363
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Jenny Huynh <jhuynh@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27364
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/import')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C | 76 |
1 files changed, 70 insertions, 6 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C b/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C index 3b8528c0e..17d9698a9 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C @@ -40,6 +40,10 @@ #include <p9_fbc_ioo_tl_scom.H> #include <p9_fbc_ioo_dl_scom.H> #include <p9_mcs_scom.H> +#include <p9_cxa_scom.H> +#include <p9_nx_scom.H> +#include <p9_mmu_scom.H> +#include <p9_int_scom.H> //------------------------------------------------------------------------------ // Function definitions @@ -48,19 +52,26 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) { fapi2::ReturnCode l_rc; + char l_procTargetStr[fapi2::MAX_ECMD_STRING_LEN]; + char l_chipletTargetStr[fapi2::MAX_ECMD_STRING_LEN]; fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> FAPI_SYSTEM; std::vector<fapi2::Target<fapi2::TARGET_TYPE_XBUS>> l_xbus_chiplets; std::vector<fapi2::Target<fapi2::TARGET_TYPE_OBUS>> l_obus_chiplets; std::vector<fapi2::Target<fapi2::TARGET_TYPE_MCS>> l_mcs_targets; + std::vector<fapi2::Target<fapi2::TARGET_TYPE_CAPP>> l_capp_targets; + fapi2::ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_Type l_fbc_optics_cfg_mode = { fapi2::ENUM_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_SMP }; FAPI_DBG("Start"); + // Get proc target string + fapi2::toString(i_target, l_procTargetStr, sizeof(l_procTargetStr)); + l_mcs_targets = i_target.getChildren<fapi2::TARGET_TYPE_MCS>(); for (auto l_mcs_target : l_mcs_targets) { - - FAPI_DBG("Invoking p9.mcs.scom.initfile..."); + fapi2::toString(l_mcs_target, l_chipletTargetStr, sizeof(l_chipletTargetStr)); + FAPI_DBG("Invoking p9.mcs.scom.initfile on target %s...", l_chipletTargetStr); FAPI_EXEC_HWP(l_rc, p9_mcs_scom, l_mcs_target ); if (l_rc) @@ -73,7 +84,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO } // apply FBC non-hotplug initfile - FAPI_DBG("Invoking p9.fbc.no_hp.scom.initfile..."); + FAPI_DBG("Invoking p9.fbc.no_hp.scom.initfile on target %s...", l_procTargetStr); FAPI_EXEC_HWP(l_rc, p9_fbc_no_hp_scom, i_target, FAPI_SYSTEM); if (l_rc) @@ -84,7 +95,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO } // invoke IOE (XBUS FBC IO) SCOM initfiles - FAPI_DBG("Invoking p9.fbc.ioe_tl.scom.initfile..."); + FAPI_DBG("Invoking p9.fbc.ioe_tl.scom.initfile on target %s...", l_procTargetStr); FAPI_EXEC_HWP(l_rc, p9_fbc_ioe_tl_scom, i_target, FAPI_SYSTEM); if (l_rc) @@ -100,7 +111,8 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO l_iter != l_xbus_chiplets.end(); l_iter++) { - FAPI_DBG("Invoking p9.fbc.ioe_dl.scom.initfile..."); + fapi2::toString(*l_iter, l_chipletTargetStr, sizeof(l_chipletTargetStr)); + FAPI_DBG("Invoking p9.fbc.ioe_dl.scom.initfile on target %s...", l_chipletTargetStr); FAPI_EXEC_HWP(l_rc, p9_fbc_ioe_dl_scom, *l_iter); if (l_rc) @@ -112,7 +124,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO } // invoke IOO (OBUS FBC IO) SCOM initfiles - FAPI_DBG("Invoking p9.fbc.ioo_tl.scom.initfile..."); + FAPI_DBG("Invoking p9.fbc.ioo_tl.scom.initfile on target %s...", l_procTargetStr); FAPI_EXEC_HWP(l_rc, p9_fbc_ioo_tl_scom, i_target); if (l_rc) @@ -134,6 +146,7 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_OPTICS_CONFIG_MODE, *l_iter, l_fbc_optics_cfg_mode[l_unit_pos]), "Error from FAPI_ATTR_GET(ATTR_OPTICS_CONFIG_MODE)"); + fapi2::toString(*l_iter, l_chipletTargetStr, sizeof(l_chipletTargetStr)); FAPI_DBG("Invoking p9.fbc.ioo_dl.scom.initfile..."); FAPI_EXEC_HWP(l_rc, p9_fbc_ioo_dl_scom, *l_iter); @@ -148,6 +161,57 @@ fapi2::ReturnCode p9_chiplet_scominit(const fapi2::Target<fapi2::TARGET_TYPE_PRO FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE, i_target, l_fbc_optics_cfg_mode), "Error from FAPI_ATTR_SET(ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE)"); + + // Invoke NX SCOM initfile + FAPI_DBG("Invoking p9.nx.scom.initfile on target %s...", l_procTargetStr); + FAPI_EXEC_HWP(l_rc, p9_nx_scom, i_target, FAPI_SYSTEM); + + if (l_rc) + { + FAPI_ERR("Error from p9_nx_scom"); + fapi2::current_err = l_rc; + goto fapi_try_exit; + } + + // Invoke CXA SCOM initfile + l_capp_targets = i_target.getChildren<fapi2::TARGET_TYPE_CAPP>(); + + for (auto l_capp : l_capp_targets) + { + fapi2::toString(l_capp, l_chipletTargetStr, sizeof(l_chipletTargetStr)); + FAPI_DBG("Invoking p9.cxa.scom.initfile on target %s...", l_chipletTargetStr); + FAPI_EXEC_HWP(l_rc, p9_cxa_scom, l_capp, FAPI_SYSTEM); + + if (l_rc) + { + FAPI_ERR("Error from p9_cxa_scom"); + fapi2::current_err = l_rc; + goto fapi_try_exit; + } + } + + // Invoke MMU SCOM initfile + FAPI_DBG("Invoking p9.mmu.scom.initfile on target %s...", l_procTargetStr); + FAPI_EXEC_HWP(l_rc, p9_mmu_scom, i_target, FAPI_SYSTEM); + + if (l_rc) + { + FAPI_ERR("Error from p9_mmu_scom"); + fapi2::current_err = l_rc; + goto fapi_try_exit; + } + + // Invoke INT SCOM initfile + FAPI_DBG("Invoking p9.int.scom.initfile on target %s...", l_procTargetStr); + FAPI_EXEC_HWP(l_rc, p9_int_scom, i_target, FAPI_SYSTEM); + + if (l_rc) + { + FAPI_ERR("Error from p9_int_scom"); + fapi2::current_err = l_rc; + goto fapi_try_exit; + } + fapi_try_exit: FAPI_DBG("End"); return fapi2::current_err; |