diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-04-06 12:21:39 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-04-10 13:48:20 -0400 |
commit | a4e9bdd5d47c4ac48377c12cae6952cb3101b657 (patch) | |
tree | 8fe4c7229ca7f082c5d925e596f51a648017ea44 | |
parent | 7ee5536ef2a1302676976133c905a3a4c8812c9a (diff) | |
download | talos-hostboot-a4e9bdd5d47c4ac48377c12cae6952cb3101b657.tar.gz talos-hostboot-a4e9bdd5d47c4ac48377c12cae6952cb3101b657.zip |
Improve error handling when slave SBE fails to boot
If we fail to boot the slave SBE we should mark it in the istep
errlog to ensure that we fail the istep and perform a reconfig
loop.
Change-Id: I70e67b5b3e1e35e0ee76eb1f158435ee44a436ef
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56882
Reviewed-by: Martin Gloff <mgloff@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: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Roland Veloz <rveloz@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/include/usr/isteps/istep_reasoncodes.H | 1 | ||||
-rw-r--r-- | src/usr/isteps/istep08/call_proc_check_slave_sbe_seeprom_complete.C | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/include/usr/isteps/istep_reasoncodes.H b/src/include/usr/isteps/istep_reasoncodes.H index 616ac7617..c0f30679a 100644 --- a/src/include/usr/isteps/istep_reasoncodes.H +++ b/src/include/usr/isteps/istep_reasoncodes.H @@ -114,6 +114,7 @@ namespace ISTEP RC_P9N_DD1_NOT_SUPPORTED = ISTEP_COMP_ID | 0x35, RC_PREVENT_REBOOT_IN_MFG_TERM_MODE = ISTEP_COMP_ID | 0x36, RC_FAILED_WRITE_SPR = ISTEP_COMP_ID | 0x37, + RC_FAILED_TO_BOOT_SBE = ISTEP_COMP_ID | 0x38, }; }; 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 4b45a8de2..8dcab75c6 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 @@ -173,6 +173,32 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs ) " completed ok for proc 0x%.8X", TARGETING::get_huid(l_cpu_target)); } + else + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "FAILURE : proc_check_slave_sbe_seeprom_complete" + "SBE for proc 0x%.8X did not reach runtime", + TARGETING::get_huid(l_cpu_target)); + /*@ + * @reasoncode RC_FAILED_TO_BOOT_SBE + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid MOD_CHECK_SLAVE_SBE_SEEPROM_COMPLETE + * @userdata1 HUID of proc that failed to boot its SBE + * @userdata2 Unused + * @devdesc Failed to boot a slave SBE + * @custdesc Processor Error + */ + l_errl = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE, + MOD_CHECK_SLAVE_SBE_SEEPROM_COMPLETE, + RC_FAILED_TO_BOOT_SBE, + TARGETING::get_huid(l_cpu_target), + 0); + l_errl->collectTrace( "ISTEPS_TRACE", 256 ); + l_stepError.addErrorDetails( l_errl); + errlCommit(l_errl, ISTEP_COMP_ID); + + + } /* @TODO-RTC:100963 This should only be called when the SBE has completely crashed. There is a path in OpenPower where HB may get an |