diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2017-01-04 11:19:02 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-02-03 10:40:10 -0500 |
commit | 0acb956bb98770c4ffcc65759c32b6032bfeb921 (patch) | |
tree | be831653024c2211c40fe8f11695b5b401c95f49 /src/usr/isteps/istep21 | |
parent | da3675d8e4c72ea6e952546e27432784c0a99a9b (diff) | |
download | talos-hostboot-0acb956bb98770c4ffcc65759c32b6032bfeb921.tar.gz talos-hostboot-0acb956bb98770c4ffcc65759c32b6032bfeb921.zip |
Verify OCC checkpoint is reached after starting PM complex
RTC:165644
Change-Id: Id47ffd1781082d57726507372dd461080bddaecc
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35061
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep21')
-rw-r--r-- | src/usr/isteps/istep21/call_host_runtime_setup.C | 32 |
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 |