summaryrefslogtreecommitdiffstats
path: root/src/usr/sbe/sbe_update.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/sbe/sbe_update.C')
-rw-r--r--src/usr/sbe/sbe_update.C17
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 "
OpenPOWER on IntegriCloud