summaryrefslogtreecommitdiffstats
path: root/src/usr/util
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-02-12 14:59:05 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-02-19 09:43:09 -0500
commit8d28433bcc3c927ee76cdc4231099660545b1bfa (patch)
treec6f3810c0b2d69a55d8309ae1c35a8c1c7fdf5c1 /src/usr/util
parent28927a78ca4144aa8214d35b7ad7e2ddba5ada4e (diff)
downloadtalos-hostboot-8d28433bcc3c927ee76cdc4231099660545b1bfa.tar.gz
talos-hostboot-8d28433bcc3c927ee76cdc4231099660545b1bfa.zip
Fix bugs in FSP->HBRT message path for SBE errors
Hostboot was expecting the incorrect order of data in messages sent from the FSP -> PHYP -> HBRT where the SBE is requesting that HBRT reset the SBE. This commit corrects the order and renames the struct for the specific role its used in. Also this commit fixes the values for the MESSAGE type sent by the FSP. CQ: SW415675 Change-Id: I08f44486054e7d0113fd7606bb40ced577080d0c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53883 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/util')
-rw-r--r--src/usr/util/runtime/rt_fwnotify.C26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/usr/util/runtime/rt_fwnotify.C b/src/usr/util/runtime/rt_fwnotify.C
index a0ec0f5e0..d1c404b2a 100644
--- a/src/usr/util/runtime/rt_fwnotify.C
+++ b/src/usr/util/runtime/rt_fwnotify.C
@@ -85,19 +85,19 @@ uint16_t SeqId_t::getCurrentSeqId()
/**
* @brief Attempt an SBE recovery after an SBE error
- * @param[in] uint64_t i_data Contains a plid (in the first 4 bytes)
- * and a HUID (in the last 4 bytes)
+ * @param[in] uint64_t i_data Contains a HUID (in the first 4 bytes)
+ * and a plid (in the last 4 bytes)
* @platform FSP, OpenPOWER
**/
void sbeAttemptRecovery(uint64_t i_data)
{
// Create a useful struct to get to the data
- // The data is expected to be a plid (in the first 4 bytes)
- // followed by a HUID (in the last 4 bytes).
- HbrtFspData_t *l_hbrtFspData = reinterpret_cast<HbrtFspData_t*>(&i_data);
+ // The data is expected to be a HUID (in the first 4 bytes)
+ // followed by a PLID (in the last 4 bytes).
+ SbeRetryReqData_t *l_sbeRetryData = reinterpret_cast<SbeRetryReqData_t*>(&i_data);
TRACFCOMP(g_trac_runtime, ENTER_MRK"sbeAttemptRecovery: plid:0x%X, "
- "HUID:0x%X", l_hbrtFspData->plid, l_hbrtFspData->userData);
+ "HUID:0x%X", l_sbeRetryData->plid, l_sbeRetryData->huid);
errlHndl_t l_err = nullptr;
@@ -105,14 +105,14 @@ void sbeAttemptRecovery(uint64_t i_data)
{
// Extract the target from the given HUID
TargetHandle_t l_target =
- Target::getTargetFromHuid(l_hbrtFspData->userData);
+ Target::getTargetFromHuid(l_sbeRetryData->huid);
// If HUID invalid, log error and quit
if (nullptr == l_target)
{
TRACFCOMP(g_trac_runtime, ERR_MRK"sbeAttemptRecovery: "
"No target associated with HUID:0x%.8X",
- l_hbrtFspData->userData);
+ l_sbeRetryData->huid);
/*@
* @errortype
@@ -126,8 +126,8 @@ void sbeAttemptRecovery(uint64_t i_data)
l_err = new ErrlEntry( ERRL_SEV_PREDICTIVE,
MOD_RT_FIRMWARE_NOTIFY,
RC_SBE_RT_INVALID_HUID,
- l_hbrtFspData->userData,
- l_hbrtFspData->plid,
+ l_sbeRetryData->huid,
+ l_sbeRetryData->plid,
true);
break;
}
@@ -135,7 +135,7 @@ void sbeAttemptRecovery(uint64_t i_data)
// Get the SBE Retry Handler, propagating the supplied PLID
SbeRetryHandler l_SBEobj = SbeRetryHandler(SbeRetryHandler::
SBE_MODE_OF_OPERATION::INFORMATIONAL_ONLY,
- l_hbrtFspData->plid);
+ l_sbeRetryData->plid);
// Retry the recovery of the SBE
l_SBEobj.main_sbe_handler(l_target);
@@ -161,8 +161,8 @@ void sbeAttemptRecovery(uint64_t i_data)
l_err = new ErrlEntry( ERRL_SEV_PREDICTIVE,
MOD_RT_FIRMWARE_NOTIFY,
RC_FW_REQUEST_RT_NULL_PTR,
- l_hbrtFspData->userData,
- l_hbrtFspData->plid,
+ l_sbeRetryData->huid,
+ l_sbeRetryData->plid,
true);
break;
OpenPOWER on IntegriCloud