diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2016-06-23 15:28:52 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-08-04 03:09:08 -0400 |
commit | 5ccbe4af007b3d9db1cbe853007c9462e0fb9748 (patch) | |
tree | 4795beb6c82e91bd679f3f222275af56b164c162 /import/hwpf/fapi2/include/error_info.H | |
parent | 542c4b4be51e0ce0ce891af2cdf2688ab12fe50d (diff) | |
download | talos-sbe-5ccbe4af007b3d9db1cbe853007c9462e0fb9748.tar.gz talos-sbe-5ccbe4af007b3d9db1cbe853007c9462e0fb9748.zip |
Changes to support SBE error parsing in HB/HWSV
-Added code to parse SBE ffdc buffer passed
back vi SBE FIFO
-Enabled collectFfdc tag parsing in parseErrorInfo.pl
script
Change-Id: If6c139e613cc2d7ffd1bd97756b51e4b96e99cb3
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26399
Dev-Ready: Deepak Kodihalli <dkodihal@in.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>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26744
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'import/hwpf/fapi2/include/error_info.H')
-rw-r--r-- | import/hwpf/fapi2/include/error_info.H | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/import/hwpf/fapi2/include/error_info.H b/import/hwpf/fapi2/include/error_info.H index eb1d09e0..08d97e28 100644 --- a/import/hwpf/fapi2/include/error_info.H +++ b/import/hwpf/fapi2/include/error_info.H @@ -7,7 +7,7 @@ /* */ /* EKB Project */ /* */ -/* COPYRIGHT 2011,2015 */ +/* COPYRIGHT 2011,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -33,6 +33,30 @@ namespace fapi2 { + +#if defined(MINIMUM_FFDC) && !defined(FAPI2_NO_FFDC) +// convert generic type to uint64_t +template<typename T> +inline uint64_t convertType( T& i_value ) +{ + // for simplicity sake, all FFDC chunks from the SBE + // are going to be sent as a uint64_t + return static_cast<uint64_t>(i_value); +}; + +// convert platform target handle to a uint64_t +template<fapi2::TargetType T> +inline uint64_t convertType( const fapi2::Target<T>& i_value) +{ + // send the target type and instance as ffdc they will be used + // to instantiate a target before logging the ffdc data + return static_cast<uint64_t>((static_cast<uint64_t>( + (i_value.get().getFapiTargetType())) << 32) | + i_value.get().getTargetInstance()); +}; +#endif + +#if !defined(FAPI2_NO_FFDC) && !defined(MINIMUM_FFDC) // forward fapi2::Assert() extern void Assert(bool); @@ -483,7 +507,6 @@ struct ErrorInfo // Vector of traces to collect std::vector<std::shared_ptr<ErrorInfoCollectTrace> > iv_traces; }; - /// /// @brief Structure representing a single ErrorInfo entry. /// @@ -652,6 +675,6 @@ struct ErrorInfoEntry return; } }; +#endif // !defined(FAPI2_NO_FFDC) && !defined(MINIMUM_FFDC) } - #endif // FAPI2_ERRORINFO_H_ |