summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorThi Tran <thi@us.ibm.com>2016-07-22 08:43:22 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-08-01 11:38:25 -0400
commit96ed91e4b8012069aa0d67bb073756153c4dad81 (patch)
treeb91965d5c9bbb3ebc81596830dee14dc1f81f2b5 /src/import
parentd7f28dc0c3e262c5a7a32ef9c6d970dcf93d749c (diff)
downloadtalos-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.C76
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;
OpenPOWER on IntegriCloud