diff options
| author | Zane Shelley <zshelle@us.ibm.com> | 2013-04-27 22:53:06 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-11-13 15:48:10 -0600 |
| commit | 7923c2eb2f3085db7b0a247b5550b16539cef531 (patch) | |
| tree | 5cb8f921ea00f715bd2156a7c6decb8dd643f060 /src/usr/diag/prdf/framework | |
| parent | cbb9792016e609296784784d604553f7fdd936bb (diff) | |
| download | talos-hostboot-7923c2eb2f3085db7b0a247b5550b16539cef531.tar.gz talos-hostboot-7923c2eb2f3085db7b0a247b5550b16539cef531.zip | |
PRD: StartScrub support
Change-Id: I8bfa845424c4ff12606d543137dc2ea9a6651cf6
RTC: 22863
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4249
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Tested-by: Jenkins Server
Squashed: I88bd0f77607e83a6427d57c9a4950ca879408525
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7214
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/framework')
| -rw-r--r-- | src/usr/diag/prdf/framework/config/prdfMbaDomain.C | 73 | ||||
| -rw-r--r-- | src/usr/diag/prdf/framework/config/prdfMbaDomain.H | 51 |
2 files changed, 124 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/framework/config/prdfMbaDomain.C b/src/usr/diag/prdf/framework/config/prdfMbaDomain.C new file mode 100644 index 000000000..fc4d12153 --- /dev/null +++ b/src/usr/diag/prdf/framework/config/prdfMbaDomain.C @@ -0,0 +1,73 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/diag/prdf/framework/config/prdfMbaDomain.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ + +#include <prdfMbaDomain.H> + +// Framework includes +#include <prdfExtensibleChip.H> +#include <prdfPlatServices.H> +#include <prdfTrace.H> + +// Pegasus includes +#include <prdfCenMbaDataBundle.H> + +using namespace TARGETING; + +namespace PRDF +{ + +using namespace PlatServices; + +int32_t MbaDomain::startScrub() +{ + #define PRDF_FUNC "[MbaDomain::startScrub] " + + int32_t o_rc = SUCCESS; + + do + { + // Iterate all MBAs in the domain. + for ( uint32_t i = 0; i < GetSize(); ++i ) + { + RuleChip * mbaChip = LookUp(i); + + // Start background scrub + CenMbaDataBundle * mbadb = getMbaDataBundle( mbaChip ); + int32_t l_rc = mbadb->iv_tdCtlr.startInitialBgScrub(); + if ( SUCCESS != l_rc ) + { + PRDF_ERR( PRDF_FUNC"startInitialBgScrub() failed: MBA=0x%08x", + mbaChip->GetId() ); + o_rc = FAIL; continue; // Keep going. + } + } + + } while (0); + + return o_rc; + + #undef PRDF_FUNC +} + +} // end namespace PRDF + diff --git a/src/usr/diag/prdf/framework/config/prdfMbaDomain.H b/src/usr/diag/prdf/framework/config/prdfMbaDomain.H new file mode 100644 index 000000000..6d8bed1ad --- /dev/null +++ b/src/usr/diag/prdf/framework/config/prdfMbaDomain.H @@ -0,0 +1,51 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/diag/prdf/framework/config/prdfMbaDomain.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ + +#ifndef __prdfMbaDomain_H +#define __prdfMbaDomain_H + +#include <prdfMbaDomain_common.H> + +namespace PRDF +{ + +class MbaDomain : public MbaDomainCommon +{ + public: + + MbaDomain( DOMAIN_ID i_did, uint32_t i_size = MBA_DOMAIN_SIZE ) : + MbaDomainCommon( i_did, i_size ) + {} + + /** + * @brief Starts memory background scrubbing for each MBA in the node. + * @param Non-SUCCESS if an internal function failed, SUCCESS otherwise. + */ + int32_t startScrub(); + +}; + +} // end namespace PRDF + +#endif /* __prdfMbaDomain_H */ + |

