summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2017-09-28 16:12:55 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-10-09 10:49:15 -0400
commit87093b7e71375cec9a956b52f8a8439682bd0b58 (patch)
treec6baae650d1ba4f233596fb7cf9ee4360879245e /src/usr
parent25c7883232d5009b0dc6763ef722f2cd63d243f2 (diff)
downloadtalos-hostboot-87093b7e71375cec9a956b52f8a8439682bd0b58.tar.gz
talos-hostboot-87093b7e71375cec9a956b52f8a8439682bd0b58.zip
PRD: domain support for new Cumulus targets
Change-Id: I9b68095426e82bae9a43a3b81445a468a71c8606 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/47033 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/47155 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/config/prdfRuleChipDomain.H6
-rwxr-xr-xsrc/usr/diag/prdf/common/iipconst.h5
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C33
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/p9/prdfP9DmiDomain.H61
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/p9/prdfP9McDomain.H61
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/p9/prdfP9MiDomain.H61
6 files changed, 224 insertions, 3 deletions
diff --git a/src/usr/diag/prdf/common/framework/config/prdfRuleChipDomain.H b/src/usr/diag/prdf/common/framework/config/prdfRuleChipDomain.H
index 199faab0f..e13e6f4fd 100755
--- a/src/usr/diag/prdf/common/framework/config/prdfRuleChipDomain.H
+++ b/src/usr/diag/prdf/common/framework/config/prdfRuleChipDomain.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2016 */
+/* Contributors Listed Below - COPYRIGHT 2012,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -53,6 +53,10 @@ class RuleChipDomain : public DomainContainer<RuleChip>
MCBIST_DOMAIN_SIZE = PROC_DOMAIN_SIZE * 2,
MCS_DOMAIN_SIZE = MCBIST_DOMAIN_SIZE * 2,
MCA_DOMAIN_SIZE = MCS_DOMAIN_SIZE * 2,
+ MC_DOMAIN_SIZE = PROC_DOMAIN_SIZE * 2,
+ MI_DOMAIN_SIZE = MC_DOMAIN_SIZE * 2,
+ DMI_DOMAIN_SIZE = MI_DOMAIN_SIZE * 2,
+
MEMBUF_DOMAIN_SIZE = MCS_DOMAIN_SIZE,
MBA_DOMAIN_SIZE = MEMBUF_DOMAIN_SIZE * 2,
diff --git a/src/usr/diag/prdf/common/iipconst.h b/src/usr/diag/prdf/common/iipconst.h
index 078cc9022..f99b614a6 100755
--- a/src/usr/diag/prdf/common/iipconst.h
+++ b/src/usr/diag/prdf/common/iipconst.h
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2016 */
+/* Contributors Listed Below - COPYRIGHT 2012,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -82,6 +82,9 @@ enum DOMAIN_ID
MCBIST_DOMAIN = 0x7A,
MCS_DOMAIN = 0x7B,
MCA_DOMAIN = 0x7C,
+ MC_DOMAIN = 0x7D,
+ MI_DOMAIN = 0x7E,
+ DMI_DOMAIN = 0x7F,
MEMBUF_DOMAIN = 0x80,
MBA_DOMAIN = 0x81,
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C b/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
index 571965a24..a6152e00e 100755
--- a/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C
@@ -40,18 +40,24 @@
#include <prdrLoadChipCache.H> // To flush chip-file cache.
#include <prdfP9CappDomain.H>
+#include <prdfP9DmiDomain.H>
#include <prdfP9EcDomain.H>
#include <prdfP9EqDomain.H>
#include <prdfP9ExDomain.H>
+#include <prdfP9McDomain.H>
#include <prdfP9McaDomain.H>
#include <prdfP9McbistDomain.H>
#include <prdfP9McsDomain.H>
+#include <prdfP9MiDomain.H>
#include <prdfP9ObusDomain.H>
#include <prdfP9PecDomain.H>
#include <prdfP9PhbDomain.H>
#include <prdfP9ProcDomain.H>
#include <prdfP9XbusDomain.H>
+#include <prdfCenMbaDomain.H>
+#include <prdfCenMembufDomain.H>
+
using namespace TARGETING;
namespace PRDF
@@ -88,6 +94,12 @@ errlHndl_t PlatConfigurator::build()
McbistDomain * mcbistDomain = new McbistDomain( MCBIST_DOMAIN );
McsDomain * mcsDomain = new McsDomain( MCS_DOMAIN );
McaDomain * mcaDomain = new McaDomain( MCA_DOMAIN );
+ McDomain * mcDomain = new McDomain( MC_DOMAIN );
+ MiDomain * miDomain = new MiDomain( MI_DOMAIN );
+ DmiDomain * dmiDomain = new DmiDomain( DMI_DOMAIN );
+
+ MembufDomain * membufDomain = new MembufDomain( MEMBUF_DOMAIN );
+ MbaDomain * mbaDomain = new MbaDomain( MBA_DOMAIN );
PllDomainMapList pllDmnMapLst;
@@ -135,6 +147,21 @@ errlHndl_t PlatConfigurator::build()
errl = addDomainChips( TYPE_MCA, mcaDomain, pllDmnMapLst );
if ( NULL != errl ) break;
+ errl = addDomainChips( TYPE_MC, mcDomain, pllDmnMapLst );
+ if ( NULL != errl ) break;
+
+ errl = addDomainChips( TYPE_MI, miDomain, pllDmnMapLst );
+ if ( NULL != errl ) break;
+
+ errl = addDomainChips( TYPE_DMI, dmiDomain, pllDmnMapLst );
+ if ( NULL != errl ) break;
+
+ errl = addDomainChips( TYPE_MEMBUF, membufDomain, pllDmnMapLst );
+ if ( NULL != errl ) break;
+
+ errl = addDomainChips( TYPE_MBA, mbaDomain, pllDmnMapLst );
+ if ( NULL != errl ) break;
+
} while (0);
// Now, add the domains to system.
@@ -150,7 +177,7 @@ errlHndl_t PlatConfigurator::build()
addPllDomainsToSystem( pllDmnMapLst );
// Memory chip domains are always second.
- // TODO: RTC 144056 Cumulus/Centaur systems.
+ sysDmnLst.push_back( membufDomain );
// Processor chip domains are always third.
sysDmnLst.push_back( procDomain );
@@ -170,6 +197,10 @@ errlHndl_t PlatConfigurator::build()
sysDmnLst.push_back( mcbistDomain );
sysDmnLst.push_back( mcsDomain );
sysDmnLst.push_back( mcaDomain );
+ sysDmnLst.push_back( mcDomain );
+ sysDmnLst.push_back( miDomain );
+ sysDmnLst.push_back( dmiDomain );
+ sysDmnLst.push_back( mbaDomain );
// Add chips to the system.
Configurator::chipList & chips = getChipList();
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9DmiDomain.H b/src/usr/diag/prdf/common/plat/p9/prdfP9DmiDomain.H
new file mode 100755
index 000000000..c9d6e79c4
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9DmiDomain.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/diag/prdf/common/plat/p9/prdfP9DmiDomain.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* [+] 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 __prdfP9DmiDomain_H
+#define __prdfP9DmiDomain_H
+
+#include <prdfRuleChipDomain.H>
+
+namespace PRDF
+{
+
+class DmiDomain : public RuleChipDomain
+{
+ public:
+
+ /**
+ * @brief Constructor
+ * @param i_did The domain ID
+ * @param i_size The projected size of the domain
+ */
+ DmiDomain( DOMAIN_ID i_did, uint32_t i_size = DMI_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 /* __prdfP9DmiDomain_H */
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9McDomain.H b/src/usr/diag/prdf/common/plat/p9/prdfP9McDomain.H
new file mode 100755
index 000000000..0363198b8
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9McDomain.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/diag/prdf/common/plat/p9/prdfP9McDomain.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2017 */
+/* [+] 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 __prdfP9McDomain_H
+#define __prdfP9McDomain_H
+
+#include <prdfRuleChipDomain.H>
+
+namespace PRDF
+{
+
+class McDomain : public RuleChipDomain
+{
+ public:
+
+ /**
+ * @brief Constructor
+ * @param i_did The domain ID
+ * @param i_size The projected size of the domain
+ */
+ McDomain( DOMAIN_ID i_did, uint32_t i_size = MC_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 /* __prdfP9McDomain_H */
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9MiDomain.H b/src/usr/diag/prdf/common/plat/p9/prdfP9MiDomain.H
new file mode 100755
index 000000000..3ac049e01
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/prdfP9MiDomain.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/diag/prdf/common/plat/p9/prdfP9MiDomain.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2017 */
+/* [+] 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 __prdfP9MiDomain_H
+#define __prdfP9MiDomain_H
+
+#include <prdfRuleChipDomain.H>
+
+namespace PRDF
+{
+
+class MiDomain : public RuleChipDomain
+{
+ public:
+
+ /**
+ * @brief Constructor
+ * @param i_did The domain ID
+ * @param i_size The projected size of the domain
+ */
+ MiDomain( DOMAIN_ID i_did, uint32_t i_size = MI_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 /* __prdfP9MiDomain_H */
OpenPOWER on IntegriCloud