From 41cda93cb3e7ac6a75e8454731728153247279f0 Mon Sep 17 00:00:00 2001 From: Ilya Smirnov Date: Tue, 6 Mar 2018 16:12:45 -0600 Subject: 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 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Michael Baiocchi Reviewed-by: Daniel M. Crowell --- src/usr/initservice/istepdispatcher/istepdispatcher.C | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/usr/initservice/istepdispatcher/istepdispatcher.C') 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 #include #include +#include #include #include #include @@ -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 -- cgit v1.2.1