diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2013-03-19 11:09:30 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-03-19 16:09:14 -0500 |
commit | 48785cd8095b54449391ae64fbf62025df8e66f5 (patch) | |
tree | bf8134c70df2076b7bf9161d2b9b617d502e68f1 /src/usr/diag/prdf/common/plat/pegasus/prdfCenMembufDataBundle.H | |
parent | 3e1e69778315cab6bf28758af9ad10add936963c (diff) | |
download | blackbird-hostboot-48785cd8095b54449391ae64fbf62025df8e66f5.tar.gz blackbird-hostboot-48785cd8095b54449391ae64fbf62025df8e66f5.zip |
PRD: fixed MCIFIR clearing for non-MBA Centaur attns
Change-Id: If23e19ee9ad79add8a77e612cc9a920ca6cb5e93
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3629
Reviewed-by: Christopher T. Phan <cphan@us.ibm.com>
Tested-by: Jenkins Server
Reviewed-by: Bradley W. Bishop <bradleyb@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/plat/pegasus/prdfCenMembufDataBundle.H')
-rw-r--r-- | src/usr/diag/prdf/common/plat/pegasus/prdfCenMembufDataBundle.H | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembufDataBundle.H b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembufDataBundle.H new file mode 100644 index 000000000..54a6ba383 --- /dev/null +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembufDataBundle.H @@ -0,0 +1,104 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfCenMembufDataBundle.H $ */ +/* */ +/* 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 */ + +#ifndef __prdfCenMembufDataBundle_H +#define __prdfCenMembufDataBundle_H + +/** @file prdfCenMembufDataBundle.H + * @brief Contains the common data bundle for a PRD Centaur object. + */ + +#include <prdfExtensibleChip.H> +#include <prdfPlatServices.H> + +using namespace TARGETING; + +namespace PRDF +{ + +using namespace PlatServices; + +/** + * @brief Data container for the Centaur Membuf chip. + */ +class CenMembufDataBundle : public DataBundle +{ + public: + + /** @brief Constructor */ + CenMembufDataBundle( ExtensibleChip * i_mbChip ) : + iv_mbChip(i_mbChip), iv_mcsChip(NULL), iv_analyzeMba1Starvation(false) + {} + + /** @brief Destructor */ + ~CenMembufDataBundle() {} + + /** @return The connected MCS chip. */ + ExtensibleChip * getMcsChip() + { + if ( NULL == iv_mcsChip ) + { + TargetHandleList list = getConnected( iv_mbChip->GetChipHandle(), + TYPE_MCS ); + if ( 1 == list.size() ) + iv_mcsChip = (ExtensibleChip *)systemPtr->GetChip( list[0] ); + else + { + PRDF_ERR( "[CenMembufDataBundle::getMcsChip] " + "getConnected() failed" ); + } + } + + return iv_mcsChip; + } + + private: // functions + + CenMembufDataBundle( const CenMembufDataBundle & ); + const CenMembufDataBundle & operator=( const CenMembufDataBundle & ); + + private: // instance variables + + ExtensibleChip * iv_mbChip; ///< The Centaur chip + ExtensibleChip * iv_mcsChip; ///< The connected MCS chip + + public: // instance variables + + // Toggles to solve MBA1 starvation issue + bool iv_analyzeMba1Starvation; +}; + +/** + * @brief Wrapper function for the CenMembufDataBundle. + * @param i_membChip The centaur chip. + * @return This centaur's data bundle. + */ +CenMembufDataBundle * getCenMembufDataBundle( ExtensibleChip * i_membChip ) +{ + return static_cast<CenMembufDataBundle *>(i_membChip->getDataBundle()); +} + +} // end namespace PRDF + +#endif // __prdfCenMembufDataBundle_H + |