diff options
Diffstat (limited to 'src/include/usr/sbeio/sbe_retry_handler.H')
-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; |