summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep07
diff options
context:
space:
mode:
authorDzuy Nguyen <dzuy@us.ibm.com>2017-07-18 13:25:21 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-07-18 18:17:09 -0400
commit878ecf9cc18cf7d2696ce7223d5a485852970153 (patch)
treefa0adf5e58325182c0549b6308e279b4970ca830 /src/usr/isteps/istep07
parent70f4568bc783303c6310aaaca725b82e339691d5 (diff)
downloadtalos-hostboot-878ecf9cc18cf7d2696ce7223d5a485852970153.tar.gz
talos-hostboot-878ecf9cc18cf7d2696ce7223d5a485852970153.zip
Block SBE updates during mpipl
Change-Id: Ie59495404ec27d6be865063fc930e895340d9be2 RTC: 169683 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42853 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> 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/usr/isteps/istep07')
-rw-r--r--src/usr/isteps/istep07/call_mss_freq.C52
1 files changed, 41 insertions, 11 deletions
diff --git a/src/usr/isteps/istep07/call_mss_freq.C b/src/usr/isteps/istep07/call_mss_freq.C
index a30592847..252c82d43 100644
--- a/src/usr/isteps/istep07/call_mss_freq.C
+++ b/src/usr/isteps/istep07/call_mss_freq.C
@@ -72,6 +72,7 @@ void* call_mss_freq( void *io_pArgs )
{
IStepError l_StepError;
errlHndl_t l_err = NULL;
+
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_freq entry" );
TARGETING::TargetHandleList l_membufTargetList;
@@ -201,23 +202,52 @@ void* call_mss_freq( void *io_pArgs )
" Original Nest: %d New Nest: %d"
" Original syncMode: %d New syncMode: %d",
l_originalNest, l_newNest, l_bootSyncMode, l_mcSyncMode );
+ if(l_sys->getAttr<TARGETING::ATTR_IS_MPIPL_HB>() == true)
+ {
- TARGETING::setFrequencyAttributes(l_sys,
- l_newNest);
-
- l_err = SBE::updateProcessorSbeSeeproms();
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Error: SBE update detected in MPIPL");
+
+ /*@
+ * @errortype
+ * @moduleid MOD_SBE_PERFORM_UPDATE_CHECK
+ * @reasoncode RC_SBE_UPDATE_IN_MPIPL
+ * @userdata1[0:31] original mc sync mode
+ * @userdata1[32:63] new mc sync mode
+ * @userdata2[0:31] original nest frequency
+ * @userdata2[32:63] new nest frequency
+ * @devdesc SBE cannot be reset during MPIPL
+ * @custdesc Illegal action during boot
+ */
+ l_err = new ErrlEntry(ERRL_SEV_INFORMATIONAL,
+ MOD_SBE_PERFORM_UPDATE_CHECK,
+ RC_SBE_UPDATE_IN_MPIPL,
+ TWO_UINT32_TO_UINT64(
+ TO_UINT32(l_bootSyncMode),
+ TO_UINT32(l_mcSyncMode)),
+ TWO_UINT32_TO_UINT64(
+ l_originalNest, l_newNest));
- if( l_err )
+ l_StepError.addErrorDetails( l_err );
+ errlCommit( l_err, ISTEP_COMP_ID );
+ }
+ else
{
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ TARGETING::setFrequencyAttributes(l_sys,
+ l_newNest);
+ l_err = SBE::updateProcessorSbeSeeproms();
+ if( l_err )
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
"call_mss_freq.C - Error calling updateProcessorSbeSeeproms");
- // Create IStep error log and cross reference to error
- // that occurred
- l_StepError.addErrorDetails( l_err );
+ // Create IStep error log and cross reference to error
+ // that occurred
+ l_StepError.addErrorDetails( l_err );
- // Commit Error
- errlCommit( l_err, ISTEP_COMP_ID );
+ // Commit Error
+ errlCommit( l_err, ISTEP_COMP_ID );
+ }
}
}
}
OpenPOWER on IntegriCloud