summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C b/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
index e37cffcd3..7c3033dc2 100755
--- a/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
@@ -243,7 +243,7 @@ errlHndl_t PlatConfigurator::addDomainChips( TARGETING::TYPE i_type,
{
errlHndl_t errl = nullptr;
- std::map<TARGETING::MODEL, std::map<TARGETING::TYPE, const char *>> fnMap =
+ std::map<uint32_t, std::map<TARGETING::TYPE, const char *>> fnMap =
{
{ MODEL_NIMBUS, { { TYPE_PROC, nimbus_proc },
{ TYPE_EQ, nimbus_eq },
@@ -285,7 +285,14 @@ errlHndl_t PlatConfigurator::addDomainChips( TARGETING::TYPE i_type,
{ TYPE_MI, axone_mi },
{ TYPE_MCC, axone_mcc },
{ TYPE_OMIC, axone_omic }, } },
- { MODEL_EXPLORER, { { TYPE_OCMB_CHIP, explorer_ocmb }, } },
+ #ifdef __HOSTBOOT_MODULE
+ { POWER_CHIPID::EXPLORER_16, { { TYPE_OCMB_CHIP, explorer_ocmb }, } },
+ #endif
+ // OCMB is not supported on FSP, however we need support here for the
+ // MODEL_OCMB model for our simulator to work.
+ #ifdef ESW_SIM_COMPILE
+ { MODEL_OCMB, { { TYPE_OCMB_CHIP, explorer_ocmb }, } },
+ #endif
};
// Get references to factory objects.
@@ -299,7 +306,19 @@ errlHndl_t PlatConfigurator::addDomainChips( TARGETING::TYPE i_type,
// Iterate all the targets for this type and add to given domain.
for ( const auto & trgt : getFunctionalTargetList(i_type) )
{
- TARGETING::MODEL model = getChipModel( trgt );
+ uint32_t model = getChipModel( trgt );
+
+ #ifdef __HOSTBOOT_MODULE
+ // Special case for OCMBs (hostboot only issue for P9).
+ if ( MODEL_OCMB == model )
+ {
+ // Use the chip ID instead of model.
+ model = getChipId( trgt );
+
+ // Skip Gemini OCMBs. They can exist, but PRD won't support them.
+ if ( POWER_CHIPID::GEMINI_16 == model ) continue;
+ }
+ #endif
// Ensure this model is supported.
if ( fnMap.end() == fnMap.find(model) )
@@ -350,8 +369,6 @@ errlHndl_t PlatConfigurator::addDomainChips( TARGETING::TYPE i_type,
scanFac, resFac );
break;
- // TODO RTC 199020 - add the pll domains for axone
-
default: ;
}
}
OpenPOWER on IntegriCloud