diff options
author | Donald Washburn <dwashbur@us.ibm.com> | 2017-06-08 10:39:35 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-06-15 17:06:38 -0400 |
commit | 80ae8c88329859009d5a89f9a92cb8cb2c736a4a (patch) | |
tree | e7f78d16e883033ae1b96de157d79e273567927b /src/import/hwpf/fapi2/include/variable_buffer.H | |
parent | ed5d58318d4391cbc83bed455e4caf5ec445c0c1 (diff) | |
download | talos-hostboot-80ae8c88329859009d5a89f9a92cb8cb2c736a4a.tar.gz talos-hostboot-80ae8c88329859009d5a89f9a92cb8cb2c736a4a.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/41548
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/hwpf/fapi2/include/variable_buffer.H')
-rw-r--r-- | src/import/hwpf/fapi2/include/variable_buffer.H | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/import/hwpf/fapi2/include/variable_buffer.H b/src/import/hwpf/fapi2/include/variable_buffer.H index 18df380d7..0c1414486 100644 --- a/src/import/hwpf/fapi2/include/variable_buffer.H +++ b/src/import/hwpf/fapi2/include/variable_buffer.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -812,6 +812,15 @@ class variable_buffer } /// + /// @brief Get a pointer to the buffer bits + /// @return Pointer to the buffer itself + /// + inline const unit_type* pointer(void) const + { + return &(iv_data[0]); + } + + /// /// @brief operator!=() /// inline bool operator!=(const variable_buffer& rhs) const |