diff options
author | Andres Lugo-Reyes <aalugore@us.ibm.com> | 2015-05-20 14:12:35 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-07-02 13:38:01 -0500 |
commit | ad46bacd1b73e03203bbee12ce94867f0b291f57 (patch) | |
tree | 60f578c664b2bd831597aeea944dd100be75ff23 /src/usr/errldisplay/errldisplay.C | |
parent | e70e9e57950904ae9d137df53961498c3e286295 (diff) | |
download | talos-hostboot-ad46bacd1b73e03203bbee12ce94867f0b291f57.tar.gz talos-hostboot-ad46bacd1b73e03203bbee12ce94867f0b291f57.zip |
Ignore info/recovered logs in OpenPower boxes
Change-Id: Icb6f8b39ee7ab299f4292ac2d775adaf9c16721b
RTC:126449
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17807
Tested-by: Jenkins Server
Tested-by: Jenkins OP Build CI
Tested-by: Jenkins OP HW
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/errldisplay/errldisplay.C')
-rw-r--r-- | src/usr/errldisplay/errldisplay.C | 106 |
1 files changed, 58 insertions, 48 deletions
diff --git a/src/usr/errldisplay/errldisplay.C b/src/usr/errldisplay/errldisplay.C index 4e2c73cae..8fa38224d 100644 --- a/src/usr/errldisplay/errldisplay.C +++ b/src/usr/errldisplay/errldisplay.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2013,2014 */ +/* Contributors Listed Below - COPYRIGHT 2013,2015 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -51,13 +51,13 @@ // I n c l u d e s /*****************************************************************************/ #include <trace/interface.H> +#include <errldisplay/errldisplay.H> #include <errl/errlmanager.H> #include <errl/errlentry.H> #include <errl/errlud.H> #include <errl/errludtarget.H> #include <errl/errlsctn.H> #include <errl/errlreasoncodes.H> -#include <errldisplay/errldisplay.H> #include <stdlib.h> #include <string.h> #include <initservice/taskargs.H> @@ -301,58 +301,68 @@ void ErrLogDisplay::msgDisplay (const errlHndl_t &i_err, { TRACDCOMP( g_trac_errldisp, ENTER_MRK "ErrLogDisplay::msgDisplay" ); - const errLogInfo *info = findErrLogInfo ( i_err->moduleId(), - i_err->reasonCode()); - CONSOLE::displayf(NULL, - "================================================"); - CONSOLE::displayf(NULL, "Error reported by %s (0x%04X)", - findComponentName( i_committerComp ), - i_committerComp ); - CONSOLE::displayf(NULL, " %s", info->descriptString); - CONSOLE::displayf(NULL, " ModuleId 0x%02x %s", - i_err->moduleId(), info->moduleName); - CONSOLE::displayf(NULL, " ReasonCode 0x%04x %s", - i_err->reasonCode(), info->reasonString); - CONSOLE::displayf(NULL, " UserData1 %s : 0x%016lx", - info->userData1String, i_err->getUserData1()); - CONSOLE::displayf(NULL, " UserData2 %s : 0x%016lx", - info->userData2String, i_err->getUserData2()); - - // Loop through and print all of the user data sections. - for ( size_t i = 0; i < i_err->iv_SectionVector.size(); ++i ) + do { - ERRORLOG::ErrlUD *user_data = i_err->iv_SectionVector[i]; - CONSOLE::displayf(NULL, "User Data Section %d, type %c%c", (int) i, - (user_data->iv_header.iv_sid >> 8) & 0xff, - user_data->iv_header.iv_sid & 0xff ); - CONSOLE::displayf(NULL, " Subsection type 0x%02x", - user_data->iv_header.iv_sst ); - CONSOLE::displayf(NULL, " ComponentId %s (0x%04x)", - findComponentName( user_data->iv_header.iv_compId ), - user_data->iv_header.iv_compId ); - switch ( user_data->iv_header.iv_sst ) + // Decide whether or not to skip the error log + if( i_err->getSkipShowingLog() ) { - case ERRORLOG::ERRL_UDT_TARGET: - CONSOLE::displayf(NULL, " TARGET" ); - displayTarget( user_data->iv_pData, user_data->iv_Size ); - break; - case ERRORLOG::ERRL_UDT_CALLOUT: - CONSOLE::displayf(NULL, " CALLOUT" ); - displayCallout( user_data->iv_pData, user_data->iv_Size ); - break; - case ERRORLOG::ERRL_UDT_STRING: - CONSOLE::displayf(NULL, " STRING" ); - CONSOLE::displayf(NULL, - " %s", - reinterpret_cast<char*>( user_data->iv_pData ) ); - break; + TRACDCOMP( g_trac_errldisp, INFO_MRK"msgDisplay: %.8X is INFORMATIONAL/RECOVERED; skipping...", i_err->eid()); + break; + } + const errLogInfo *info = findErrLogInfo ( i_err->moduleId(), + i_err->reasonCode()); + + CONSOLE::displayf(NULL, + "================================================"); + CONSOLE::displayf(NULL, "Error reported by %s (0x%04X)", + findComponentName( i_committerComp ), + i_committerComp ); + CONSOLE::displayf(NULL, " %s", info->descriptString); + CONSOLE::displayf(NULL, " ModuleId 0x%02x %s", + i_err->moduleId(), info->moduleName); + CONSOLE::displayf(NULL, " ReasonCode 0x%04x %s", + i_err->reasonCode(), info->reasonString); + CONSOLE::displayf(NULL, " UserData1 %s : 0x%016lx", + info->userData1String, i_err->getUserData1()); + CONSOLE::displayf(NULL, " UserData2 %s : 0x%016lx", + info->userData2String, i_err->getUserData2()); + + // Loop through and print all of the user data sections. + for ( size_t i = 0; i < i_err->iv_SectionVector.size(); ++i ) + { + ERRORLOG::ErrlUD *user_data = i_err->iv_SectionVector[i]; + CONSOLE::displayf(NULL, "User Data Section %d, type %c%c", (int) i, + (user_data->iv_header.iv_sid >> 8) & 0xff, + user_data->iv_header.iv_sid & 0xff ); + CONSOLE::displayf(NULL, " Subsection type 0x%02x", + user_data->iv_header.iv_sst ); + CONSOLE::displayf(NULL, " ComponentId %s (0x%04x)", + findComponentName( user_data->iv_header.iv_compId ), + user_data->iv_header.iv_compId ); + switch ( user_data->iv_header.iv_sst ) + { + case ERRORLOG::ERRL_UDT_TARGET: + CONSOLE::displayf(NULL, " TARGET" ); + displayTarget( user_data->iv_pData, user_data->iv_Size ); + break; + case ERRORLOG::ERRL_UDT_CALLOUT: + CONSOLE::displayf(NULL, " CALLOUT" ); + displayCallout( user_data->iv_pData, user_data->iv_Size ); + break; + case ERRORLOG::ERRL_UDT_STRING: + CONSOLE::displayf(NULL, " STRING" ); + CONSOLE::displayf(NULL, + " %s", + reinterpret_cast<char*>( user_data->iv_pData ) ); + break; + } } - } - CONSOLE::displayf(NULL, + CONSOLE::displayf(NULL, "================================================" ); - CONSOLE::flush(); + CONSOLE::flush(); + }while( 0 ); TRACDCOMP( g_trac_errldisp, EXIT_MRK "ErrLogDisplay::msgDisplay" ); } |