diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2016-09-08 21:43:41 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-09-19 23:54:47 -0400 |
commit | 5ebcca122e9e20ed3500a0bb0fab52327e5d7f0f (patch) | |
tree | 83b7e667b1a99ef574bf6c26aebdfc9784fcdef9 /src/import | |
parent | ac9fc4c453f9c76bd878ccbb6430bbef76a4d140 (diff) | |
download | talos-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-x | src/import/hwpf/fapi2/tools/parseErrorInfo.pl | 36 |
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"; |