summaryrefslogtreecommitdiffstats
path: root/import/hwpf/fapi2/include/error_info.H
diff options
context:
space:
mode:
authorRichard J. Knight <rjknight@us.ibm.com>2016-06-23 15:28:52 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2016-08-04 03:09:08 -0400
commit5ccbe4af007b3d9db1cbe853007c9462e0fb9748 (patch)
tree4795beb6c82e91bd679f3f222275af56b164c162 /import/hwpf/fapi2/include/error_info.H
parent542c4b4be51e0ce0ce891af2cdf2688ab12fe50d (diff)
downloadtalos-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.H29
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_
OpenPOWER on IntegriCloud