diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2017-09-19 15:25:04 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-09-22 09:45:36 -0400 |
commit | 72cf61348b47dfa2be0de8467ce4cceb113d3a62 (patch) | |
tree | da6623cff1069c4f0509ac8552271b3927b22847 /src/usr | |
parent | 06029fd46fa0cfb7d21a7810b7bec6a77fa77243 (diff) | |
download | talos-hostboot-72cf61348b47dfa2be0de8467ce4cceb113d3a62.tar.gz talos-hostboot-72cf61348b47dfa2be0de8467ce4cceb113d3a62.zip |
Clear reconfigure loop attribute's deconfig bit during MPIPL
In host_gard if we deconfigure targs as a result of collectGard
it is using a PLID as a reason for deconfig. This causes a reconfig
loop attribute to be set which will make this host think it needs
a reconfig loop, which is undesired behavior.
Change-Id: I50b5847d85ec54bd5a0f33483571dace3c312182
CQ: SW401347
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46456
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>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-by: Roland Veloz <rveloz@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/isteps/istep06/host_gard.C | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/src/usr/isteps/istep06/host_gard.C b/src/usr/isteps/istep06/host_gard.C index c69a6cdbf..ff323f577 100644 --- a/src/usr/isteps/istep06/host_gard.C +++ b/src/usr/isteps/istep06/host_gard.C @@ -118,34 +118,33 @@ void* host_gard( void *io_pArgs ) "collectGard returned error; breaking out"); break; } + } - if (l_err == NULL) - { - // check and see if we still have enough hardware to continue - l_err = HWAS::checkMinimumHardware(); - if(l_err) - { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - ERR_MRK"host_gard: " - "check minimum hardware returned error; breaking out"); - break; - } - } - // If targets are deconfigured as a result of host_gard, they are - // done so using the PLID as the reason for deconfiguration. This - // triggers the reconfigure loop attribute to be set, which causes - // undesirable behavior, so we need to reset it here: - - // Read current value - TARGETING::ATTR_RECONFIGURE_LOOP_type l_reconfigAttr = - l_pTopLevel->getAttr<TARGETING::ATTR_RECONFIGURE_LOOP>(); - // Turn off deconfigure bit - l_reconfigAttr &= ~TARGETING::RECONFIGURE_LOOP_DECONFIGURE; - // Write back to attribute - l_pTopLevel->setAttr<TARGETING::ATTR_RECONFIGURE_LOOP> - (l_reconfigAttr); + // check and see if we still have enough hardware to continue + l_err = HWAS::checkMinimumHardware(); + if(l_err) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + ERR_MRK"host_gard: " + "check minimum hardware returned error; breaking out"); + break; } + // If targets are deconfigured as a result of host_gard, they are + // done so using the PLID as the reason for deconfiguration. This + // triggers the reconfigure loop attribute to be set, which causes + // undesirable behavior, so we need to reset it here: + + // Read current value + TARGETING::ATTR_RECONFIGURE_LOOP_type l_reconfigAttr = + l_pTopLevel->getAttr<TARGETING::ATTR_RECONFIGURE_LOOP>(); + // Turn off deconfigure bit + l_reconfigAttr &= ~TARGETING::RECONFIGURE_LOOP_DECONFIGURE; + // Write back to attribute + l_pTopLevel->setAttr<TARGETING::ATTR_RECONFIGURE_LOOP> + (l_reconfigAttr); + + // Send message to FSP with HUID of master core msg_t * core_msg = msg_allocate(); core_msg->type = SBE::MSG_IPL_MASTER_CORE; |