From 735531f69b8db22ec2acc8b0aa1b73106a892f77 Mon Sep 17 00:00:00 2001 From: Marty Gloff Date: Fri, 7 Jul 2017 16:52:37 -0500 Subject: Log build level for SBE and HCODE customization Extract build information from the XIP header for the SBE and HCODE images. Trace the information. Also use it as FFDC for related error logs. Save the SBE build information in the SB keyword of MVPD. Change-Id: I600a71ae6cbf342643261da14f6b3b2e6bf3cbf1 RTC: 168827 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42951 Reviewed-by: Matt Derksen Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW Reviewed-by: Christian R. Geddes Reviewed-by: Daniel M. Crowell --- src/include/usr/sbe/sbe_update.H | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/include/usr/sbe') diff --git a/src/include/usr/sbe/sbe_update.H b/src/include/usr/sbe/sbe_update.H index 1d5a6a784..02cebeedb 100644 --- a/src/include/usr/sbe/sbe_update.H +++ b/src/include/usr/sbe/sbe_update.H @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -266,12 +267,21 @@ namespace SBE uint32_t seeprom_1_data_crc; uint8_t seeprom_1_short_version[SBE_MVPD_SHORT_IMAGE_VERSION_SIZE]; + + Util::imageBuild_t seeprom_0_build; + + Util::imageBuild_t seeprom_1_build; + uint8_t mvpdSbPad[MVPD_SB_RECORD_SIZE - sizeof(flags) - sizeof(seeprom_0_data_crc) - sizeof(seeprom_1_data_crc) - - (SBE_MVPD_SHORT_IMAGE_VERSION_SIZE * 2)]; + - (SBE_MVPD_SHORT_IMAGE_VERSION_SIZE * 2) + - (sizeof(Util::imageBuild_t) * 2)]; } PACKED; + // This line forces a compile fail if struct is too large + static_assert(sizeof(mvpdSbKeyword_t) <= MVPD_SB_RECORD_SIZE, + "mvpdSbKeyword_t is too large"); /** * @brief Contains the SBE state for a given target @@ -308,6 +318,7 @@ namespace SBE sbeSeepromVersionInfo_t new_seeprom_ver; bool new_readBack_check; + Util::imageBuild_t new_imageBuild; uint32_t err_plid; uint32_t err_eid; @@ -442,7 +453,7 @@ namespace SBE /** * @brief Determines which Seeprom was used to boot the SBE * - * @param[in] i_target Target processor to customize + * @param[in] i_target Target processor to customize. * * @param[out] o_bootSide The Seeprom the SBE booted from * -- cgit v1.2.3