diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2017-09-28 16:12:55 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2017-10-09 10:49:15 -0400 |
commit | 87093b7e71375cec9a956b52f8a8439682bd0b58 (patch) | |
tree | c6baae650d1ba4f233596fb7cf9ee4360879245e /src/usr | |
parent | 25c7883232d5009b0dc6763ef722f2cd63d243f2 (diff) | |
download | talos-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-x | src/usr/diag/prdf/common/framework/config/prdfRuleChipDomain.H | 6 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/iipconst.h | 5 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/plat/p9/prdfP9Configurator.C | 33 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/plat/p9/prdfP9DmiDomain.H | 61 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/plat/p9/prdfP9McDomain.H | 61 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/plat/p9/prdfP9MiDomain.H | 61 |
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 */ |