summaryrefslogtreecommitdiffstats
path: root/src/usr/util
diff options
context:
space:
mode:
authorRoland Veloz <rveloz@us.ibm.com>2018-02-27 23:51:45 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-03-22 10:00:57 -0400
commit3d7aee811e82959c8f250ce8190ffb739280f6ee (patch)
tree6ad3e9e46252d8709fceee7076e3977dc8be4657 /src/usr/util
parent3f639460a8f1b85cdc22539675b8e2e6bae4981e (diff)
downloadtalos-hostboot-3d7aee811e82959c8f250ce8190ffb739280f6ee.tar.gz
talos-hostboot-3d7aee811e82959c8f250ce8190ffb739280f6ee.zip
Inform OPAL of the state of the SBE after an attempt to restart
Inform OPAL of the state of the SBE after an attempt to restart, either it is disabled or enabled after retry, along with the processor ID of the SBE. Change-Id: I66a58e866c602c53f41f7cdfbd798f613d3b4dab RTC:180245 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54813 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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_fwreq_helper.C58
1 files changed, 55 insertions, 3 deletions
diff --git a/src/usr/util/runtime/rt_fwreq_helper.C b/src/usr/util/runtime/rt_fwreq_helper.C
index e4cf371d3..29e12e6e0 100644
--- a/src/usr/util/runtime/rt_fwreq_helper.C
+++ b/src/usr/util/runtime/rt_fwreq_helper.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2017 */
+/* Contributors Listed Below - COPYRIGHT 2013,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -190,6 +190,32 @@ errlHndl_t firmware_request_helper(uint64_t i_reqLen, void *i_req,
}
break; // END case hostInterfaces::HBRT_FW_MSG_TYPE_I2C_LOCK:
+ case hostInterfaces::HBRT_FW_MSG_TYPE_SBE_STATE:
+ {
+ TRACFCOMP(g_trac_runtime,
+ ERR_MRK"FSP is doing a reset/reload, "
+ "sending SBE vital attn to OPAL failed. "
+ "retry:%d/%d, rc:%d, procId:0x%08x, "
+ "state(0=disabled, 1=enable):%d",
+ i,
+ HBRT_FW_REQUEST_RETRIES,
+ rc,
+ l_req_fw_msg->sbe_state.i_procId,
+ l_req_fw_msg->sbe_state.i_state);
+
+ // Pack user data 1 with Hypervisor return code and
+ // firmware request message type
+ l_userData1 = TWO_UINT32_TO_UINT64(rc,
+ l_req_fw_msg->io_type);
+
+ // Pack user data 2 with processor ID of SBE
+ // and state of the SBE
+ l_userData2 = TWO_UINT32_TO_UINT64(
+ l_req_fw_msg->sbe_state.i_procId,
+ l_req_fw_msg->sbe_state.i_state);
+ }
+ break; // END case hostInterfaces::HBRT_FW_MSG_TYPE_SBE_STATE:
+
default:
break;
} // END switch (l_req_fw_msg->io_type)
@@ -209,7 +235,8 @@ errlHndl_t firmware_request_helper(uint64_t i_reqLen, void *i_req,
MBOX message type (FSP MSG) ||
chipID
* @userdata2[32:63] SCOM data (HCODE Update) ||
- Message Type (FSP MSG)
+ Message Type (FSP MSG) ||
+ SBE state
* @devdesc The Firmware Request call failed
*/
l_err = new ErrlEntry(ERRL_SEV_INFORMATIONAL,
@@ -350,6 +377,30 @@ errlHndl_t firmware_request_helper(uint64_t i_reqLen, void *i_req,
l_userData2 = l_req_fw_msg->req_i2c_lock.i_chipId;
}
break; // END case hostInterfaces::HBRT_FW_MSG_TYPE_I2C_LOCK:
+
+ case hostInterfaces::HBRT_FW_MSG_TYPE_SBE_STATE:
+ {
+ TRACFCOMP(g_trac_runtime,
+ ERR_MRK"Failed sending SBE vital attn to OPAL. "
+ "rc:0x%X, procId:0x%08x, "
+ "state(0=disabled, 1=enable):%d",
+ rc,
+ l_req_fw_msg->sbe_state.i_procId,
+ l_req_fw_msg->sbe_state.i_state);
+
+ // Pack user data 1 with Hypervisor return code and
+ // firmware request message type
+ l_userData1 = TWO_UINT32_TO_UINT64(rc,
+ l_req_fw_msg->io_type);
+
+ // Pack user data 2 with processor ID of SBE
+ // and state of the SBE
+ l_userData2 = TWO_UINT32_TO_UINT64(
+ l_req_fw_msg->sbe_state.i_procId,
+ l_req_fw_msg->sbe_state.i_state);
+ }
+ break; // END case hostInterfaces::HBRT_FW_MSG_TYPE_SBE_STATE:
+
default:
break;
} // END switch (l_req_fw_msg->io_type)
@@ -369,7 +420,8 @@ errlHndl_t firmware_request_helper(uint64_t i_reqLen, void *i_req,
MBOX message type (FSP MSG) ||
chipId
* @userdata2[32:63] SCOM data (HCODE Update) ||
- Message Type (FSP MSG)
+ Message Type (FSP MSG) ||
+ SBE state
* @devdesc The Firmware Request call failed
*/
l_err = new ErrlEntry(ERRL_SEV_PREDICTIVE,
OpenPOWER on IntegriCloud