diff options
author | Sumit Kumar <sumit_kumar@in.ibm.com> | 2019-02-04 03:53:09 -0600 |
---|---|---|
committer | RAJA DAS <rajadas2@in.ibm.com> | 2019-03-22 21:15:18 -0500 |
commit | 7fc696f4f13140b44f5e3c479cc5f5ac98a561e5 (patch) | |
tree | 4f1923c764838e65ae9ef61cf2a1adb8deb8a5c1 /src/import | |
parent | e27b0cc841ed13a35b7b7c5a6c8d065fc9e00b06 (diff) | |
download | talos-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')
-rw-r--r-- | src/import/hwpf/fapi2/include/error_info.H | 8 | ||||
-rw-r--r-- | src/import/hwpf/fapi2/include/error_info_defs.H | 2 | ||||
-rwxr-xr-x | src/import/hwpf/fapi2/tools/parseErrorInfo.pl | 23 |
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++; } |