summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep13/call_mss_draminit.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep13/call_mss_draminit.C')
-rw-r--r--src/usr/isteps/istep13/call_mss_draminit.C74
1 files changed, 73 insertions, 1 deletions
diff --git a/src/usr/isteps/istep13/call_mss_draminit.C b/src/usr/isteps/istep13/call_mss_draminit.C
index 1aabd9ddf..00d69f5f3 100644
--- a/src/usr/isteps/istep13/call_mss_draminit.C
+++ b/src/usr/isteps/istep13/call_mss_draminit.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -48,6 +48,7 @@
//From Import Directory (EKB Repository)
#include <fapi2.H>
#include <p9_mss_draminit.H>
+#include <p9c_mss_draminit.H>
using namespace ERRORLOG;
using namespace ISTEP;
@@ -174,6 +175,8 @@ void* call_mss_draminit (void *io_pArgs)
// Create IStep error log and cross reference to error that occurred
l_stepError.addErrorDetails( l_err );
+ break;
+
// Commit Error
errlCommit( l_err, HWPF_COMP_ID );
}
@@ -186,6 +189,75 @@ void* call_mss_draminit (void *io_pArgs)
} // endfor mcbist's
+
+
+ if(l_stepError.getErrorHandle() == NULL)
+ {
+ // Get all Centaur targets
+ TARGETING::TargetHandleList l_membufTargetList;
+ getAllChips(l_membufTargetList, TYPE_MEMBUF);
+
+ for (TargetHandleList::const_iterator
+ l_membuf_iter = l_membufTargetList.begin();
+ l_membuf_iter != l_membufTargetList.end();
+ ++l_membuf_iter)
+ {
+ // make a local copy of the target for ease of use
+ TARGETING::Target* l_pCentaur = *l_membuf_iter;
+
+ TARGETING::TargetHandleList l_mbaTargetList;
+ getChildChiplets(l_mbaTargetList,
+ l_pCentaur,
+ TYPE_MBA);
+
+ for (TargetHandleList::const_iterator
+ l_mba_iter = l_mbaTargetList.begin();
+ l_mba_iter != l_mbaTargetList.end();
+ ++l_mba_iter)
+ {
+ // Make a local copy of the target for ease of use
+ TARGETING::Target* l_mbaTarget = *l_mba_iter;
+
+ // Dump current run on target
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running p9c_mss_draminit HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_mbaTarget));
+
+ // call the HWP with each target
+ fapi2::Target <fapi2::TARGET_TYPE_MBA_CHIPLET> l_fapi_mba_target(l_mbaTarget);
+
+ FAPI_INVOKE_HWP(l_err, p9c_mss_draminit, l_fapi_mba_target);
+
+ // process return code.
+ if ( l_err )
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR 0x%.8X : p9c_mss_draminit HWP returns error",
+ l_err->reasonCode());
+
+ // capture the target data in the elog
+ ErrlUserDetailsTarget(l_mbaTarget).addToLog(l_err);
+
+ // Create IStep error log and cross reference to error that occurred
+ l_stepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, HWPF_COMP_ID );
+
+ break;
+ }
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "SUCCESS running p9c_mss_draminit HWP on "
+ "target HUID %.8X", TARGETING::get_huid(l_mbaTarget));
+ }
+
+ }
+ }
+
+ }
+
// call POST_DRAM_INIT function
if(INITSERVICE::spBaseServicesEnabled())
{
OpenPOWER on IntegriCloud