summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-01-26 09:43:22 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-01-30 11:48:32 -0500
commitaff61dd84b01d3aff4dbaa3e32a55c988539266e (patch)
treef88884c89a3f251ac1b5d4288b8d2921a8976746 /src/include/usr
parent9bfb2013af399c316891e005ca0fb8b417deffb3 (diff)
downloadtalos-hostboot-aff61dd84b01d3aff4dbaa3e32a55c988539266e.tar.gz
talos-hostboot-aff61dd84b01d3aff4dbaa3e32a55c988539266e.zip
Add sbe_retry_handler to FIFO fail path
In the event of a FIFO communication failure w/ SBE, hostboot wants to run the sbe_retry_handler in order to collect as much FFDC as possible. We were missing support for this before this commit. This commit also adds support for the sbe_retry_handler to use the Secure Debug Bit and the unsecure mode bit for the p9_extract_rc hwp. Change-Id: I171abd89ccf4e78ffcc7c1190b58af3b11846362 CQ:SW395356 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52702 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@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> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Elizabeth K. Liner <eliner@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/sbeio/sbe_retry_handler.H51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/include/usr/sbeio/sbe_retry_handler.H b/src/include/usr/sbeio/sbe_retry_handler.H
index a65bfeaaa..2042e4d41 100644
--- a/src/include/usr/sbeio/sbe_retry_handler.H
+++ b/src/include/usr/sbeio/sbe_retry_handler.H
@@ -153,6 +153,26 @@ class SbeRetryHandler
this->iv_sbeMode = i_sbeMode;
}
+ inline bool getUseSDB()
+ {
+ return this->iv_useSDB;
+ }
+
+ inline void setUseSDB(bool i_useSDB)
+ {
+ this->iv_useSDB = i_useSDB;
+ }
+
+ inline bool getSecureModeDisabled()
+ {
+ return this->iv_secureModeDisabled;
+ }
+
+ inline void setSecureModeDisabled(bool i_secureModeDisabled)
+ {
+ this->iv_secureModeDisabled = i_secureModeDisabled;
+ }
+
/**
* @brief This function is the main entry point for all of the
* SBE handler functions.
@@ -194,11 +214,29 @@ class SbeRetryHandler
* @param[in] i_target - current proc target
*
* @return - bool: true if we need to retry
+ *
+ * Note: This will default to calling the 2 param version w/ i_hideLog
+ * set to TRUE
*/
bool sbe_boot_fail_handler(TARGETING::Target * i_target);
/**
+ * @brief This function handles the SBE failed to boot error.
+ *
+ * @param[in] i_target - current proc target
+ * @param[in] i_exposeLog - an error log is created at the top
+ * of this function, if we are doing retries
+ * we might not want to have this log show up
+ * i_exposeLog = true will make the elog PREDICTIVE
+ *
+ * @return - bool: true if we need to retry
+ */
+
+ bool sbe_boot_fail_handler(TARGETING::Target * i_target,
+ bool i_exposeLog);
+
+ /**
* @brief This function deals with the mask needed to switch
* boot side on the SBE for a given proc
*
@@ -238,6 +276,19 @@ class SbeRetryHandler
/************************** Class Elements **************************/
/*
+ * @brief Bit used to tell if we are in secure debug mode. This means
+ * we are expecting a complete restart so it is safe to perform
+ * some extra operations.
+ */
+ bool iv_useSDB;
+
+ /*
+ * @brief Bit used for testing in the lab with systems that have secure
+ * mode disabled.
+ */
+ bool iv_secureModeDisabled;
+
+ /*
* @brief True if we successfully restarted the SBE
*/
bool iv_sbeRestarted;
OpenPOWER on IntegriCloud