summaryrefslogtreecommitdiffstats
path: root/src/import/hwpf
diff options
context:
space:
mode:
authorRichard J. Knight <rjknight@us.ibm.com>2016-08-22 08:33:17 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2016-09-14 06:32:41 -0400
commit55725bff75c15a0da730b4a6a81e64959bd82602 (patch)
tree27060e48c6bcb7a80ebbc9e4c5ef0c1b718646d9 /src/import/hwpf
parent5c3bc7b60c8cb051b05656f84a386540eb1791bc (diff)
downloadtalos-sbe-55725bff75c15a0da730b4a6a81e64959bd82602.tar.gz
talos-sbe-55725bff75c15a0da730b4a6a81e64959bd82602.zip
Add new xml tag to support returning an SBE scom fail
-Add <platScomFail/> tag allow special processing of this type of failure. -Modified parseErrorInfo.pl to generate set_address and set_pcb_pib_rc allowing the failure data to be returned through the normal channel. Change-Id: I2046d04b6d8c993e8ff2677ee63947964efc4bef RTC:158628 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28913 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Santosh S. Puranik <santosh.puranik@in.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Matt K. Light <mklight@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28926 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import/hwpf')
-rwxr-xr-xsrc/import/hwpf/fapi2/tools/parseErrorInfo.pl52
1 files changed, 47 insertions, 5 deletions
diff --git a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
index 8a431d1b..7d0e6e9b 100755
--- a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
+++ b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
@@ -2,7 +2,7 @@
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
-# $Source: import/hwpf/fapi2/tools/parseErrorInfo.pl $
+# $Source: src/import/hwpf/fapi2/tools/parseErrorInfo.pl $
#
# OpenPOWER sbe Project
#
@@ -351,7 +351,7 @@ sub addFfdcMethod
$methods->{$key}{member} = "$ffdc_type $ffdc_uc;";
$methods->{$objectNumber}{localvar} = "$ffdc_type $ffdc_uc = getFfdcData(FFDC_BUFFER[$objectNumber]);";
- $methods->{$objectNumber}{assignment_string} = "l_obj.$ffdc_uc=$ffdc_uc";
+ $methods->{$objectNumber}{assignment_string} = "l_obj.$ffdc_uc=$ffdc_uc;";
}
else
@@ -757,7 +757,7 @@ foreach my $argnum (0 .. $#ARGV)
if($crffdcCount > 0)
{
- print EIFILE "\tRC.addErrorInfo(ffdc); \\\n}\n";
+ print EIFILE "\tRC.addErrorInfo(ffdc); \\\n}";
}
}
@@ -785,10 +785,52 @@ foreach my $argnum (0 .. $#ARGV)
$eiEntryCount++;
} #end foreach $collectTrace
+ # plaform (currently only SBE) PCB-PIB error defined in xml file,
+ # we will always add the set_address and set_pcb_pib_rc methods
+ # for this error type
+ if(exists $err->{platScomFail})
+ {
+ # Set the FFDC ID value in a global hash. The name is <rc>_pib_error
+ my $ffdcName = $err->{rc} . "_";
+ $ffdcName = $ffdcName . "address";
+ setFfdcIdValue($ffdcName);
+
+ # Add the address to the EI Object array if it doesn't already exist
+ my $objNum = addEntryToArray(\@eiObjects, "address");
+
+ # Add a method to the ffdc-gathering class
+ addFfdcMethod(\%methods, "address", $err->{rc},$ffdc_type,$objNum);
+
+ # Add an EI entry to eiEntryStr
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].iv_type = fapi2::EI_TYPE_FFDC; \\\n";
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].ffdc.iv_ffdcObjIndex = $objNum; \\\n";
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].ffdc.iv_ffdcId = fapi2::$ffdcName; \\\n";
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].ffdc.iv_ffdcSize = 8; \\\n";
+ $eiEntryCount++;
+
+ # Set the FFDC ID value in a global hash. The name is <rc>_pib_error
+ $ffdcName = $err->{rc} . "_";
+ $ffdcName = $ffdcName . "pcb_pib_rc";
+ setFfdcIdValue($ffdcName);
+
+ # Add the pibError to the EI Object array if it doesn't already exist
+ $objNum = addEntryToArray(\@eiObjects, "pcb_pib_rc");
+
+ # Add a method to the ffdc-gathering class
+ addFfdcMethod(\%methods, "pcb_pib_rc", $err->{rc},$ffdc_type,$objNum);
+
+ # Add an EI entry to eiEntryStr
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].iv_type = fapi2::EI_TYPE_FFDC; \\\n";
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].ffdc.iv_ffdcObjIndex = $objNum; \\\n";
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].ffdc.iv_ffdcId = fapi2::$ffdcName; \\\n";
+ $eiEntryStr .= "\tl_entries[$eiEntryCount].ffdc.iv_ffdcSize = 8; \\\n";
+ $eiEntryCount++;
+ } #end foreach $ffdc
+
+
# Local FFDC
foreach my $ffdc (@{$err->{ffdc}})
{
-
# Set the FFDC ID value in a global hash. The name is <rc>_<ffdc>
my $ffdcName = $err->{rc} . "_";
$ffdcName = $ffdcName . $ffdc;
@@ -1292,7 +1334,7 @@ foreach my $argnum (0 .. $#ARGV)
print EIFILE "\tRC.addErrorInfo(l_objects, l_entries, $eiEntryCount); \\\n}";
}
- print EIFILE "\n";
+ print EIFILE "\n\n";
#----------------------------------------------------------------------
# Print the return code class to hwp_error_info.H
OpenPOWER on IntegriCloud