summaryrefslogtreecommitdiffstats
path: root/src/usr/errl/runtime
diff options
context:
space:
mode:
authorBrian Horton <brianh@linux.ibm.com>2015-08-07 16:19:30 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-09-03 16:28:21 -0500
commite4bcc802efacb888b14c666384656f13ee6b5630 (patch)
tree3a0f29477e91cf63ace0b89a0184a4dbc60ba4c6 /src/usr/errl/runtime
parent0579143faea0a19bd4133ce5179855ec7dc3c9b7 (diff)
downloadtalos-hostboot-e4bcc802efacb888b14c666384656f13ee6b5630.tar.gz
talos-hostboot-e4bcc802efacb888b14c666384656f13ee6b5630.zip
enable saving GARD records to PNOR in runtime.
Change-Id: I1ada7061d8fb258431b64c8e02bf84b019f7b25c CQ: SW315645 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19661 Tested-by: Jenkins Server Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com> Tested-by: Jenkins OP Build CI Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/errl/runtime')
-rw-r--r--src/usr/errl/runtime/makefile3
-rw-r--r--src/usr/errl/runtime/rt_errlmanager.C23
2 files changed, 26 insertions, 0 deletions
diff --git a/src/usr/errl/runtime/makefile b/src/usr/errl/runtime/makefile
index c80c9fdaa..ec449ea5d 100644
--- a/src/usr/errl/runtime/makefile
+++ b/src/usr/errl/runtime/makefile
@@ -30,10 +30,13 @@ MODULE = errl_rt
include ../errl.mk
VPATH += ${ROOTPATH}/src/usr/hwas/common
+VPATH += ${ROOTPATH}/src/usr/hwas
OBJS += rt_errlmanager.o
OBJS += rt_vfs.o
OBJS += hwasCallout.o
+OBJS += deconfigGard.o
+OBJS += hwasPlatDeconfigGard.o
SUBDIRS += test.d
diff --git a/src/usr/errl/runtime/rt_errlmanager.C b/src/usr/errl/runtime/rt_errlmanager.C
index 49d53b65f..981b4f117 100644
--- a/src/usr/errl/runtime/rt_errlmanager.C
+++ b/src/usr/errl/runtime/rt_errlmanager.C
@@ -34,6 +34,7 @@
#include <runtime/interface.h>
#include <targeting/common/targetservice.H>
#include <pnor/pnorif.H>
+#include <hwas/common/deconfigGard.H>
namespace ERRORLOG
{
@@ -301,6 +302,28 @@ bool rt_processCallout(errlHndl_t &io_errl,
}
}
+
+ if ((pCalloutUD->type == HWAS::HW_CALLOUT) &&
+ (pCalloutUD->gardErrorType != HWAS::GARD_NULL))
+ {
+ TARGETING::Target *pTarget = NULL;
+ uint8_t * l_uData = (uint8_t *)(pCalloutUD + 1);
+ bool l_err = HWAS::retrieveTarget(l_uData, pTarget, io_errl);
+
+ if (!l_err)
+ {
+ errlHndl_t errl = HWAS::theDeconfigGard().platCreateGardRecord(pTarget,
+ io_errl->eid(),
+ pCalloutUD->gardErrorType);
+ if (errl)
+ {
+ TRACFCOMP( g_trac_errl, ERR_MRK
+ "rt_processCallout: error from platCreateGardRecord");
+ errlCommit(errl, HWAS_COMP_ID);
+ }
+ }
+
+ }
return true;
}
OpenPOWER on IntegriCloud