summaryrefslogtreecommitdiffstats
path: root/src/usr/errl/runtime/rt_errlmanager.C
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2018-02-26 09:16:08 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-03-07 12:54:24 -0500
commit843b9e02e55dbb39a2573e83efac9f412d30469a (patch)
tree41d09dd0c1b9ab39fef706feb0f862025d1af1a4 /src/usr/errl/runtime/rt_errlmanager.C
parent5ca1d497141ad56ed8510d621b1e522c1c9fe7dd (diff)
downloadtalos-hostboot-843b9e02e55dbb39a2573e83efac9f412d30469a.tar.gz
talos-hostboot-843b9e02e55dbb39a2573e83efac9f412d30469a.zip
Initialize FIRDATA section and ErrlManager just incase BMC resets
PRD needs to read the PNOR to tell OCC where to write in the pnor. This will cache the PNOR section so PRD will not fail the read call. If an error is created with pnor inaccessible, errl manager could get stuck unless it was initialized first. Change-Id: Ia7212bf99e947a1016423b37aff6f13ddfc7190a CQ:SW412798 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54990 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@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> CI-Ready: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/errl/runtime/rt_errlmanager.C')
-rw-r--r--src/usr/errl/runtime/rt_errlmanager.C25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/usr/errl/runtime/rt_errlmanager.C b/src/usr/errl/runtime/rt_errlmanager.C
index 10b521a32..62eabc263 100644
--- a/src/usr/errl/runtime/rt_errlmanager.C
+++ b/src/usr/errl/runtime/rt_errlmanager.C
@@ -46,6 +46,8 @@ uint8_t ErrlManager::iv_hiddenErrLogsEnable =
extern trace_desc_t* g_trac_errl;
+
+
//////////////////////////////////////////////////////////////////////////////
// Local functions
//////////////////////////////////////////////////////////////////////////////
@@ -380,3 +382,26 @@ bool rt_processCallout(errlHndl_t &io_errl,
}
} // End namespace
+
+
+//------------------------------------------------------------------------
+void initErrlManager(void)
+{
+ // Note: rtPnor needs to be setup before this is called
+ // call errlManager ctor so that we're ready and waiting for errors.
+ ERRORLOG::theErrlManager::instance();
+}
+
+
+struct registerInitErrlManager
+{
+ registerInitErrlManager()
+ {
+ // Register interface for Host to call
+ postInitCalls_t * rt_post = getPostInitCalls();
+ rt_post->callInitErrlManager = &initErrlManager;
+ }
+};
+
+registerInitErrlManager g_registerInitErrlManager;
+
OpenPOWER on IntegriCloud