summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/framework/register
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/usr/diag/prdf/common/framework/register
parent554aa3dbb530d6da0de7c83bf23346ae5f6032eb (diff)
downloadblackbird-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-xsrc/usr/diag/prdf/common/framework/register/prdfErrorRegister.C19
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);
}
OpenPOWER on IntegriCloud