diff options
author | Prem Shanker Jha <premjha2@in.ibm.com> | 2013-10-30 10:26:21 +0530 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-12-02 18:00:45 -0600 |
commit | 03d39f2bbcef34ef34eabdf8e64b5cfe52f2d6f7 (patch) | |
tree | df4e6178f334331204a90f141a86849e93bc9c05 /src/include/usr/diag | |
parent | 554aa3dbb530d6da0de7c83bf23346ae5f6032eb (diff) | |
download | talos-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-x | src/include/usr/diag/prdf/common/prdfMain_common.H | 67 |
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; |