diff options
Diffstat (limited to 'src/usr/initservice/istepdispatcher/istepdispatcher.C')
-rw-r--r-- | src/usr/initservice/istepdispatcher/istepdispatcher.C | 10 |
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 |