summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemTdQueue.H
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2017-05-15 16:35:40 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-06-08 16:44:28 -0400
commite1929d0094d34bd207cfc6533f1e77b4d122060e (patch)
treec7a03b9b0cba6a8aea6b4ab1207be3a385ff283d /src/usr/diag/prdf/plat/mem/prdfMemTdQueue.H
parentbf3f4096b25c185704d5dec4c15711e8139eb966 (diff)
downloadtalos-hostboot-e1929d0094d34bd207cfc6533f1e77b4d122060e.tar.gz
talos-hostboot-e1929d0094d34bd207cfc6533f1e77b4d122060e.zip
PRD: runtime VCM support
Change-Id: Ibeb45ceb1a2d0db1e3941b5b8ac5f9e2f5122770 RTC: 171913 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40942 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Squashed: I85a0240782b2985797a2ace1aa3eb9a9a18cb621 Squashed: I1663ee55509348cdaddf216d0b3c9ac527c21113 Squashed: Ib9a3bef7a4df3b1b2a5914cf4155dca569c11026 Squashed: I3739b49f17a5413a0ad9c3adfd555f74b91895cc Squashed: Ifc2e4501775a09ad06381970ba47be5b953312d8 Squashed: Id7f5648ed810f9505acecea99cb27af2d832a669 Squashed: I0ec33104ac7920282482e79c2376d115a1274b46 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41040 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTdQueue.H')
-rwxr-xr-xsrc/usr/diag/prdf/plat/mem/prdfMemTdQueue.H34
1 files changed, 19 insertions, 15 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdQueue.H b/src/usr/diag/prdf/plat/mem/prdfMemTdQueue.H
index 7603328dc..9d20f5b1d 100755
--- a/src/usr/diag/prdf/plat/mem/prdfMemTdQueue.H
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTdQueue.H
@@ -84,19 +84,25 @@ class TdEntry
* @brief Each entry will have a set of steps that need to be performed.
* This function tells the procedure to move onto the next step.
* @param io_sc The step code data struct.
- * @param o_done Returns true if this procedure is complete, false
+ * @param o_done True if the procedure is complete or has aborted, false
* otherwise.
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
*/
virtual uint32_t nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done ) = 0;
+ /** @return Each event type will have a unique key identifier used for each
+ * procedure. The value is arbitrary. The only requirement is that
+ * it is unique to the hardware it is targeting. For example, VCM
+ * events will use only the master rank, where TPS events will use
+ * both the master and slave rank. */
+ virtual uint32_t getKey() const = 0;
+
/** @brief '==' operator */
bool operator==( const TdEntry & i_e ) const
{
- return ( this->iv_chip == i_e.iv_chip &&
- this->iv_tdType == i_e.iv_tdType &&
- this->iv_rank == i_e.iv_rank );
+ return ( this->iv_tdType == i_e.iv_tdType &&
+ this->getKey() == i_e.getKey() );
}
/**
@@ -126,21 +132,19 @@ class TdEntry
* @param i_rank Target rank
*/
TdEntry( TdType i_tdType, ExtensibleChip * i_chip, MemRank i_rank ) :
- iv_chip(i_chip), iv_tdType(i_tdType), iv_rank(i_rank)
- {
- PRDF_ASSERT( (TARGETING::TYPE_MCA == iv_chip->getType()) ||
- (TARGETING::TYPE_MBA == iv_chip->getType()) );
- }
+ iv_tdType(i_tdType), iv_chip(i_chip), iv_rank(i_rank)
+ {}
protected: // instance variables
- /** The chip associated with this entry. This isn't used for any
- * comparisons, but is needed for every TD procedure. */
- ExtensibleChip * const iv_chip;
-
- const TdType iv_tdType; ///< The event type (see enum TdType).
- const MemRank iv_rank; ///< The rank in which this event occurred.
+ const TdType iv_tdType; ///< The event type (see enum TdType).
Phase iv_phase = TD_PHASE_0; ///< The event phase (see enum Phase).
+
+ // These are not used for comparisons, but used by all procedures and also
+ // used for displaying FFDC in the TD controller.
+ ExtensibleChip * const iv_chip; ///< The chip in which this event occurred.
+ const MemRank iv_rank; ///< The rank in which this event occurred.
+
};
//------------------------------------------------------------------------------
OpenPOWER on IntegriCloud