summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2014-10-20 12:14:51 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-10-22 21:36:27 -0500
commit7b6c6924750ac0354b851109e362f36c9e8ae51d (patch)
tree5e9b93d2817235be97e8bbd6b063c601e244a20f
parent09096ab2250baf0d9a604e1f4b801b1986d83384 (diff)
downloadtalos-hostboot-7b6c6924750ac0354b851109e362f36c9e8ae51d.tar.gz
talos-hostboot-7b6c6924750ac0354b851109e362f36c9e8ae51d.zip
Fix errldipaly compTable to be sorted by numerical compId value
Removed '\n' from errldisplay console prints as they add an extra new line. Don't see a need to print out label, more useful target info will be printed out in displayTarget Change-Id: I8c392f3c84d8acd4bda544e5e5b9668aebbcc0ed Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14082 Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r--src/usr/errl/errlmanager.C2
-rwxr-xr-xsrc/usr/errl/parser/genErrlParsers.pl13
-rw-r--r--src/usr/errldisplay/errldisplay.C67
3 files changed, 46 insertions, 36 deletions
diff --git a/src/usr/errl/errlmanager.C b/src/usr/errl/errlmanager.C
index fb8229d4e..ace5cf23d 100644
--- a/src/usr/errl/errlmanager.C
+++ b/src/usr/errl/errlmanager.C
@@ -364,7 +364,7 @@ void ErrlManager::errlogMsgHndlr ()
iv_isErrlDisplayEnabled = true;
CONSOLE::displayf("ERRL",
- "Dumping errors reported prior to registration\n");
+ "Dumping errors reported prior to registration");
// Display errlogs to errldisplay
ErrlListItr_t it = iv_errlList.begin();
diff --git a/src/usr/errl/parser/genErrlParsers.pl b/src/usr/errl/parser/genErrlParsers.pl
index a2ec5f08c..e246e1a8a 100755
--- a/src/usr/errl/parser/genErrlParsers.pl
+++ b/src/usr/errl/parser/genErrlParsers.pl
@@ -127,6 +127,7 @@ if ($DEBUG)
# Process the compIdFile, recording all of the component ID values
#------------------------------------------------------------------------------
my %compIdToValueHash;
+my %compIdToHexValueHash;
open(COMP_ID_FILE, $compIdFile) or die("Cannot open: $compIdFile: $!");
@@ -145,6 +146,8 @@ while (my $line = <COMP_ID_FILE>)
if ($compId ne "PRDF_COMP_ID")
{
$compIdToValueHash{$compId} = $compValue;
+ # Need the integer value for compId sorting purposes
+ $compIdToHexValueHash{$compId} = hex $compValue;
}
}
}
@@ -1076,12 +1079,20 @@ foreach my $modID (sort keys %displayDataEntries)
}
}
+#------------------------------------------------------------------------------
+# Helper function for sort method, sorts by ascending values
+#------------------------------------------------------------------------------
+sub hashValueAsc
+{
+ $compIdToHexValueHash{$a} <=> $compIdToHexValueHash{$b};
+}
+
print OFILE "};\n";
print OFILE "uint16_t ErrLogDisplay::errorInfoTableSize = sizeof(errorInfo) / sizeof(errorInfo[0]);\n\n";
print OFILE "\n\n// Component Id Table\n";
print OFILE "#include <hbotcompid.H>\n";
print OFILE "ErrLogDisplay::compTableInfo ErrLogDisplay::compTable [] = {\n";
-foreach my $key (sort keys %compIdToValueHash)
+foreach my $key (sort hashValueAsc (keys(%compIdToHexValueHash)))
{
$key = substr($key,0,length($key)-3);
print OFILE " {" . $key . "_ID, " . $key . "_NAME},\n";
diff --git a/src/usr/errldisplay/errldisplay.C b/src/usr/errldisplay/errldisplay.C
index 7a998bc6c..4e2c73cae 100644
--- a/src/usr/errldisplay/errldisplay.C
+++ b/src/usr/errldisplay/errldisplay.C
@@ -157,13 +157,13 @@ void ErrLogDisplay::displayCallout (void *data, size_t size)
switch ( callout->type )
{
case HWAS::CLOCK_CALLOUT:
- CONSOLE::displayf(NULL, " CLOCK ERROR\n" );
- CONSOLE::displayf(NULL, " clockType: %d\n",
+ CONSOLE::displayf(NULL, " CLOCK ERROR" );
+ CONSOLE::displayf(NULL, " clockType: %d",
static_cast<int>( callout->clockType ) );
break;
case HWAS::BUS_CALLOUT:
- CONSOLE::displayf(NULL, " BUS ERROR\n" );
- CONSOLE::displayf(NULL, " busType: %d\n",
+ CONSOLE::displayf(NULL, " BUS ERROR" );
+ CONSOLE::displayf(NULL, " busType: %d",
static_cast<int>( callout->busType ) );
// Data is formatted as a callout_ud_t followed by 2 entity paths
// representing each side of the link.
@@ -177,7 +177,7 @@ void ErrLogDisplay::displayCallout (void *data, size_t size)
if( *reinterpret_cast<uint8_t*>( callout )
== HWAS::TARGET_IS_SENTINEL )
{
- CONSOLE::displayf(NULL, "MASTER PROCESSOR SENTINEL\n" );
+ CONSOLE::displayf(NULL, "MASTER PROCESSOR SENTINEL" );
}
else
{
@@ -189,7 +189,7 @@ void ErrLogDisplay::displayCallout (void *data, size_t size)
TARGETING::EntityPath *ep =
reinterpret_cast<TARGETING::EntityPath*>( callout );
- CONSOLE::displayf(NULL, "%s\n", ep->toString() );
+ CONSOLE::displayf(NULL, "%s", ep->toString() );
if (size < (l_curSize + sizeof(uint8_t)) )
{
@@ -201,7 +201,7 @@ void ErrLogDisplay::displayCallout (void *data, size_t size)
if( *reinterpret_cast<uint8_t*>( ep )
== HWAS::TARGET_IS_SENTINEL )
{
- CONSOLE::displayf(NULL, "MASTER PROCESSOR SENTINEL\n" );
+ CONSOLE::displayf(NULL, "MASTER PROCESSOR SENTINEL" );
}
else
{
@@ -209,13 +209,13 @@ void ErrLogDisplay::displayCallout (void *data, size_t size)
{
break;
}
- CONSOLE::displayf(NULL, "%s\n", ep->toString() );
+ CONSOLE::displayf(NULL, "%s", ep->toString() );
}
}
break;
case HWAS::HW_CALLOUT:
- CONSOLE::displayf(NULL, " HW CALLOUT\n" );
- CONSOLE::displayf(NULL, " Reporting CPU ID: %d\n",
+ CONSOLE::displayf(NULL, " HW CALLOUT" );
+ CONSOLE::displayf(NULL, " Reporting CPU ID: %d",
callout->cpuid );
// Data is formatted as a callout_ud_t followed by an entity path.
if (size < (l_curSize + sizeof(uint8_t)))
@@ -228,7 +228,7 @@ void ErrLogDisplay::displayCallout (void *data, size_t size)
if( *reinterpret_cast<uint8_t*>( callout )
== HWAS::TARGET_IS_SENTINEL )
{
- CONSOLE::displayf(NULL, "MASTER PROCESSOR SENTINEL\n" );
+ CONSOLE::displayf(NULL, "MASTER PROCESSOR SENTINEL" );
}
else
{
@@ -238,12 +238,12 @@ void ErrLogDisplay::displayCallout (void *data, size_t size)
}
TARGETING::EntityPath *ep =
reinterpret_cast<TARGETING::EntityPath*>( callout );
- CONSOLE::displayf(NULL, "%s\n", ep->toString() );
+ CONSOLE::displayf(NULL, "%s", ep->toString() );
}
break;
case HWAS::PROCEDURE_CALLOUT:
- CONSOLE::displayf(NULL, " PROCEDURE ERROR\n" );
- CONSOLE::displayf(NULL, " Procedure: %d\n",
+ CONSOLE::displayf(NULL, " PROCEDURE ERROR" );
+ CONSOLE::displayf(NULL, " Procedure: %d",
static_cast<int>( callout->procedure ) );
break;
}
@@ -258,10 +258,9 @@ void ErrLogDisplay::displayTarget(void *data, size_t size)
ERRORLOG::TargetLabel_t *label =
reinterpret_cast<ERRORLOG::TargetLabel_t*>( char_buf );
- CONSOLE::displayf(NULL, " Label tag: %s %08x\n", label->x, label->tag );
if( label->tag == 0xffffffff )
{
- CONSOLE::displayf(NULL, " MASTER PROCESSOR SENTINEL\n" );
+ CONSOLE::displayf(NULL, " MASTER PROCESSOR SENTINEL" );
}
else
{
@@ -272,7 +271,7 @@ void ErrLogDisplay::displayTarget(void *data, size_t size)
TARGETING::AttributeTraits<TARGETING::ATTR_HUID>::Type *huid =
reinterpret_cast<TARGETING::AttributeTraits<
TARGETING::ATTR_HUID>::Type*>( char_buf );
- CONSOLE::displayf(NULL, " HUID: %08x\n", *huid );
+ CONSOLE::displayf(NULL, " HUID: %08x", *huid );
// Look up the HUID across all targets.
for ( TARGETING::TargetIterator ti = TARGETING::targetService().begin();
@@ -284,10 +283,10 @@ void ErrLogDisplay::displayTarget(void *data, size_t size)
{
TARGETING::Target *target = *ti;
CONSOLE::displayf(NULL,
- " Phys path: %s\n",
+ " Phys path: %s",
target->getAttr<TARGETING::ATTR_PHYS_PATH>().toString() );
CONSOLE::displayf(NULL,
- " Affinity path: %s\n",
+ " Affinity path: %s",
target->getAttr<TARGETING::ATTR_AFFINITY_PATH>().toString() );
break;
}
@@ -306,53 +305,53 @@ void ErrLogDisplay::msgDisplay (const errlHndl_t &i_err,
i_err->reasonCode());
CONSOLE::displayf(NULL,
- "================================================\n");
- CONSOLE::displayf(NULL, "Error reported by %s (0x%04X)\n",
+ "================================================");
+ CONSOLE::displayf(NULL, "Error reported by %s (0x%04X)",
findComponentName( i_committerComp ),
i_committerComp );
- CONSOLE::displayf(NULL, " %s\n", info->descriptString);
- CONSOLE::displayf(NULL, " ModuleId 0x%02x %s\n",
+ 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\n",
+ CONSOLE::displayf(NULL, " ReasonCode 0x%04x %s",
i_err->reasonCode(), info->reasonString);
- CONSOLE::displayf(NULL, " UserData1 %s : 0x%016lx\n",
+ CONSOLE::displayf(NULL, " UserData1 %s : 0x%016lx",
info->userData1String, i_err->getUserData1());
- CONSOLE::displayf(NULL, " UserData2 %s : 0x%016lx\n",
+ 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\n", (int) 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\n",
+ CONSOLE::displayf(NULL, " Subsection type 0x%02x",
user_data->iv_header.iv_sst );
- CONSOLE::displayf(NULL, " ComponentId %s (0x%04x)\n",
+ 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\n" );
+ CONSOLE::displayf(NULL, " TARGET" );
displayTarget( user_data->iv_pData, user_data->iv_Size );
break;
case ERRORLOG::ERRL_UDT_CALLOUT:
- CONSOLE::displayf(NULL, " CALLOUT\n" );
+ CONSOLE::displayf(NULL, " CALLOUT" );
displayCallout( user_data->iv_pData, user_data->iv_Size );
break;
case ERRORLOG::ERRL_UDT_STRING:
- CONSOLE::displayf(NULL, " STRING\n" );
+ CONSOLE::displayf(NULL, " STRING" );
CONSOLE::displayf(NULL,
- " %s\n",
+ " %s",
reinterpret_cast<char*>( user_data->iv_pData ) );
break;
}
}
CONSOLE::displayf(NULL,
- "================================================\n" );
+ "================================================" );
CONSOLE::flush();
TRACDCOMP( g_trac_errldisp, EXIT_MRK "ErrLogDisplay::msgDisplay" );
OpenPOWER on IntegriCloud