summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/framework
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2013-04-27 22:53:06 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-11-13 15:48:10 -0600
commit7923c2eb2f3085db7b0a247b5550b16539cef531 (patch)
tree5cb8f921ea00f715bd2156a7c6decb8dd643f060 /src/usr/diag/prdf/framework
parentcbb9792016e609296784784d604553f7fdd936bb (diff)
downloadtalos-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.C73
-rw-r--r--src/usr/diag/prdf/framework/config/prdfMbaDomain.H51
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 */
+
OpenPOWER on IntegriCloud