diff options
| author | Roland Veloz <rveloz@us.ibm.com> | 2018-01-12 14:42:35 -0600 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-01-18 14:08:28 -0500 |
| commit | 4c76eec6354b0c68882bebfc567e95a86c811f9b (patch) | |
| tree | 44e1fae457fad88cf57b40b3fa08dd6a2888fc1c /src/include/usr/sbeio | |
| parent | 1c2de2d2a08c9db419c3a1aa668e826bfe3f24d4 (diff) | |
| download | talos-hostboot-4c76eec6354b0c68882bebfc567e95a86c811f9b.tar.gz talos-hostboot-4c76eec6354b0c68882bebfc567e95a86c811f9b.zip | |
Propagate PLID from caller to any new errors; GARD target on retry fails
For any new errors, if caller has provided a PLID, that PLID
is to replace the new error's PLID. Also gard out the target
associated with the SBE if the SBE retry fails.
Change-Id: Ic0bf1a0233c1cda8f91dd0ef093bd6c9e31574bd
RTC:184891
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51904
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: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/sbeio')
| -rw-r--r-- | src/include/usr/sbeio/sbe_retry_handler.H | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/src/include/usr/sbeio/sbe_retry_handler.H b/src/include/usr/sbeio/sbe_retry_handler.H index baa2a1b6c..a65bfeaaa 100644 --- a/src/include/usr/sbeio/sbe_retry_handler.H +++ b/src/include/usr/sbeio/sbe_retry_handler.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2017 */ +/* Contributors Listed Below - COPYRIGHT 2017,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -66,10 +66,28 @@ class SbeRetryHandler START_CBS = 0, // Use p9_start_cbs to restart the SBE HRESET = 1, // Use Hreset to restart the SBE }; + /** * @brief Constructor + * + * @param[in] i_sbeMode Execute the SbeRetryHandler in either + * informational mode, attempt to reboot mode, + * or action set mode. + * (@see sbe_retry_handler.H) + */ + explicit SbeRetryHandler(SBE_MODE_OF_OPERATION i_sbeMode); + + /** + * @brief Constructor + * + * @param[in] i_sbeMode Execute the SbeRetryHandler in either + * informational mode, attempt to reboot mode, + * or action set mode. + * (@see sbe_retry_handler.H) + * @param[in] i_plid A PLID that is to be propagated down to any + * Error Log Entries that may be created */ - SbeRetryHandler(SBE_MODE_OF_OPERATION i_sbeMode); + SbeRetryHandler(SBE_MODE_OF_OPERATION i_sbeMode, uint32_t i_plid); /** * @brief Destructor @@ -92,6 +110,11 @@ class SbeRetryHandler return this->iv_errorLogPLID; } + inline uint32_t getCallerPLID() + { + return this->iv_callerErrorLogPLID; + } + inline uint8_t getSwitchCount() { return this->iv_switchSidesCount; @@ -225,12 +248,20 @@ class SbeRetryHandler uint8_t iv_sbeSide; /* - * @brief PLID of the error logged. NULL if no error + * @brief PLID of the error logged. 0 if no error * was logged. */ uint32_t iv_errorLogPLID; /* + * @brief PLID of the caller. 0 if caller does not + * provide one. Not to be confused with the + * PLID when error log is created in the usage + * of this class. + */ + uint32_t iv_callerErrorLogPLID; + + /* * @brief Number of times we switch SBE sides. Max is 2 */ uint8_t iv_switchSidesCount; |

