diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/usr/sbeio/sbeioreasoncodes.H | 3 | ||||
-rw-r--r-- | src/usr/sbeio/common/sbe_retry_handler.C | 31 |
2 files changed, 31 insertions, 3 deletions
diff --git a/src/include/usr/sbeio/sbeioreasoncodes.H b/src/include/usr/sbeio/sbeioreasoncodes.H index a0b7aac68..cd4d97b4c 100644 --- a/src/include/usr/sbeio/sbeioreasoncodes.H +++ b/src/include/usr/sbeio/sbeioreasoncodes.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2013,2017 */ +/* Contributors Listed Below - COPYRIGHT 2013,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -120,6 +120,7 @@ enum sbeioReasonCode SBEIO_INCORRECT_FCN_CALL = SBEIO_COMP_ID | 0x56, SBEIO_RETURNED_FFDC = SBEIO_COMP_ID | 0x57, SBEIO_SLAVE_TIMEOUT = SBEIO_COMP_ID | 0x58, + SBEIO_ATTEMPTING_REBOOT = SBEIO_COMP_ID | 0x59, // SBE Vital Attention error codes SBEIO_SBE_RC_VALUE_INFO = SBEIO_COMP_ID | 0x60, diff --git a/src/usr/sbeio/common/sbe_retry_handler.C b/src/usr/sbeio/common/sbe_retry_handler.C index ed7bfb11d..e2889bf16 100644 --- a/src/usr/sbeio/common/sbe_retry_handler.C +++ b/src/usr/sbeio/common/sbe_retry_handler.C @@ -880,10 +880,37 @@ bool SbeRetryHandler::sbe_boot_fail_handler(TARGETING::Target * i_target, SBE_TRACF("p9_extract_sbe_rc HWP returned action %d and errorlog " "PLID=0x%x, rc=0x%.4X", this->iv_currentAction, l_errl->plid(), l_errl->reasonCode() ); - delete l_errl; - l_errl = nullptr; + errlCommit(l_errl, SBEIO_COMP_ID); } + SBE_TRACF("sbe_boot_fail_handler: We have hit an error in the SBE " + "and hostboot will now attempt to reboot the SBE"); + /*@ + * @errortype + * @severity ERRORLOG::ERRL_SEV_PREDICTIVE + * @moduleid SBEIO_EXTRACT_RC_HANDLER + * @reasoncode SBEIO_ATTEMPTING_REBOOT + * @userdata1 HUID of proc which had the SBE timeout + * @userdata2 Current action to be taken on the SBE + * @devdesc HWP has returned a reboot action to be taken + * Hostboot will now attempt to reboot the SBE + * @custdesc A processor in the system has failed to initialize. + * Hostboot is attempting a recovery. + */ + l_errl = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_PREDICTIVE, + SBEIO_EXTRACT_RC_HANDLER, + SBEIO_ATTEMPTING_REBOOT, + TARGETING::get_huid(i_target), + this->iv_currentAction); + l_errl->collectTrace("SBEIO_TRACE",KILOBYTE/4); + + // Set the PLID of the error log to caller's PLID if provided + if(iv_callerErrorLogPLID) + { + l_errl->plid(iv_callerErrorLogPLID); + } + errlCommit(l_errl,SBEIO_COMP_ID); + if(INITSERVICE::spBaseServicesEnabled()) { #ifndef __HOSTBOOT_RUNTIME |