diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2016-07-18 19:26:27 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-07-26 17:47:31 -0400 |
commit | fd5d5fb16635b508fda6ec8d117205e6edce794c (patch) | |
tree | 7399df75fe777b50bd8a89deb21c21556da50ab5 /src/usr/diag/prdf/plat/mem/prdfP9McbistDataBundle.H | |
parent | bed3d8978631424e16689bfedfc445533cb723f9 (diff) | |
download | talos-hostboot-fd5d5fb16635b508fda6ec8d117205e6edce794c.tar.gz talos-hostboot-fd5d5fb16635b508fda6ec8d117205e6edce794c.zip |
PRD: enable use of TD controller for command complete attentions
Change-Id: Iaf6619174aae9751eff410bd6274530c3b4055d5
RTC: 157893
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27165
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27395
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfP9McbistDataBundle.H')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfP9McbistDataBundle.H | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfP9McbistDataBundle.H b/src/usr/diag/prdf/plat/mem/prdfP9McbistDataBundle.H index 95b0976a3..4c55a8ee7 100644 --- a/src/usr/diag/prdf/plat/mem/prdfP9McbistDataBundle.H +++ b/src/usr/diag/prdf/plat/mem/prdfP9McbistDataBundle.H @@ -34,6 +34,7 @@ #include <prdfExtensibleChip.H> // Platform includes +#include <prdfMemTdCtlr.H> #include <prdfPlatServices.H> namespace PRDF @@ -44,45 +45,54 @@ class McbistDataBundle : public DataBundle { public: // functions - #ifdef __HOSTBOOT_RUNTIME - - /** - * @brief Constructor. - * @param i_mcbChip The MCBIST chip. - */ - explicit McbistDataBundle( ExtensibleChip * i_mcbChip ) = default; - - #else - /** * @brief Constructor. * @param i_mcbChip The MCBIST chip. */ explicit McbistDataBundle( ExtensibleChip * i_mcbChip ) : - iv_sendCmdCompleteMsg(false) + iv_chip(i_mcbChip) {} - #endif - /** @brief Destructor. */ - ~McbistDataBundle() = default; + ~McbistDataBundle() + { + delete iv_tdCtlr; iv_tdCtlr = nullptr; + } // Don't allow copy or assignment. McbistDataBundle( const McbistDataBundle & ) = delete; const McbistDataBundle & operator=( const McbistDataBundle & ) = delete; + /** @return The Targeted Diagnostics controller. */ + MemTdCtlr<TARGETING::TYPE_MCBIST,McbistDataBundle *> * getTdCtlr() + { + using namespace TARGETING; + + if ( nullptr == iv_tdCtlr ) + { + iv_tdCtlr = new MemTdCtlr<TYPE_MCBIST,McbistDataBundle *>{iv_chip}; + } + + return iv_tdCtlr; + } + public: // instance variables #ifndef __HOSTBOOT_RUNTIME /** TRUE if a message needs to be sent to MDIA in the post analysis plugin, * FALSE otherwise. */ - bool iv_sendCmdCompleteMsg; + bool iv_sendCmdCompleteMsg = false; #endif private: // instance variables + /** The MCBIST chip associated with this data bundle. */ + ExtensibleChip * const iv_chip; + + /** The Targeted Diagnostics controller. */ + MemTdCtlr<TARGETING::TYPE_MCBIST,McbistDataBundle *> * iv_tdCtlr = nullptr; }; /** |