summaryrefslogtreecommitdiffstats
path: root/src/include/usr/sbeio/sbe_retry_handler.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr/sbeio/sbe_retry_handler.H')
-rw-r--r--src/include/usr/sbeio/sbe_retry_handler.H37
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;
OpenPOWER on IntegriCloud