diff options
Diffstat (limited to 'src/usr')
| -rw-r--r-- | src/usr/sbe/sbe_update.C | 17 | ||||
| -rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 5 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C index 4ec16a3eb..c5c771a01 100644 --- a/src/usr/sbe/sbe_update.C +++ b/src/usr/sbe/sbe_update.C @@ -116,6 +116,7 @@ namespace SBE (void) tS.getTopLevelTarget( sys ); assert(sys, "updateProcessorSbeSeeproms() system target is NULL"); + // @todo RTC 97441 - remove this check if ( sys->getAttr<ATTR_ISTEP_MODE>() && // true => istep mode INITSERVICE::spBaseServicesEnabled() ) // true => FSP present { @@ -124,6 +125,22 @@ namespace SBE break; } + /*****************************************************************/ + /* Skip Update if MNFG_FLAG_FSP_UPDATE_SBE_IMAGE is set */ + /* AND there is a FSP present */ + /*****************************************************************/ + ATTR_MNFG_FLAGS_type mnfg_flags = sys->getAttr<ATTR_MNFG_FLAGS>(); + if ( (mnfg_flags & MNFG_FLAG_FSP_UPDATE_SBE_IMAGE) + && INITSERVICE::spBaseServicesEnabled() // true => FSP present + ) + { + TRACFCOMP( g_trac_sbe, INFO_MRK"SBE Update skipped due to " + "FSP present and MNFG_FLAG_FSP_UPDATE_SBE_IMAGE " + "(0x%.16X) is set in MNFG Flags 0x%.16X", + MNFG_FLAG_FSP_UPDATE_SBE_IMAGE, mnfg_flags); + break; + } + //Make sure procedure constants keep within expected range. assert((FIXED_SEEPROM_WORK_SPACE <= VMM_SBE_UPDATE_SIZE/2), "updateProcessorSbeSeeproms() FIXED_SEEPROM_WORK_SPACE " diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index d31ff520c..e662621fd 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -3044,6 +3044,11 @@ <name>BRAZOS_WRAP_CONFIG</name> <value>0x00010000</value> </enumerator> + <enumerator> + <!-- FSP is responsible for updating Processor SBE Image --> + <name>FSP_UPDATE_SBE_IMAGE</name> + <value>0x00020000</value> + </enumerator> </enumerationType> <!-- Support for pm_hwp_attributes.xml --> |

