summaryrefslogtreecommitdiffstats
path: root/src/usr/errl/runtime/rt_errlmanager.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/errl/runtime/rt_errlmanager.C')
-rw-r--r--src/usr/errl/runtime/rt_errlmanager.C23
1 files changed, 23 insertions, 0 deletions
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