summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorRichard J. Knight <rjknight@us.ibm.com>2016-09-08 21:43:41 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2016-09-19 23:54:47 -0400
commit5ebcca122e9e20ed3500a0bb0fab52327e5d7f0f (patch)
tree83b7e667b1a99ef574bf6c26aebdfc9784fcdef9 /src/import
parentac9fc4c453f9c76bd878ccbb6430bbef76a4d140 (diff)
downloadtalos-sbe-5ebcca122e9e20ed3500a0bb0fab52327e5d7f0f.tar.gz
talos-sbe-5ebcca122e9e20ed3500a0bb0fab52327e5d7f0f.zip
Update parser handling of collectFfdc error xml tags
-Removed requirement for adding function signature to parser -Changed ffdc function argument types to fapi2::ffdc_t for all parms, type information is lost in ffdc class and fifo transfer from the sbe. Change-Id: If0f39a41ea6c1eb05bb6d1ae193c28c3dc77068f Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29473 Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29474 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import')
-rwxr-xr-xsrc/import/hwpf/fapi2/tools/parseErrorInfo.pl36
1 files changed, 14 insertions, 22 deletions
diff --git a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
index af5e24db..71bdbc95 100755
--- a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
+++ b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
@@ -32,7 +32,7 @@
# *HWP FW Owner: Thi Tran <thi@us.ibm.com>
# *HWP Team: N/A
# *HWP Level: 1
-# *HWP Consumed by: HB
+# *HWP Consumed by: HB/SBE/FSP
#
# Usage:
# parseErrorInfo.pl <output dir> <filename1> <filename2> ...
@@ -65,17 +65,6 @@ my $variable_buffer_ffdc_type = "fapi2::variable_buffer";
my $ffdc_type = "fapi2::ffdc_t";
my $mcast_type = "fapi2::mcast_t";
-# We want to keep the signatures for the ffdc gathering hwp so that
-# we can create members of the proper types for the ffdc classes.
-my %signatures = ("proc_extract_pore_halt_ffdc" => ["por_base_state",
- "por_halt_type_t",
- "por_ffdc_offset_t"],
- "proc_example" => ["uint32_t","uint8_t"],
- "proc_extract_pore_base_ffdc" => ["por_base_state", "por_sbe_base_state"],
- "proc_tp_collect_dbg_data" => [$target_ffdc_type],
- "p9_collect_some_ffdc" => ["uint32_t","uint8_t"],
- );
-
# There are some names used in the XML files which exist in either
# c++ keywords (case, for example) or macros (DOMAIN). The one's which
# cause problems and need to be changed are here.
@@ -433,7 +422,6 @@ print EIFILE "#include <plat_trace.H>\n";
print EIFILE "#include <hwp_return_codes.H>\n";
print EIFILE "#include <hwp_executor.H>\n";
print EIFILE "#include <set_sbe_error.H>\n";
-
print EIFILE "/**\n";
print EIFILE " * \@brief Error Information macros and HwpFfdcId enumeration\n";
print EIFILE " *\/\n";
@@ -645,9 +633,7 @@ foreach my $argnum (0 .. $#ARGV)
if ($count == 0)
{
#this rc wont be used, except to indicate the FFDC collection failed
- $collectFfdcStr = " fapi2::ReturnCode l_rc; \\\n";
- # each collect ffdc function needs to populate this so we can add it to i_rc;
- $collectFfdcStr .= " std::vector<std::shared_ptr<ErrorInfoFfdc>>ffdc; \\\n";
+ $collectFfdcStr = "\tfapi2::ReturnCode l_rc; \\\n";
}
$count++;
@@ -655,11 +641,11 @@ foreach my $argnum (0 .. $#ARGV)
# but we need to create the arguments in the ffdc class. The first
# element in the collectFfdc string is the function to call.
my @elements = split /,/, $collectFfdc;
- my @signature = @{$signatures{@elements[0]}};
+# my @signature = @{$signatures{@elements[0]}};
# build up the function call here
@elements[0] =~ s/^\s+|\s+$//g;
- $collectFfdc = "@elements[0]" .",ffdc";
+ $collectFfdc = "@elements[0]";
for (my $i = 1; $i <= $#elements; $i++)
{
$collectFfdc .= ",";
@@ -674,16 +660,22 @@ foreach my $argnum (0 .. $#ARGV)
# add a set method for each parameter too..
@elements[$i] =~ s/^\s+|\s+$//g;
- addFfdcMethod(\%methods, @elements[$i], $err->{rc}, @signature[$i-1],$objNum);
+ addFfdcMethod(\%methods, @elements[$i], $err->{rc}, $ffdc_type ,$objNum);
$collectFfdc .= "@elements[$i]"
}
- $collectFfdcStr .= " FAPI_EXEC_HWP(l_rc, $collectFfdc); \\\n";
+ if( $#elements )
+ {
+ $collectFfdc .= ",";
+ }
+ $collectFfdc .= "RC";
+
+ $collectFfdcStr .= "\tFAPI_EXEC_HWP(l_rc, $collectFfdc); \\\n";
+
+ print EIFILE "\\\n{ \\\n$collectFfdcStr \\\n}";
- print EIFILE "\\\n{ \\\n$collectFfdcStr";
- print EIFILE " RC.addErrorInfo(ffdc); \\\n}";
} #end collectFfdc tag
print EIFILE "\n";
OpenPOWER on IntegriCloud