diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-01-26 09:43:22 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-01-30 11:48:32 -0500 |
commit | aff61dd84b01d3aff4dbaa3e32a55c988539266e (patch) | |
tree | f88884c89a3f251ac1b5d4288b8d2921a8976746 /src/include/usr | |
parent | 9bfb2013af399c316891e005ca0fb8b417deffb3 (diff) | |
download | talos-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.H | 51 |
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; |