summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice
diff options
context:
space:
mode:
authorIlya Smirnov <ismirno@us.ibm.com>2018-03-06 16:12:45 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-07-01 21:19:29 -0400
commit41cda93cb3e7ac6a75e8454731728153247279f0 (patch)
tree4c5cefc8ffef072f627ffba600809e7e42d6bf48 /src/usr/initservice
parent4085033d657dd4e8fa9ff768b7fe8b3ca9c361b1 (diff)
downloadtalos-hostboot-41cda93cb3e7ac6a75e8454731728153247279f0.tar.gz
talos-hostboot-41cda93cb3e7ac6a75e8454731728153247279f0.zip
Add Support for TPM Message Queue Flushing
Add a synchronous message handler to TPM daemon. This message handler is used to make sure that all of the traces are flushed before the daemon is shut down. Change-Id: Ibb8ea2fd12d7ded9e43f284ff44c1791e61d8767 CQ:SW435287 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55223 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> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/initservice')
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index e4037e860..ec71a59cd 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -82,6 +82,7 @@
#include <trace/trace.H>
#include <util/utilmbox_scratch.H>
#include <secureboot/service.H>
+#include <secureboot/trustedbootif.H>
#include <p9_perst_phb.H>
#include <plat_hwp_invoker.H>
#include <ipcSp.H>
@@ -2167,6 +2168,15 @@ void IStepDispatcher::handleProcFabIovalidMsg(msg_t * & io_pMsg)
errlCommit(err, INITSVC_COMP_ID);
}
+ err = TRUSTEDBOOT::flushTpmQueue();
+ if(err)
+ {
+ TRACFCOMP(g_trac_initsvc,
+ "ERROR: TPM message queue flushing failed. The system"
+ " may experience a hang condition.");
+ errlCommit(err, INITSVC_COMP_ID);
+ }
+
//cpu_all_winkle is a system call.. After the system call,
//the cpu are all hung at that instruction. After the fsp
//wake us up, we will resume execution from the next instruction
OpenPOWER on IntegriCloud