summaryrefslogtreecommitdiffstats
path: root/src/import/hwpf/fapi2/include/error_info_defs.H
diff options
context:
space:
mode:
authorDonald Washburn <dwashbur@us.ibm.com>2017-06-08 10:39:35 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2017-06-19 15:44:09 -0400
commitcf7b3f781f41a3891e6af34a11c5e1d64e303c20 (patch)
treeef8604cddaf5cd465bd7dbc2cb4b412ecd8f8731 /src/import/hwpf/fapi2/include/error_info_defs.H
parentccc8e8a0b52d369eda85fe07ccd5d5dd19c5646b (diff)
downloadtalos-sbe-cf7b3f781f41a3891e6af34a11c5e1d64e303c20.tar.gz
talos-sbe-cf7b3f781f41a3891e6af34a11c5e1d64e303c20.zip
Enable and fix error log variable_buffer support.
Errorlog support for the fapi2::variable_buffer type was not enabled in hostboot. Tests showed that when enabled, variable_buffer data was not being propagated properly to the error log. The issue was found to be that the pointer to the variable_buffer's internal data was not being properly passed to an ffdc_t object. Also, transferring the size of the variable_buffer data was not being correctly communicated to an ffdc_t object because a specialization of the getErrorInfoFfdcSize template function is needed. Becuase the specialization of the getErrorInfoFfdcSize function with an ffdc_t parameter did not exist, the code base used the primary function template for the getErrorInfoFfdcSize function which just returns the size of an ffdc_t object passed to it instead of the size of the contained data within the ffdc_t. Changes: * Added specialization of getErrorInfoFfdcSize for fapi2::ffdc_t. * Enabled variable_buffer support in parseErrorInfo.mk. * Added const overload of the pointer() method for the fapi2::buffer and fapi2::variable_buffer classes. This to allow these methods to be used in the set_BUFFER methods that take a const reference to objects of these classes. * Modified parseErrorInfo.pl to generate code to use the above mentioned pointer methods. The adjusted generated code fixes the problem of assigning an incorrect buffer pointer. Change-Id: I96dc89fbb68ee6a153ca43191181c56804b84ae8 RTC: 175239 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41541 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: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41547 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/import/hwpf/fapi2/include/error_info_defs.H')
-rw-r--r--src/import/hwpf/fapi2/include/error_info_defs.H12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/import/hwpf/fapi2/include/error_info_defs.H b/src/import/hwpf/fapi2/include/error_info_defs.H
index 880552eb..0476f1ed 100644
--- a/src/import/hwpf/fapi2/include/error_info_defs.H
+++ b/src/import/hwpf/fapi2/include/error_info_defs.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -332,6 +332,16 @@ inline uint16_t getErrorInfoFfdcSize(const fapi2::variable_buffer& i_thing)
i_thing.getLength<uint8_t>());
}
#endif
+
+///
+/// @brief Get FFDC Size specialization for ffdc_t
+///
+template<>
+inline uint16_t getErrorInfoFfdcSize(const fapi2::ffdc_t& i_ffdc)
+{
+ return static_cast<uint16_t>(i_ffdc.size());
+}
+
};
#endif // FAPI2_ERRORINFO_DEFS_H_
OpenPOWER on IntegriCloud