summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep21/call_host_runtime_setup.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep21/call_host_runtime_setup.C')
-rw-r--r--src/usr/isteps/istep21/call_host_runtime_setup.C32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/usr/isteps/istep21/call_host_runtime_setup.C b/src/usr/isteps/istep21/call_host_runtime_setup.C
index af7699b6c..f32827fbf 100644
--- a/src/usr/isteps/istep21/call_host_runtime_setup.C
+++ b/src/usr/isteps/istep21/call_host_runtime_setup.C
@@ -153,24 +153,38 @@ void* call_host_runtime_setup (void *io_pArgs)
if(l_activatePM)
{
- l_err = HBPM::loadPMAll(HBPM::PM_LOAD);
+ TARGETING::Target* l_failTarget = NULL;
+ bool pmStartSuccess = true;
+
+ l_err = loadAndStartPMAll(HBPM::PM_LOAD, l_failTarget);
if (l_err)
{
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "loadPMAll failed");
+ "loadAndStartPMAll failed");
// Commit the error and continue with the istep
errlCommit(l_err, ISTEP_COMP_ID);
+ pmStartSuccess = false;
}
- l_err = HBPM::startPMAll();
- if (l_err)
- {
- TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
- "startPMAll failed");
- // Commit the error and continue with the istep
- errlCommit(l_err, ISTEP_COMP_ID);
+#ifdef CONFIG_HTMGT
+ // Report PM status to HTMGT
+ HTMGT::processOccStartStatus(pmStartSuccess,l_failTarget);
+#else
+ // Verify all OCCs have reached the checkpoint
+ if (pmStartSuccess)
+ {
+ l_err = HBPM::verifyOccChkptAll();
+ if (l_err)
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "verifyOccCheckpointAll failed");
+
+ // Commit the error and continue with the istep
+ errlCommit(l_err, ISTEP_COMP_ID);
+ }
}
+#endif
}
#if 0 //@TODO-RTC:164022-Support max pstate without OCC
OpenPOWER on IntegriCloud