diff options
| author | Nick Bofferding <bofferdn@us.ibm.com> | 2018-07-09 17:56:05 -0500 |
|---|---|---|
| committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-07-17 17:18:04 -0400 |
| commit | 928ef690c0862878a457a965984ab90efaba3a00 (patch) | |
| tree | 55592d36bebe2dfccb88d96fa505bf52704ddabe /src/include | |
| parent | 38834a9cad0bb0929dab348745c296956c71b511 (diff) | |
| download | talos-hostboot-928ef690c0862878a457a965984ab90efaba3a00.tar.gz talos-hostboot-928ef690c0862878a457a965984ab90efaba3a00.zip | |
Send errors from previous boots as callhome type eSELs
During early boot, Hostboot attempts to resend unacknowledged error
logs from prior boots as eSELS, without correponding SELs. BMCs typically
require both in order to expose a given error log to a customer. This change
morphs errors from prior boots into callhome type logs, so that a simple eSEL
will be enough to get the error propagated.
Change-Id: If499defe8a39b9254f08392b264d72047b7e5f7c
CQ: SW426731
RTC: 193265
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/62079
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: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/usr/ipmi/ipmisel.H | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/include/usr/ipmi/ipmisel.H b/src/include/usr/ipmi/ipmisel.H index 7bade7150..8b23259ff 100644 --- a/src/include/usr/ipmi/ipmisel.H +++ b/src/include/usr/ipmi/ipmisel.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2017 */ +/* Contributors Listed Below - COPYRIGHT 2014,2018 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -51,6 +51,18 @@ namespace IPMISEL MSG_LAST_TYPE = MSG_STATE_SHUTDOWN_SEL, }; + /** + * @brief data[0/1] format for the MSG_SEND_ESEL message + */ + struct send_esel_data_t + { + uint8_t callhome; // Whether the ESEL is of callhome type or not + uint8_t reserved1[3]; + uint32_t eid; // Error ID of the error being described + uint64_t reserved2; + + } PACKED; + typedef struct sel_info { uint8_t eventDirType; @@ -309,12 +321,12 @@ namespace IPMISEL }; /** - * @brief parse the msg and call send_esel to send the esel (handles if - * the SEL reservation is lost) - * @param[in] i_msg - * @param[in] i_infoCallHome - informational call-home log + * @brief Parse the message and call send_esel to send the eSEL (handles + * if the SEL reservation is lost). + * + * @param[in] i_msg Pointer to message to send. Asserts if nullptr. */ - void process_esel(msg_t *i_msg, bool i_infoCallHome); + void process_esel(msg_t *i_msg); /** * @brief do the actual ipmi calls to send the esel data to the bmc |

