summaryrefslogtreecommitdiffstats
path: root/src/import/hwpf/fapi2
diff options
context:
space:
mode:
authorSumit Kumar <sumit_kumar@in.ibm.com>2019-02-04 03:53:09 -0600
committerRAJA DAS <rajadas2@in.ibm.com>2019-03-22 21:15:18 -0500
commit7fc696f4f13140b44f5e3c479cc5f5ac98a561e5 (patch)
tree4f1923c764838e65ae9ef61cf2a1adb8deb8a5c1 /src/import/hwpf/fapi2
parente27b0cc841ed13a35b7b7c5a6c8d065fc9e00b06 (diff)
downloadtalos-sbe-7fc696f4f13140b44f5e3c479cc5f5ac98a561e5.tar.gz
talos-sbe-7fc696f4f13140b44f5e3c479cc5f5ac98a561e5.zip
FAPI_Infra:Add new member to structure ErrorInfoHwCallout
Enabling new member addition to the structure ErrorInfoHwCallout to pass on the clock position wrt target. Change-Id: I9501a418945143fbdb49519644cecdc31edaf04d CQ:SW449714 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71281 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> 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: Richard J. Knight <rjknight@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: Manish K. Chowdhary <manichow@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71311 Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Diffstat (limited to 'src/import/hwpf/fapi2')
-rw-r--r--src/import/hwpf/fapi2/include/error_info.H8
-rw-r--r--src/import/hwpf/fapi2/include/error_info_defs.H2
-rwxr-xr-xsrc/import/hwpf/fapi2/tools/parseErrorInfo.pl23
3 files changed, 30 insertions, 3 deletions
diff --git a/src/import/hwpf/fapi2/include/error_info.H b/src/import/hwpf/fapi2/include/error_info.H
index e3640f5e..8ff3d902 100644
--- a/src/import/hwpf/fapi2/include/error_info.H
+++ b/src/import/hwpf/fapi2/include/error_info.H
@@ -169,11 +169,13 @@ struct ErrorInfoHwCallout
/// @param[in] i_hw Hardware to callout
/// @param[in] i_calloutPriority Priority of callout
/// @param[in] i_refTarget Reference to reference target
+ /// @param[in] i_clkPos Clock position
///
ErrorInfoHwCallout(
const HwCallouts::HwCallout i_hw,
const CalloutPriorities::CalloutPriority i_calloutPriority,
- const Target<TARGET_TYPE_ALL>& i_refTarget);
+ const Target<TARGET_TYPE_ALL>& i_refTarget,
+ const uint8_t i_clkPos = CLOCK_POS_UNDEF);
#ifdef FAPI_CUSTOM_MALLOC
///
@@ -202,6 +204,9 @@ struct ErrorInfoHwCallout
// The reference target (needed for some HW callouts to identify what to
// callout). The target handle is NULL if there is no reference target.
Target<TARGET_TYPE_ALL> iv_refTarget;
+
+ // Clock position
+ uint8_t iv_clkPos;
};
///
@@ -548,6 +553,7 @@ struct ErrorInfoEntryHwCallout
uint8_t iv_hw;
uint8_t iv_calloutPriority;
uint8_t iv_refObjIndex;
+ uint8_t iv_clkPos;
void addErrorInfo(std::shared_ptr<ErrorInfo> i_info,
const void* const* i_object) const;
};
diff --git a/src/import/hwpf/fapi2/include/error_info_defs.H b/src/import/hwpf/fapi2/include/error_info_defs.H
index 7871c99b..e312a84b 100644
--- a/src/import/hwpf/fapi2/include/error_info_defs.H
+++ b/src/import/hwpf/fapi2/include/error_info_defs.H
@@ -40,6 +40,8 @@
#endif
namespace fapi2
{
+// For HW callout - Clock position undefined to 0xFF(default)
+#define CLOCK_POS_UNDEF 0xFF
///
/// @brief Type to hold the ffdc data to be sent to hostboot
diff --git a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
index b4dc1949..85812de0 100755
--- a/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
+++ b/src/import/hwpf/fapi2/tools/parseErrorInfo.pl
@@ -6,7 +6,7 @@
#
# OpenPOWER sbe Project
#
-# Contributors Listed Below - COPYRIGHT 2015,2018
+# Contributors Listed Below - COPYRIGHT 2015,2019
# [+] International Business Machines Corp.
#
#
@@ -66,6 +66,7 @@ my $ffdc_type = "fapi2::ffdc_t";
my $mcast_type = "fapi2::mcast_t";
my $scom_addr_type = "uint64_t";
my $ffdc_count = 0;
+my $clock_ffdc_type = "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
@@ -292,7 +293,7 @@ sub addFfdcMethod
# If we're generating empty classes, not using an argument name will avoid the unused parameter warnings
my $param = ( $arg_empty_ffdc eq undef ) ? "i_value" : "";
- if ( $type eq $ffdc_type )
+ if ( $type eq $ffdc_type || $type eq $clock_ffdc_type )
{
$method = " template< typename T >\n";
$method .= " inline $class_name& set_$ffdc_uc(const T& $param)\n";
@@ -1071,6 +1072,24 @@ foreach my $argnum ( 0 .. $#ARGV )
{
$eiEntryStr .= " l_entries[$eiEntryCount].hw_callout.iv_refObjIndex = 0xff; \\\n";
}
+
+ # HW Callout - Clock position
+ if ( exists $callout->{hw}->{clkPos} )
+ {
+ # Add the Targets to the objectlist if they don't already exist
+ my $objNum1 = addEntryToArray( \@eiObjects, $callout->{hw}->{clkPos} );
+
+ $eiEntryStr .=
+ " l_entries[$eiEntryCount].hw_callout.iv_clkPos = $callout->{hw}->{clkPos}; \\\n";
+
+ # Add a method to the ffdc-gathering class
+ addFfdcMethod( \%methods, $callout->{hw}->{clkPos}, $err->{rc}, $clock_ffdc_type, $objNum1 );
+ }
+ else
+ {
+ $eiEntryStr .= " l_entries[$eiEntryCount].hw_callout.iv_clkPos = 0xff; \\\n";
+ }
+
$eiEntryCount++;
$elementsFound++;
}
OpenPOWER on IntegriCloud