diff options
author | Marty Gloff <mgloff@us.ibm.com> | 2018-05-30 08:41:29 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-05-31 13:35:07 -0400 |
commit | 876b79aacd9b14f4c3561e954daa0285747c9662 (patch) | |
tree | 062fbcf1811c265938767befedb50ce91e2531fa /src | |
parent | 3ee0baff08c230c2db5430eb624e670206532116 (diff) | |
download | talos-hostboot-876b79aacd9b14f4c3561e954daa0285747c9662.tar.gz talos-hostboot-876b79aacd9b14f4c3561e954daa0285747c9662.zip |
Fix for SBE_P9_XIP_CUSTOMIZE_UNSUCCESSFUL during ipl with one EX
Remove code that enforces having a minimum number of cores, allowing the
code to continue with the present cores. Also add a trace to identify
that the minimum core count was not met.
Change-Id: I0d139d39824ad6eb57c14227e1366f96cdaf7ea7
CQ: SW418068
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59543
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/sbe/sbe_update.C | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C index 9ac74fdbb..c930706cc 100644 --- a/src/usr/sbe/sbe_update.C +++ b/src/usr/sbe/sbe_update.C @@ -1104,13 +1104,19 @@ namespace SBE uint32_t desired_min_cores = ((is_fused_mode()) ? 2 : 1) * sys->getAttr<ATTR_SBE_IMAGE_MINIMUM_VALID_ECS>(); - // Find out what chip it is - // If NIMBUS DD1, be less restrictive - uint32_t min_cores = - ( (i_target->getAttr<ATTR_MODEL>() == MODEL_NIMBUS) && - (i_target->getAttr<TARGETING::ATTR_EC>() >= 0x20) ) ? - desired_min_cores : - std::min(desired_min_cores, coreCount); + // Use desired minimum number of cores, but be less restrictive if + // fewer cores are found to be present + uint32_t min_cores = std::min(desired_min_cores, coreCount); + if(min_cores < desired_min_cores) + { + // Identify that the desired minimum core count was not met + TRACFCOMP( g_trac_sbe, INFO_MRK"procCustomizeSbeImg() - " + "Using fewer cores than desired minimum number of " + "cores. HUID=0x%X, coreCount=%d, coreMask=0x%.8X, " + "desired_min_cores=0x%X", + TARGETING::get_huid(i_target), + coreCount, coreMask, desired_min_cores); + } while( coreCount >= min_cores ) { |