diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-06-28 16:54:16 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-07-19 15:35:30 -0500 |
commit | be6ed717c7a1de17f3934ed229b64c30f7a9e58b (patch) | |
tree | 6db151f880ded4fce78a9314ea256e886213ebe6 /src/usr/isteps | |
parent | ba8d9b8321dd40f157753247111b0a969152af34 (diff) | |
download | talos-hostboot-be6ed717c7a1de17f3934ed229b64c30f7a9e58b.tar.gz talos-hostboot-be6ed717c7a1de17f3934ed229b64c30f7a9e58b.zip |
Only switch sides and perform hreset if SEEPROM side versions match
In the event that the SBE fails hostboot will attempt to recover it.
During runtime hostboot will attempt an HRESET if the SBE is in a
failed state. When the SBE performs the HRESET it will save some
important information that will persist through the reset. If one
side is failing to recover the retry code will attempt to switch sides
and do the hreset. If the SBE seeproms have different versions of the
SBE code the data that was supposed to persist through the HRESET will
be in incorrect places because the version mismatch. Because of this
we cannot switch seeprom sides and perform a hreset if the seeproms have
different level of the SBE code.
CQ: SW438029
Change-Id: Ic7078a886088cc4d5355cc076e72d0fc36f85027
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/61605
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/isteps')
-rw-r--r-- | src/usr/isteps/istep10/call_host_slave_sbe_update.C | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/usr/isteps/istep10/call_host_slave_sbe_update.C b/src/usr/isteps/istep10/call_host_slave_sbe_update.C index e8d436709..730ab9983 100644 --- a/src/usr/isteps/istep10/call_host_slave_sbe_update.C +++ b/src/usr/isteps/istep10/call_host_slave_sbe_update.C @@ -305,6 +305,17 @@ void* call_host_slave_sbe_update (void *io_pArgs) } } + + // Set SEEPROM_VERSIONS_MATCH attributes for each processor + // this will be used later on by the sbe_retry code to determine + // if it is safe to switch seeprom sides during recovery attempts + l_errl = SBE::querySbeSeepromVersions(); + if(l_errl) + { + l_StepError.addErrorDetails( l_errl); + errlCommit( l_errl, HWPF_COMP_ID); + } + } while (0); TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, |