summaryrefslogtreecommitdiffstats
path: root/src/include/usr/diag
diff options
context:
space:
mode:
authorPrem Shanker Jha <premjha2@in.ibm.com>2013-10-30 10:26:21 +0530
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-12-02 18:00:45 -0600
commit03d39f2bbcef34ef34eabdf8e64b5cfe52f2d6f7 (patch)
treedf4e6178f334331204a90f141a86849e93bc9c05 /src/include/usr/diag
parent554aa3dbb530d6da0de7c83bf23346ae5f6032eb (diff)
downloadtalos-hostboot-03d39f2bbcef34ef34eabdf8e64b5cfe52f2d6f7.tar.gz
talos-hostboot-03d39f2bbcef34ef34eabdf8e64b5cfe52f2d6f7.zip
PRDF:Handling multiple chips of a domain at error
Depends-On: Ib42b269d2e9fd5588b58950949c379bdc8518bfc RTC:85138 Change-Id: Id4d785f72c928498dbcbee729e9644a8464fc0ae Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7459 Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Tested-by: Jenkins Server Squashed: Ic871fdfb693a4cc174c72e1583a3373524277559 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14573 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/diag')
-rwxr-xr-xsrc/include/usr/diag/prdf/common/prdfMain_common.H67
1 files changed, 65 insertions, 2 deletions
diff --git a/src/include/usr/diag/prdf/common/prdfMain_common.H b/src/include/usr/diag/prdf/common/prdfMain_common.H
index 239705c6a..0da9dd0ee 100755
--- a/src/include/usr/diag/prdf/common/prdfMain_common.H
+++ b/src/include/usr/diag/prdf/common/prdfMain_common.H
@@ -64,8 +64,71 @@ enum ATTENTION_VALUE_TYPE
*/
struct AttnData
{
- TARGETING::TargetHandle_t targetHndl;
- ATTENTION_VALUE_TYPE attnType;
+ TARGETING::TargetHandle_t targetHndl; // tgt for chips at attention
+ ATTENTION_VALUE_TYPE attnType; // attention reported by chip
+ bool isAnalysisNotDone; // analysis status for a given attn
+
+ /**
+ * @brief overloads operator <
+ */
+ bool operator < ( const AttnData & i_attnData )
+ {
+ bool isLess = false ;
+ if( this->targetHndl == i_attnData.targetHndl )
+ {
+ isLess = ( this->attnType < i_attnData.attnType );
+ }
+ else
+ {
+ isLess = ( this->targetHndl < i_attnData.targetHndl );
+ }
+
+ return isLess;
+ }
+
+ /**
+ * @brief overloads operator ==
+ */
+ bool operator == ( const AttnData & i_attnData )
+ {
+ bool isequal = false ;
+ if( this->targetHndl == i_attnData.targetHndl )
+ {
+ isequal = ( this->attnType == i_attnData.attnType );
+ }
+
+ return isequal;
+ }
+
+ /**
+ * @brief overloads operator <
+ */
+ bool operator < ( const TARGETING::TargetHandle_t i_trgt )
+ {
+ return ( this->targetHndl < i_trgt );
+ }
+
+ /**
+ * @brief constructor.
+ * @param i_tgt target of chip reporting attention.
+ * @param i_attnType attention type reported by chip.
+ */
+ AttnData( TARGETING::TargetHandle_t i_tgt,
+ ATTENTION_VALUE_TYPE i_attnType ):
+ targetHndl( i_tgt ),
+ attnType( i_attnType ),
+ isAnalysisNotDone( true )
+ {}
+
+ /**
+ * @brief default constructor
+ */
+ AttnData() :
+ targetHndl( NULL ),
+ attnType( INVALID_ATTENTION_TYPE ),
+ isAnalysisNotDone( false )
+ {}
+
};
typedef std::vector<AttnData> AttnList;
OpenPOWER on IntegriCloud