summaryrefslogtreecommitdiffstats
path: root/src/usr/errl
diff options
context:
space:
mode:
authorVan Lee <vanlee@us.ibm.com>2012-01-18 11:20:33 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-02-01 17:12:09 -0600
commit06b768407e1d6e212aeed8be23f31dfb27f2a9cc (patch)
tree4cc7d0295a8efc225b243ea13983803bfda213f7 /src/usr/errl
parent3537d669cce337e37790cf7be62a817cbc88c811 (diff)
downloadblackbird-hostboot-06b768407e1d6e212aeed8be23f31dfb27f2a9cc.tar.gz
blackbird-hostboot-06b768407e1d6e212aeed8be23f31dfb27f2a9cc.zip
Common Errl FFDC Classes: DCUT - RTC4289
Change-Id: Ie0c7cc6422d30fe0b5449eb54aaa62ebb54774e7 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/618 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/errl')
-rw-r--r--src/usr/errl/errlUserDetailsTarget.C79
-rw-r--r--src/usr/errl/makefile2
2 files changed, 80 insertions, 1 deletions
diff --git a/src/usr/errl/errlUserDetailsTarget.C b/src/usr/errl/errlUserDetailsTarget.C
new file mode 100644
index 000000000..ece6874bf
--- /dev/null
+++ b/src/usr/errl/errlUserDetailsTarget.C
@@ -0,0 +1,79 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/usr/errl/errlUserDetailsTarget.C $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2012
+//
+// p1
+//
+// Object Code Only (OCO) source materials
+// Licensed Internal Code Source Materials
+// IBM HostBoot Licensed Internal Code
+//
+// The source code for this program is not published or other-
+// wise divested of its trade secrets, irrespective of what has
+// been deposited with the U.S. Copyright Office.
+//
+// Origin: 30
+//
+// IBM_PROLOG_END
+/*****************************************************************************/
+// I n c l u d e s
+/*****************************************************************************/
+#include <hbotcompid.H> // list of compid's supported
+#include <errl/errlentry.H>
+#include <errl/errlUserDetailsTarget.H>
+#include <targeting/targetservice.H>
+
+namespace ERRORLOG
+{
+
+//#ifndef PARSER
+
+// Constructor
+ErrlUserDetailsTarget::ErrlUserDetailsTarget( TARGETING::Target * i_target ) :
+ ErrlUserDetails()
+{
+ iv_pTarget = i_target;
+}
+
+// Destructor
+ErrlUserDetailsTarget::~ErrlUserDetailsTarget() {}
+
+// @brief Add FFDC to an user detailed data section of the errorlog
+// Each data is always terminated with nul-char
+void ErrlUserDetailsTarget::addToLog( errlHndl_t i_errl,
+ void *i_buf, const uint32_t i_len )
+{
+ if (i_errl != NULL)
+ {
+ if (iv_pTarget == TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL)
+ {
+ const char *l_bufPtr = "MASTER_PROCESSOR_CHIP_TARGET_SENTINEL";
+ iv_pErrlFFDC = i_errl->addFFDC( ERRL_COMP_ID,
+ l_bufPtr, strlen(l_bufPtr)+1,
+ ERRL_UDV_DEFAULT_VER_1,
+ ERRL_UDT_TARGET_FFDC );
+ }
+ else
+ {
+ uint32_t l_bufSize = 0;
+ char * l_bufPtr = NULL;
+
+ l_bufPtr = iv_pTarget->targetFFDC( l_bufSize );
+ if (l_bufPtr)
+ {
+ iv_pErrlFFDC = i_errl->addFFDC( ERRL_COMP_ID,
+ l_bufPtr, l_bufSize,
+ ERRL_UDV_DEFAULT_VER_1,
+ ERRL_UDT_TARGET_FFDC );
+ free (l_bufPtr);
+ }
+ }
+ }
+}
+
+}
diff --git a/src/usr/errl/makefile b/src/usr/errl/makefile
index 8020e07a9..bad776ee9 100644
--- a/src/usr/errl/makefile
+++ b/src/usr/errl/makefile
@@ -24,7 +24,7 @@ ROOTPATH = ../../..
MODULE = errl
OBJS = errlentry.o errlmanager.o errlsctn.o errlsctnhdr.o errlprvt.o errluh.o \
- errlud.o errlsrc.o errluserdetails.o backtrace.o
+ errlud.o errlsrc.o errluserdetails.o backtrace.o errlUserDetailsTarget.o
SUBDIRS = test.d parser.d
OpenPOWER on IntegriCloud