summaryrefslogtreecommitdiffstats
path: root/src/import/hwpf
diff options
context:
space:
mode:
authorspashabk-in <shakeebbk@in.ibm.com>2017-06-22 07:27:05 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2017-06-26 19:10:54 -0400
commitd9c7e1fec628c2804f32feef0a671881d2645410 (patch)
tree23fc5da4387bd772f9a030dc6dfd19623403f8f7 /src/import/hwpf
parent828aedff8679c345298eb796aaca10bed5e71b3a (diff)
downloadtalos-sbe-d9c7e1fec628c2804f32feef0a671881d2645410.tar.gz
talos-sbe-d9c7e1fec628c2804f32feef0a671881d2645410.zip
Adding a static method to get scom failure address
Added a static method 'SBE_SCOM_FAILURE::get_address' to fetch scom failure address from SBE HWP ffdc data blob Change-Id: Iec5fc6c5eb8e1ad4dbb51805b8b6d4b2d7e5ecbd Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42275 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: Prachi Gupta <pragupta@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42280 Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Diffstat (limited to 'src/import/hwpf')
-rwxr-xr-xsrc/import/hwpf/fapi2/tools/parseErrorInfo.pl12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
index 57a6a87d..ac584758 100755
--- a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
+++ b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
@@ -64,6 +64,7 @@ my $buffer_ffdc_type = "fapi2::buffer";
my $variable_buffer_ffdc_type = "fapi2::variable_buffer";
my $ffdc_type = "fapi2::ffdc_t";
my $mcast_type = "fapi2::mcast_t";
+my $scom_addr_type = "uint64_t";
my $ffdc_count = 0;
# There are some names used in the XML files which exist in either
@@ -372,6 +373,14 @@ sub addFfdcMethod
$methods->{$objectNumber}{localvar} = "$ffdc_type $ffdc_uc = getFfdcData(FFDC_BUFFER[$objectNumber]);";
$methods->{$objectNumber}{assignment_string} = "l_obj.$ffdc_uc=$ffdc_uc;";
}
+ elsif ( $type eq $scom_addr_type )
+ {
+ if ( $arg_local_ffdc eq undef )
+ {
+ $method = "\n static $type $ffdc_uc(const sbeFfdc_t *ffdc)\n";
+ $method_body = " {\n return ffdc[$objectNumber].data;\n }\n\n";
+ }
+ }
else
{
$method .= " inline $class_name& set_$ffdc_uc($type $param)\n";
@@ -910,6 +919,9 @@ foreach my $argnum ( 0 .. $#ARGV )
$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";
+
+ # Add a static method to get address from ffdc blob
+ addFfdcMethod( \%methods, "get_address", $err->{rc}, $scom_addr_type, $eiEntryCount );
$eiEntryCount++;
# Set the FFDC ID value in a global hash. The name is <rc>_pib_error
OpenPOWER on IntegriCloud