summaryrefslogtreecommitdiffstats
path: root/src/build/debug
diff options
context:
space:
mode:
authorNick Bofferding <bofferdn@us.ibm.com>2018-12-05 14:24:55 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-12-06 18:56:35 -0600
commit2555c39c6f9c365cbdc2376ded59ae5f4d8a3c42 (patch)
tree9e742e9748c3db0cf76d516264d2d0c9542e17ed /src/build/debug
parentc6b5971be189bd7b4cc4b6898709626bf8501797 (diff)
downloadtalos-hostboot-2555c39c6f9c365cbdc2376ded59ae5f4d8a3c42.tar.gz
talos-hostboot-2555c39c6f9c365cbdc2376ded59ae5f4d8a3c42.zip
Support parsing call home informational eSELs with debug tooling
Modifies eSEL.pl to support decoding call home informational eSELs which have the 'dd' type vs. the 'df' type for other eSELs. Hostboot sends call home informational eSELs when it finds an unacknowledged error from a previous boot. Change-Id: I0c4c8eabe2f104796b5bde05fd493958ddc662c7 CQ: SW452532 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69474 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/build/debug')
-rwxr-xr-xsrc/build/debug/eSEL.pl14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/build/debug/eSEL.pl b/src/build/debug/eSEL.pl
index f087fc483..ddce72f50 100755
--- a/src/build/debug/eSEL.pl
+++ b/src/build/debug/eSEL.pl
@@ -430,13 +430,14 @@ sub FilterACKedLogs
# PEL data. The function also does some processing of the input string to
# convert it to format acceptable by the errl parser. It returns a string with
# PEL data (without the eSEL header) or an empty string if the input does not
-# contain PEL data (does not contain 'df' or '20 00 04').
+# contain PEL data (does not contain either 'df' or 'dd' followed a few bytes
+# later by '20 00 04').
#
# Ex input 1: "ESEL=00 00 df 00 00 00 00 20 00 04 0c b8 07 aa 00 00 50 48 00 30
# 01 00 09 00 00 00 00 09 e6 43 1c b9 <more data>",
# Ex output 1: 50 48 00 30 01 00 09 00 00 00 00 09 e6 43 1c b9 <more data>
#
-# Ex input 2: ESEL=00 00 df 00 00 00 00 20 00 04 0c b8 07 aa 00 00 50 48 00 30
+# Ex input 2: ESEL=00 00 dd 00 00 00 00 20 00 04 0c b8 07 aa 00 00 50 48 00 30
# 01 00 09 00 00 00 00 09 e6 43 1c b9 <more data>
# Ex output 2: 50 48 00 30 01 00 09 00 00 00 00 09 e6 43 1c b9 <more data>
#
@@ -451,11 +452,13 @@ sub ProcessEselString
$inputString =~ s/ESEL=//g; # strip ESEL=
($debug) && print "ESEL data #$esel_record_count = $inputString\n";
}
- # If the SEL entry contains the "df" key, AND it has '040020' it's our eSEL
- if(!($inputString =~ /df/) or !($inputString =~ /20 00 04/))
+ # If the SEL entry contains the "df" (regular) or "dd" (call home
+ # informational) key followed (a few bytes later) by '040020' it's our eSEL
+ my $criteria = qr/df|dd.*20 00 04/;
+ if(!($inputString =~ /$criteria/))
{
($debug) &&
- print " \'df\' or \'20 00 04\' was not found in $inputString.\n";
+ print " Did not find \'df\' or \'dd\' followed (a few bytes later) by \'20 00 04\' in $inputString.\n";
return "";
}
@@ -666,6 +669,7 @@ sub GetAmiEselData
for(my $i=0; $i<$sel_count; $i++)
{
# If the SEL entry contains the "df" key, AND it has '040020' it's our eSEL
+ # AMI BMC does not support call home informationals
if (($SEL_list[$i] =~ / OEM record df /) && ($SEL_list[$i] =~ /040020/))
{
push @eSEL_list, $SEL_list[$i];
OpenPOWER on IntegriCloud