diff options
Diffstat (limited to 'src/usr/sbe/sbe_update.C')
| -rw-r--r-- | src/usr/sbe/sbe_update.C | 17 |
1 files changed, 17 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 " |

