diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-03-14 18:26:16 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-04-06 10:15:43 -0400 |
commit | ba8c8bfc02ca3d42a3caf3f8f797df07487c1dab (patch) | |
tree | b0d8d1a4797b787a3b1194f5198746d4bd92c874 /src/usr/isteps/istep08 | |
parent | 02f8995967cc97988cf3cdb40b1805915517bbaf (diff) | |
download | talos-hostboot-ba8c8bfc02ca3d42a3caf3f8f797df07487c1dab.tar.gz talos-hostboot-ba8c8bfc02ca3d42a3caf3f8f797df07487c1dab.zip |
sbe_retry_handler refactor
Previously the sbe_retry_handler had logic and wording that
assumed that it was being used to tell if the slave sbe booted or not.
However this code has many more use cases then that. Also there was some
indirect recursion that made the code hard to follow. With this refactor
the code should be easier to follow and the vocabulary used should be more
generic.
Change-Id: If6520197b3dd561857e336ed89d9356c1f2601d6
CQ: SW416106
RTC: 167191
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55896
Tested-by: Jenkins Server <pfd-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: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep08')
-rw-r--r-- | src/usr/isteps/istep08/call_proc_check_slave_sbe_seeprom_complete.C | 40 | ||||
-rw-r--r-- | src/usr/isteps/istep08/makefile | 3 |
2 files changed, 15 insertions, 28 deletions
diff --git a/src/usr/isteps/istep08/call_proc_check_slave_sbe_seeprom_complete.C b/src/usr/isteps/istep08/call_proc_check_slave_sbe_seeprom_complete.C index 215d0e35f..4b45a8de2 100644 --- a/src/usr/isteps/istep08/call_proc_check_slave_sbe_seeprom_complete.C +++ b/src/usr/isteps/istep08/call_proc_check_slave_sbe_seeprom_complete.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2017 */ +/* Contributors Listed Below - COPYRIGHT 2015,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -129,13 +129,24 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs ) " on processor target %.8X", TARGETING::get_huid(l_cpu_target)); + //Note no PLID passed in SBEIO::SbeRetryHandler l_SBEobj = SBEIO::SbeRetryHandler( SBEIO::SbeRetryHandler::SBE_MODE_OF_OPERATION::ATTEMPT_REBOOT); + l_SBEobj.setSbeRestartMethod(SBEIO::SbeRetryHandler:: + SBE_RESTART_METHOD::START_CBS); + + // We want to tell the retry handler that we have just powered + // on the sbe, to distinguish this case from other cases where + // we have determine there is something wrong w/ the sbe and + // want to diagnose the problem + l_SBEobj.setInitialPowerOn(true); + l_SBEobj.main_sbe_handler(l_cpu_target); - // No error and still functional - if(l_cpu_target->getAttr<ATTR_HWAS_STATE>().functional) + // We will judge whether or not the SBE had a succesful + // boot or not depending on if it made it to runtime or not + if(l_SBEobj.isSbeAtRuntime()) { // Set attribute indicating that SBE is started l_cpu_target->setAttr<ATTR_SBE_IS_STARTED>(1); @@ -173,29 +184,6 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs ) "Running p9_extract_sbe_rc HWP" " on processor target %.8X", TARGETING::get_huid(l_cpu_target) ); - - //@TODO-RTC:100963-Do something with the RETURN_ACTION - P9_EXTRACT_SBE_RC::RETURN_ACTION l_rcAction - = P9_EXTRACT_SBE_RC::RE_IPL; - FAPI_INVOKE_HWP(l_errl, p9_extract_sbe_rc, - l_fapi2ProcTarget, - l_rcAction); - if (l_errl) - { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR : proc_check_slave_sbe_seeprom_complete " - "failed, p9_extract_sbe_rc HWP returning errorlog PLID=0x%x", - l_errl->plid()); - - // capture the target data in the elog - ErrlUserDetailsTarget(l_cpu_target).addToLog( l_errl ); - - // Create IStep error log and cross reference to error that occurred - l_stepError.addErrorDetails( l_errl ); - - // Commit error log - errlCommit( l_errl, HWPF_COMP_ID ); - } **/ } // end of going through all processors diff --git a/src/usr/isteps/istep08/makefile b/src/usr/isteps/istep08/makefile index 6aed23e56..347d8e2b9 100644 --- a/src/usr/isteps/istep08/makefile +++ b/src/usr/isteps/istep08/makefile @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2015,2017 +# Contributors Listed Below - COPYRIGHT 2015,2018 # [+] International Business Machines Corp. # # @@ -74,7 +74,6 @@ include ${PROCEDURES_PATH}/hwp/perv/p9_start_cbs.mk # proc_check_slave_sbe_seeprom_complete : Check Slave SBE Complete include ${PROCEDURES_PATH}/hwp/perv/p9_check_slave_sbe_seeprom_complete.mk -include ${PROCEDURES_PATH}/hwp/sbe/p9_get_sbe_msg_register.mk include ${PROCEDURES_PATH}/hwp/perv/p9_getecid.mk # host_p9_fbc_eff_config |