summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2018-11-02 14:45:46 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-12-06 09:35:48 -0600
commit8e551a605aa222120ec4ad6f618f4f5e609752b6 (patch)
treee02a7a0182d4aabef2fbfb9968af24faa460da73 /src
parent51f5db9c151941d7e4ca2ab5befdba01570bf6f9 (diff)
downloadblackbird-hostboot-8e551a605aa222120ec4ad6f618f4f5e609752b6.tar.gz
blackbird-hostboot-8e551a605aa222120ec4ad6f618f4f5e609752b6.zip
PRD: Axone Configurator updates
Change-Id: I328a34564faec3a1adba25d2a992d77adc3de7de RTC: 199009 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68014 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69458 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>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C95
-rw-r--r--src/usr/diag/prdf/common/plat/p9/prdfP9OmiDomain.H61
-rwxr-xr-xsrc/usr/diag/prdf/common/rule/prdfRuleFiles.C3
-rwxr-xr-xsrc/usr/diag/prdf/common/rule/prdfRuleFiles.H3
4 files changed, 73 insertions, 89 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C b/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
index 18dead0fa..ed656f2c9 100755
--- a/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
@@ -47,9 +47,13 @@
#include <prdfP9McDomain.H>
#include <prdfP9McaDomain.H>
#include <prdfP9McbistDomain.H>
+#include <prdfP9MccDomain.H>
#include <prdfP9McsDomain.H>
#include <prdfP9MiDomain.H>
+#include <prdfP9NpuDomain.H>
#include <prdfP9ObusDomain.H>
+#include <prdfP9OcmbChipDomain.H>
+#include <prdfP9OmicDomain.H>
#include <prdfP9PecDomain.H>
#include <prdfP9PhbDomain.H>
#include <prdfP9ProcDomain.H>
@@ -82,8 +86,9 @@ errlHndl_t PlatConfigurator::build()
systemPtr = new System(cv_noAttnResolution);
// Create domains.
- ProcDomain * procDomain = new ProcDomain( PROC_DOMAIN );
- MembufDomain * membufDomain = nullptr;
+ ProcDomain * procDomain = new ProcDomain( PROC_DOMAIN );
+ MembufDomain * membufDomain = nullptr;
+ OcmbChipDomain * ocmbChipDomain = nullptr;
std::map<TARGETING::TYPE, RuleChipDomain *> unitMap;
unitMap[TYPE_EQ ] = new EqDomain( EQ_DOMAIN );
@@ -114,6 +119,16 @@ errlHndl_t PlatConfigurator::build()
break;
+ case MODEL_AXONE:
+ unitMap[TYPE_NPU ] = new NpuDomain( NPU_DOMAIN );
+ unitMap[TYPE_MC ] = new McDomain( MC_DOMAIN );
+ unitMap[TYPE_MI ] = new MiDomain( MI_DOMAIN );
+ unitMap[TYPE_MCC ] = new MccDomain( MCC_DOMAIN );
+ unitMap[TYPE_OMIC] = new OmicDomain( OMIC_DOMAIN );
+ ocmbChipDomain = new OcmbChipDomain( OCMB_DOMAIN );
+
+ break;
+
default:
PRDF_ERR( "[PlatConfigurator::build] Unsupported master proc "
"type %d", getChipModel(getMasterProc()) );
@@ -139,6 +154,13 @@ errlHndl_t PlatConfigurator::build()
if ( nullptr != errl ) break;
}
+ if ( nullptr != ocmbChipDomain )
+ {
+ errl = addDomainChips( TYPE_OCMB_CHIP, ocmbChipDomain,
+ pllDmnMapLst );
+ if ( nullptr != errl ) break;
+ }
+
// Order does not matter because they are not added to the PLL domains.
for ( auto & d : unitMap )
{
@@ -222,32 +244,47 @@ errlHndl_t PlatConfigurator::addDomainChips( TARGETING::TYPE i_type,
std::map<TARGETING::MODEL, std::map<TARGETING::TYPE, const char *>> fnMap =
{
- { MODEL_NIMBUS, { { TYPE_PROC, nimbus_proc },
- { TYPE_EQ, nimbus_eq },
- { TYPE_EX, nimbus_ex },
- { TYPE_CORE, nimbus_ec },
- { TYPE_CAPP, nimbus_capp },
- { TYPE_PEC, nimbus_pec },
- { TYPE_PHB, nimbus_phb },
- { TYPE_XBUS, nimbus_xbus },
- { TYPE_OBUS, nimbus_obus },
- { TYPE_MCBIST, nimbus_mcbist },
- { TYPE_MCS, nimbus_mcs },
- { TYPE_MCA, nimbus_mca }, } },
- { MODEL_CUMULUS, { { TYPE_PROC, cumulus_proc },
- { TYPE_EQ, cumulus_eq },
- { TYPE_EX, cumulus_ex },
- { TYPE_CORE, cumulus_ec },
- { TYPE_CAPP, cumulus_capp },
- { TYPE_PEC, cumulus_pec },
- { TYPE_PHB, cumulus_phb },
- { TYPE_XBUS, cumulus_xbus },
- { TYPE_OBUS, cumulus_obus },
- { TYPE_MC, cumulus_mc },
- { TYPE_MI, cumulus_mi },
- { TYPE_DMI, cumulus_dmi }, } },
- { MODEL_CENTAUR, { { TYPE_MEMBUF, centaur_membuf },
- { TYPE_MBA, centaur_mba }, } },
+ { MODEL_NIMBUS, { { TYPE_PROC, nimbus_proc },
+ { TYPE_EQ, nimbus_eq },
+ { TYPE_EX, nimbus_ex },
+ { TYPE_CORE, nimbus_ec },
+ { TYPE_CAPP, nimbus_capp },
+ { TYPE_PEC, nimbus_pec },
+ { TYPE_PHB, nimbus_phb },
+ { TYPE_XBUS, nimbus_xbus },
+ { TYPE_OBUS, nimbus_obus },
+ { TYPE_MCBIST, nimbus_mcbist },
+ { TYPE_MCS, nimbus_mcs },
+ { TYPE_MCA, nimbus_mca }, } },
+ { MODEL_CUMULUS, { { TYPE_PROC, cumulus_proc },
+ { TYPE_EQ, cumulus_eq },
+ { TYPE_EX, cumulus_ex },
+ { TYPE_CORE, cumulus_ec },
+ { TYPE_CAPP, cumulus_capp },
+ { TYPE_PEC, cumulus_pec },
+ { TYPE_PHB, cumulus_phb },
+ { TYPE_XBUS, cumulus_xbus },
+ { TYPE_OBUS, cumulus_obus },
+ { TYPE_MC, cumulus_mc },
+ { TYPE_MI, cumulus_mi },
+ { TYPE_DMI, cumulus_dmi }, } },
+ { MODEL_CENTAUR, { { TYPE_MEMBUF, centaur_membuf },
+ { TYPE_MBA, centaur_mba }, } },
+ { MODEL_AXONE, { { TYPE_PROC, axone_proc },
+ { TYPE_EQ, axone_eq },
+ { TYPE_EX, axone_ex },
+ { TYPE_CORE, axone_ec },
+ { TYPE_CAPP, axone_capp },
+ { TYPE_PEC, axone_pec },
+ { TYPE_PHB, axone_phb },
+ { TYPE_XBUS, axone_xbus },
+ { TYPE_OBUS, axone_obus },
+ { TYPE_NPU, axone_npu },
+ { TYPE_MC, axone_mc },
+ { TYPE_MI, axone_mi },
+ { TYPE_MCC, axone_mcc },
+ { TYPE_OMIC, axone_omic }, } },
+ { MODEL_EXPLORER, { { TYPE_OCMB_CHIP, explorer_ocmb }, } },
};
// Get references to factory objects.
@@ -312,6 +349,8 @@ errlHndl_t PlatConfigurator::addDomainChips( TARGETING::TYPE i_type,
scanFac, resFac );
break;
+ // TODO RTC 199020 - add the pll domains for axone
+
default: ;
}
}
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9OmiDomain.H b/src/usr/diag/prdf/common/plat/p9/prdfP9OmiDomain.H
deleted file mode 100644
index 34ba46093..000000000
--- a/src/usr/diag/prdf/common/plat/p9/prdfP9OmiDomain.H
+++ /dev/null
@@ -1,61 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/p9/prdfP9OmiDomain.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2018 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-#ifndef __prdfP9OmiDomain_H
-#define __prdfP9OmiDomain_H
-
-#include <prdfRuleChipDomain.H>
-
-namespace PRDF
-{
-
-class OmiDomain : public RuleChipDomain
-{
- public:
-
- /**
- * @brief Constructor
- * @param i_did The domain ID
- * @param i_size The projected size of the domain
- */
- OmiDomain( DOMAIN_ID i_did, uint32_t i_size = OMI_DOMAIN_SIZE ) :
- RuleChipDomain( i_did, i_size )
- {}
-
- /**
- * @brief Query for an attention of a specific type in this domain
- * @param i_attnType [MACHINE_CHECK | RECOVERABLE | SPECIAL]
- * @return false
- * @note This function will always return false. That way PRD will look
- * for the attention via the processor chip.
- */
- virtual bool Query( ATTENTION_TYPE i_attnType )
- { return false; }
-
-};
-
-} // end namespace PRDF
-
-#endif /* __prdfP9OmiDomain_H */
diff --git a/src/usr/diag/prdf/common/rule/prdfRuleFiles.C b/src/usr/diag/prdf/common/rule/prdfRuleFiles.C
index 4d50ced64..d9b9dadec 100755
--- a/src/usr/diag/prdf/common/rule/prdfRuleFiles.C
+++ b/src/usr/diag/prdf/common/rule/prdfRuleFiles.C
@@ -77,6 +77,9 @@ namespace PRDF
const char * axone_mcc = "axone_mcc";
const char * axone_omic = "axone_omic";
+ // P9 Explorer Chip
+ const char * explorer_ocmb = "explorer_ocmb";
+
// Centaur Chip
const char * centaur_membuf = "centaur_membuf";
const char * centaur_mba = "centaur_mba";
diff --git a/src/usr/diag/prdf/common/rule/prdfRuleFiles.H b/src/usr/diag/prdf/common/rule/prdfRuleFiles.H
index f62f4beb0..1e652257d 100755
--- a/src/usr/diag/prdf/common/rule/prdfRuleFiles.H
+++ b/src/usr/diag/prdf/common/rule/prdfRuleFiles.H
@@ -78,6 +78,9 @@ namespace PRDF
extern const char * axone_mcc;
extern const char * axone_omic;
+ // P9 Explorer Chip
+ extern const char * explorer_ocmb;
+
// Centaur Chip
extern const char * centaur_membuf;
extern const char * centaur_mba;
OpenPOWER on IntegriCloud