summaryrefslogtreecommitdiffstats
path: root/src/usr/diag
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2014-06-27 11:38:12 +0530
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-07-14 13:30:44 -0500
commitcdc76c00e35d6b4347c294ea965dc6e11f876194 (patch)
tree197c39fd5ac603a6adf778265f2e32bef2edfcce /src/usr/diag
parent901e9fde6a348d289f80445012a337632dd48652 (diff)
downloadtalos-hostboot-cdc76c00e35d6b4347c294ea965dc6e11f876194.tar.gz
talos-hostboot-cdc76c00e35d6b4347c294ea965dc6e11f876194.zip
PRD: Linking PRD error logs
Change-Id: Id6183fe1f70cc05a5fc51f74db429e807697023e RTC: 98240 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11069 Reviewed-by: Bilicon Patil <bilpatil@in.ibm.com> Tested-by: Jenkins Server Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/12161 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag')
-rw-r--r--src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C96
-rw-r--r--src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H50
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/xspprdService.h16
-rwxr-xr-xsrc/usr/diag/prdf/common/prdfMain_common.C7
-rw-r--r--src/usr/diag/prdf/framework/service/prdfRasServices.C39
-rw-r--r--src/usr/diag/prdf/prdfErrlUtil.H33
6 files changed, 156 insertions, 85 deletions
diff --git a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C
index 58b4b3fc0..ac5153902 100644
--- a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C
+++ b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2002,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -183,18 +185,14 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
{
#define PRDF_FUNC "[ErrDataService::GenerateSrcPfa] "
- errlHndl_t o_errl = NULL;
-
#ifdef __HOSTBOOT_MODULE
using namespace ERRORLOG;
using namespace HWAS;
errlSeverity_t severityParm = ERRL_SEV_RECOVERED;
#else
bool causeAttnPreviouslyReported = false;
- bool pldCheck = false; // Default to not do the PLD check. Set it to true for Machine Check
uint8_t sdcSaveFlags = SDC_NO_SAVE_FLAGS;
size_t sz_uint8 = sizeof(uint8_t);
- HWSV::hwsvTermEnum termFlag = HWSV::HWSV_SYS_NO_TERMINATE;
uint8_t sdcBuffer[sdcBufferSize]; //buffer to use for sdc flatten
errlSeverity severityParm = ERRL_SEV_RECOVERED;
#endif
@@ -244,14 +242,6 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
PRDF_ERR( PRDF_FUNC"Hostboot should NOT have any system checkstop!" );
#else
- pldCheck = true; // Do the PLD check
-
- if (terminateOnCheckstop)
- {
- //Also need to return error log for machine check condition
- termFlag = HWSV::HWSV_SYS_TERMINATE_HW_CHECKSTOP;
- }
-
ReturnELog = true;
severityParm = ERRL_SEV_UNRECOVERABLE;
@@ -534,24 +524,12 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
//**************************************************************
- // Create Error Log with SRC
+ // Update Error Log with SRC
//**************************************************************
ErrorSignature * esig = sdc.GetErrorSignature();
- PRDF_HW_CREATE_ERRL(o_errl,
- ERRL_SEV_PREDICTIVE,
- ERRL_ETYPE_NOT_APPLICABLE,
- SRCI_MACH_CHECK,
- SRCI_NO_ATTR,
- PRDF_RAS_SERVICES,
- FSP_DEFAULT_REFCODE,
- PRD_Reason_Code,
- esig->getChipId(), //SRC Word 6
- SrcWord7, //code location - SRC Word 7
- esig->getSigId(), //signature - SRC Word 8
- SrcWord9, //user data - SRC Word 9
- termFlag,
- pldCheck); //pldCheck
+ updateSrc( esig->getChipId(), SrcWord7, esig->getSigId(),
+ SrcWord9, PRD_Reason_Code);
//**************************************************************
// Add SDC Capture data to Error Log User Data here only if
@@ -561,12 +539,12 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
bool capDataAdded = false;
if (calloutsPlusDimms > 3)
{
- AddCapData(sdc.GetCaptureData(),o_errl);
+ AddCapData(sdc.GetCaptureData(),iv_errl);
capDataAdded = true;
}
// make sure serviceAction doesn't override errl severity
- o_errl->setSev(severityParm);
+ iv_errl->setSev(severityParm);
if (ERRL_ACTION_HIDDEN == actionFlag)
{ // Diagnostics is not needed in the next IPL cycle for non-visible logs
@@ -597,7 +575,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
PRDF_HW_ADD_CALLOUT(thiscallout.getTarget(),
thispriority,
deconfigState,
- o_errl,
+ iv_errl,
gardErrType,
severityParm,
l_diagUpdate);
@@ -606,7 +584,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
else if(PRDcalloutData::TYPE_PROCCLK == thiscallout.getType() ||
PRDcalloutData::TYPE_PCICLK == thiscallout.getType())
{
- PRDF_ADD_CLOCK_CALLOUT(o_errl,
+ PRDF_ADD_CLOCK_CALLOUT(iv_errl,
thiscallout.getTarget(),
thiscallout.getType(),
thispriority,
@@ -624,7 +602,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
PRDF_HW_ADD_CALLOUT( *it,
thispriority,
deconfigState,
- o_errl,
+ iv_errl,
gardErrType,
severityParm,
l_diagUpdate );
@@ -639,7 +617,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
PRDF_HW_ADD_PROC_CALLOUT(thisProcedureID,
thispriority,
- o_errl,
+ iv_errl,
severityParm);
// Use the flags set earlier to determine if the callout is just Software (SP code or Phyp Code).
@@ -651,7 +629,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
PRDF_HW_ADD_PROC_CALLOUT(EPUB_PRC_LVL_SUPP,
MRU_LOW,
- o_errl,
+ iv_errl,
severityParm);
SecondLevel = true;
@@ -704,7 +682,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
ForceTerminate = true;
pfaData.LAST_CORE_TERMINATE = 1;
- o_errl->setSev(ERRL_SEV_UNRECOVERABLE);
+ iv_errl->setSev(ERRL_SEV_UNRECOVERABLE);
pfaData.errlSeverity = ERRL_SEV_UNRECOVERABLE;
}
}
@@ -713,12 +691,12 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
// Check the errl for the terminate state
// Note: will also be true for CheckStop attn.
bool l_termSRC = false;
- PRDF_GET_TERM_SRC(o_errl, l_termSRC);
+ PRDF_GET_TERM_SRC(iv_errl, l_termSRC);
if(l_termSRC)
{
ForceTerminate = true;
uint32_t l_plid = 0;
- PRDF_GET_PLID(o_errl, l_plid);
+ PRDF_GET_PLID(iv_errl, l_plid);
PRDF_INF(PRDF_FUNC"check for isTerminateSRC is true. PLID=%.8X", l_plid);
}
@@ -735,7 +713,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
!HW )
{
//Terminate in Manufacturing Mode, in IPL mode, for visible log, with no HW callouts.
- PRDF_SRC_WRITE_TERM_STATE_ON(o_errl, SRCI_TERM_STATE_MNFG);
+ PRDF_SRC_WRITE_TERM_STATE_ON(iv_errl, SRCI_TERM_STATE_MNFG);
}
// Do not terminate if recoverable or informational.
// Do not terminate if deferred deconfig.
@@ -748,7 +726,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
}
else
{
- PRDF_SRC_WRITE_TERM_STATE_ON(o_errl, SRCI_TERM_STATE_MNFG);
+ PRDF_SRC_WRITE_TERM_STATE_ON(iv_errl, SRCI_TERM_STATE_MNFG);
}
pfaData.errlActions = actionFlag;
@@ -763,7 +741,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
//**************************************************************
UtilMem l_membuf;
l_membuf << pfaData;
- PRDF_ADD_FFDC( o_errl, (const char*)l_membuf.base(), l_membuf.size(),
+ PRDF_ADD_FFDC( iv_errl, (const char*)l_membuf.base(), l_membuf.size(),
ErrlVer1, ErrlSectPFA5_1 );
//**************************************************************
@@ -773,7 +751,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
// Check to make sure Capture Data wasn't added earlier.
if (!capDataAdded)
{
- AddCapData(sdc.GetCaptureData() ,o_errl);
+ AddCapData(sdc.GetCaptureData() ,iv_errl);
}
// Note moved the code from here, that was associated with checking for the last
@@ -782,7 +760,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
// Collect PRD trace
// NOTE: Each line of trace is on average 36 bytes so 768 bytes should get
// us around 21 lines of trace output.
- PRDF_COLLECT_TRACE(o_errl, 768);
+ PRDF_COLLECT_TRACE(iv_errl, 768);
//**************************************************************
// Commit the eror log.
@@ -791,8 +769,8 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
//**************************************************************
if (sdc.IsDontCommitErrl() && !sdc.IsUnitCS() && (MACHINE_CHECK != i_attnType) )
{
- delete o_errl;
- o_errl = NULL;
+ delete iv_errl;
+ iv_errl = NULL;
}
else if ( !ReturnELog && !ForceTerminate && !i_sdc.Terminate() )
{
@@ -820,7 +798,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
if ( SUCCESS == l_rc )
{
- l_rc = PRDF_HWUDUMP( o_errl, CONTENT_HWNXLCL,
+ l_rc = PRDF_HWUDUMP( iv_errl, CONTENT_HWNXLCL,
dumpId );
}
}
@@ -844,7 +822,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
if (centaurHandle)
{
int32_t l_rc = PRDF_RUNTIME_DECONFIG(centaurHandle,
- o_errl,
+ iv_errl,
false);
if ( SUCCESS != l_rc )
{
@@ -856,14 +834,14 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
}
else
{
- int32_t l_rc = PRDF_RUNTIME_DECONFIG( dumpTrgt, o_errl,
+ int32_t l_rc = PRDF_RUNTIME_DECONFIG( dumpTrgt, iv_errl,
true);
if ( SUCCESS == l_rc )
{
// Call Dump for Proc Core CS
if ( TYPE_EX == dumpTrgtType )
{
- l_rc = PRDF_HWUDUMP( o_errl,
+ l_rc = PRDF_HWUDUMP( iv_errl,
CONTENT_SINGLE_CORE_CHECKSTOP,
dumpId );
}
@@ -880,28 +858,28 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
// Commit the Error log
// Need to move below here since we'll need
- // to pass o_errl to PRDF_HWUDUMP
+ // to pass iv_errl to PRDF_HWUDUMP
// for FSP specific SRC handling in the future
MnfgTrace( esig, pfaData );
- PRDF_HW_COMMIT_ERRL( o_errl, actionFlag );
- if ( NULL != o_errl )
+ PRDF_HW_COMMIT_ERRL( iv_errl, actionFlag );
+ if ( NULL != iv_errl )
{
// Just commit the log.
uint32_t dumpPlid = 0;
- PRDF_GET_PLID(o_errl, dumpPlid);
+ PRDF_GET_PLID(iv_errl, dumpPlid);
uint32_t l_rc = 0;
- PRDF_GET_RC(o_errl, l_rc);
+ PRDF_GET_RC(iv_errl, l_rc);
uint16_t l_reasonCode = 0;
- PRDF_GET_REASONCODE(o_errl, l_reasonCode);
+ PRDF_GET_REASONCODE(iv_errl, l_reasonCode);
PRDF_INF( PRDF_FUNC"Committing error log: PLID=%.8X, "
"ReasonCode=%.8X, RC=%.8X, actions=%.4X",
dumpPlid, l_reasonCode, l_rc, actionFlag );
- PRDF_COMMIT_ERRL(o_errl, actionFlag);
+ PRDF_COMMIT_ERRL(iv_errl, actionFlag);
}
}
// If the Error Log is not committed (as due to a Terminate condtion),
@@ -941,6 +919,12 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType,
printDebugTraces();
+ // Reset iv_errl to NULL. This is done to catch logical bug in our code.
+ // It enables us to assert in createInitialErrl function if iv_errl is
+ // not NULL which should catch any logical bug in initial stages of testing.
+ errlHndl_t o_errl = iv_errl;
+ iv_errl = NULL;
+
return o_errl;
#undef PRDF_FUNC
diff --git a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H
index d512d5e87..c4865136b 100644
--- a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H
+++ b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2002,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -62,7 +64,8 @@ class ErrDataService
inline ErrDataService() :
loggingBufferFull(false),
iv_serviceActionCounter(0),
- savedPrdReturnCode(0)
+ savedPrdReturnCode(0),
+ iv_errl(NULL)
{}
/**
@@ -138,6 +141,30 @@ class ErrDataService
*/
void MnfgTrace( ErrorSignature * i_esig, const PfaData & i_pfaData );
+ /**
+ * @brief Create initial error log for analyze( attn analysis) code flow.
+ * @param i_attnType attention type.
+ */
+ void createInitialErrl( ATTENTION_TYPE i_attnType );
+
+ /**
+ * @brief Update SRC section for initial error log.
+ * @param i_user1 User data word 1.
+ * @param i_user2 User data word 2.
+ * @param i_user3 User data word 3.
+ * @param i_user4 User data word 4.
+ * @param i_rc Reason code.
+ */
+ void updateSrc( uint32_t i_user1, uint32_t i_user2,
+ uint32_t i_user3, uint32_t i_user4,
+ uint16_t i_rc );
+
+ /**
+ * @brief Return error log associated with current analysis flow.
+ * @return error log handle.
+ */
+ errlHndl_t getErrl() { return iv_errl; };
+
private:
/**
@@ -221,6 +248,8 @@ class ErrDataService
static bool terminateOnCheckstop;
+ errlHndl_t iv_errl;
+
};
/**
@@ -297,6 +326,23 @@ public:
ErrDataService::SetTerminateOnCheckstop(setting);
}
+ /**
+ * @brief Create initial error log for analyze( attn analysis) code flow.
+ * @param i_attnType attention type.
+ */
+ void createInitialErrl( ATTENTION_TYPE i_attnType )
+ {
+ iv_ErrDataService->createInitialErrl( i_attnType );
+ }
+
+ /**
+ * @brief Return error log associated with current analysis flow.
+ * @return error log handle.
+ */
+ virtual errlHndl_t getErrl()
+ {
+ return iv_ErrDataService->getErrl();
+ };
private: // Data
// actual or sim err data service
diff --git a/src/usr/diag/prdf/common/framework/service/xspprdService.h b/src/usr/diag/prdf/common/framework/service/xspprdService.h
index 1f368326d..f0fac81f7 100755
--- a/src/usr/diag/prdf/common/framework/service/xspprdService.h
+++ b/src/usr/diag/prdf/common/framework/service/xspprdService.h
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 1999,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -175,6 +177,18 @@ public:
virtual errlHndl_t GenerateSrcPfa(ATTENTION_TYPE attn_type, ServiceDataCollector & sdc)=0; // mp01 c
+ /**
+ * @brief Create initial error log for analyze( attn analysis) code flow.
+ * @param i_attnType attention type.
+ */
+ virtual void createInitialErrl( ATTENTION_TYPE i_attnType ) = 0;
+
+ /**
+ * @brief Return error log associated with current analysis flow.
+ * @return error log handle.
+ */
+ virtual errlHndl_t getErrl() = 0;
+
private:
diff --git a/src/usr/diag/prdf/common/prdfMain_common.C b/src/usr/diag/prdf/common/prdfMain_common.C
index 0a46fbd6a..f55d47fef 100755
--- a/src/usr/diag/prdf/common/prdfMain_common.C
+++ b/src/usr/diag/prdf/common/prdfMain_common.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2002,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -241,6 +243,9 @@ errlHndl_t main( ATTENTION_VALUE_TYPE i_attentionType,
serviceData.SetFlooding();
}
+ // Create Initial error log
+ serviceGenerator.createInitialErrl( i_attentionType );
+
int32_t analyzeRc = systemPtr->Analyze(sdc, i_attentionType);
// flush Cache to free up the memory
RegDataCache::getCachedRegisters().flush();
diff --git a/src/usr/diag/prdf/framework/service/prdfRasServices.C b/src/usr/diag/prdf/framework/service/prdfRasServices.C
index 0073a8f53..a2895e11f 100644
--- a/src/usr/diag/prdf/framework/service/prdfRasServices.C
+++ b/src/usr/diag/prdf/framework/service/prdfRasServices.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -50,9 +52,44 @@ void ErrDataService::MnfgTrace( ErrorSignature * i_esig,
#undef PRDF_FUNC
}
+//------------------------------------------------------------------------------
+
void ErrDataService::deallocateDimms( SDC_MRU_LIST & i_mruList )
{
//No OP for HB
}
+
+//------------------------------------------------------------------------------
+
+void ErrDataService::updateSrc( uint32_t i_user1, uint32_t i_user2,
+ uint32_t i_user3, uint32_t i_user4,
+ uint16_t i_rc )
+{
+ // We should always have a valid pointer here. If it is NULL, there
+ // is some major issue.
+ PRDF_ASSERT ( NULL != iv_errl);
+
+ iv_errl->setReasonCode(i_rc);
+ iv_errl->addUserData1( PRDF_GET_UINT64_FROM_UINT32( i_user1, i_user2 ));
+ iv_errl->addUserData2( PRDF_GET_UINT64_FROM_UINT32( i_user3, i_user4 ));
+}
+
+//------------------------------------------------------------------------------
+
+void ErrDataService::createInitialErrl( ATTENTION_TYPE i_attnType )
+{
+ // We should always have a NULL pointer here. If it is not NULL, there
+ // is some major issue.
+ PRDF_ASSERT ( NULL == iv_errl );
+ using namespace ERRORLOG;
+
+ iv_errl = new ErrlEntry(
+ ERRL_SEV_RECOVERED,
+ PRDF_RAS_SERVICES,
+ 0,
+ PRDF_GET_UINT64_FROM_UINT32( 0, 0 ),
+ PRDF_GET_UINT64_FROM_UINT32( 0, 0 ) );
+}
+
} // end namespace PRDF
diff --git a/src/usr/diag/prdf/prdfErrlUtil.H b/src/usr/diag/prdf/prdfErrlUtil.H
index f28d9f436..2f6c4cbe1 100644
--- a/src/usr/diag/prdf/prdfErrlUtil.H
+++ b/src/usr/diag/prdf/prdfErrlUtil.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2002,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -33,6 +35,7 @@
*/
#include <prdfEnums.H>
+#include <prdfRasServices.H>
/**
* @brief create ErrlEntry in Hostboot
@@ -73,9 +76,12 @@
* @brief Commit the log
*/
// NOTE: Hostboot error log commit function does not need the action flag
-#define PRDF_COMMIT_ERRL(io_errl, i_actions) \
+#define PRDF_COMMIT_ERRL(io_errl, i_actions) { \
+ errlHndl_t globalErrl = \
+ ServiceGeneratorClass::ThisServiceGenerator().getErrl(); \
+ if( NULL != globalErrl ) io_errl->plid( globalErrl->plid() ); \
if(i_actions) {} \
- errlCommit(io_errl, PRDF_COMP_ID)
+ errlCommit(io_errl, PRDF_COMP_ID); }
/**
* @brief Collect component trace
@@ -140,27 +146,6 @@
/*--------------------------------------------------------------------*/
/**
- * @brief function to create an error log.
- */
-#define PRDF_HW_CREATE_ERRL(io_errl, \
- i_sev, \
- i_etype, \
- i_type, \
- i_srcAttr, \
- i_mid, \
- i_refCode, \
- i_reasonCode, \
- i_userData1, \
- i_userData2, \
- i_userData3, \
- i_userData4, \
- i_termFlag, \
- i_pldCheck) \
- PRDF_CREATE_ERRL(io_errl, i_sev, i_etype, i_type, \
- i_srcAttr, i_mid, i_refCode, i_reasonCode, \
- i_userData1, i_userData2, i_userData3, i_userData4)
-
-/**
* @brief Add a procedure callout to an existing error log
*/
#define PRDF_HW_ADD_PROC_CALLOUT(i_procedure, \
OpenPOWER on IntegriCloud