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/usr/secureboot/base | |
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/usr/secureboot/base')
-rw-r--r-- | src/usr/secureboot/base/service.C | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/usr/secureboot/base/service.C b/src/usr/secureboot/base/service.C index 5a87e5fdb..4f115c219 100644 --- a/src/usr/secureboot/base/service.C +++ b/src/usr/secureboot/base/service.C @@ -424,6 +424,15 @@ void handleSecurebootFailure(errlHndl_t &io_err, const bool i_waitForShutdown, errlCommit(io_err, SECURE_COMP_ID); + // If background shutdown requested, flush the error logs to ensure that the + // security error is committed to PNOR. Otherwise, it's possible for other + // fail paths to TI Hostboot before the shutdown completes, potentially + // leaving the security error uncommitted. + if(!i_waitForShutdown) + { + ErrlManager::callFlushErrorLogs(); + } + // Shutdown with Secureboot error status INITSERVICE::doShutdown(l_rc, !i_waitForShutdown); } |