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/usr/diag/prdf/common/framework/register | |
| parent | 554aa3dbb530d6da0de7c83bf23346ae5f6032eb (diff) | |
| download | blackbird-hostboot-03d39f2bbcef34ef34eabdf8e64b5cfe52f2d6f7.tar.gz blackbird-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/usr/diag/prdf/common/framework/register')
| -rwxr-xr-x | src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C b/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C index dee5ae1fc..848d3f56d 100755 --- a/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C +++ b/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C @@ -88,8 +88,7 @@ int32_t ErrorRegister::SetErrorSignature( STEP_CODE_DATA_STRUCT & error, switch( blen ) { case 0: - (error.service_data->GetErrorSignature())->setErrCode( - PRD_SCAN_COMM_REGISTER_ZERO ); + esig->setErrCode( PRD_SCAN_COMM_REGISTER_ZERO ); if( error.service_data->isPrimaryPass() ) { rc = PRD_SCAN_COMM_REGISTER_ZERO; @@ -130,16 +129,17 @@ ErrorRegister::ErrorRegister( SCAN_COMM_REGISTER_CLASS & r, ResolutionMap & rm, int32_t ErrorRegister::Analyze(STEP_CODE_DATA_STRUCT & error) { int32_t rc = SUCCESS; - uint32_t l_savedErrSig = 0; + ErrorSignature * esig = error.service_data->GetErrorSignature(); + if(xScrId == 0x0fff) { - ( error.service_data->GetErrorSignature() )->setRegId(scr.GetAddress()); + esig->setRegId(scr.GetAddress()); } else { - ( error.service_data->GetErrorSignature() )->setRegId( xScrId ); + esig->setRegId( xScrId ); } // Get Data from hardware @@ -154,7 +154,7 @@ int32_t ErrorRegister::Analyze(STEP_CODE_DATA_STRUCT & error) // Save signature to determine if it changes during resolution // execution. - l_savedErrSig = (error.service_data->GetErrorSignature())->getSigId(); + l_savedErrSig = esig->getSigId(); } uint32_t res_rc = Lookup(error, bl); // lookup and execute the resolutions @@ -163,8 +163,7 @@ int32_t ErrorRegister::Analyze(STEP_CODE_DATA_STRUCT & error) // If we had a DD02 and the signature changes, ignore DD02. if ( rc == PRD_SCAN_COMM_REGISTER_ZERO ) { - uint32_t l_currentSig = - error.service_data->GetErrorSignature()->getSigId(); + uint32_t l_currentSig = esig->getSigId(); if( l_currentSig != l_savedErrSig ) { // Found a better answer during the DD02 analysis. @@ -192,10 +191,10 @@ int32_t ErrorRegister::Analyze(STEP_CODE_DATA_STRUCT & error) } else // scr read failed { - ( error.service_data->GetErrorSignature() )->setErrCode( - PRD_SCANCOM_FAILURE ); + esig->setErrCode( PRD_SCANCOM_FAILURE ); rc = scr_rc; } + return(rc); } |

