summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2015-08-12 14:46:04 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-08-24 22:39:06 -0500
commit25db842c3ace36b0b34e29ff2bbfa43ade619c4f (patch)
treeef2cb2401356990075f04b79e19a00dcc6b2dcd5 /src
parent0de2e12d949de18c8923bb68dcff85a2338a390d (diff)
downloadtalos-hostboot-25db842c3ace36b0b34e29ff2bbfa43ade619c4f.tar.gz
talos-hostboot-25db842c3ace36b0b34e29ff2bbfa43ade619c4f.zip
PRD: callout spares if both spare and chip mark used
Change-Id: I69fd3ad05e9282686b83dceb025766e019d532f1 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19800 Tested-by: Jenkins Server Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: BENJAMIN J. WEISENBECK <bweisenb@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20049 Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW
Diffstat (limited to 'src')
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C
index 3afc1e421..700cd23e1 100644
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C
@@ -496,6 +496,24 @@ int32_t CenMbaTdCtlrCommon::handleMCE_VCM2( STEP_CODE_DATA_STRUCT & io_sc )
// Chip mark is in place and sparing is not possible.
setTdSignature( io_sc, PRDFSIG_VcmCmAndSpare );
io_sc.service_data->SetServiceCall();
+
+ // The mark has already been added to the callout list.
+ // Callout the used spares, if they exists.
+ if ( sp0.isValid() )
+ {
+ MemoryMru memmru ( iv_mbaTrgt, iv_rank, sp0 );
+ io_sc.service_data->SetCallout( memmru );
+ }
+ if ( sp1.isValid() )
+ {
+ MemoryMru memmru ( iv_mbaTrgt, iv_rank, sp1 );
+ io_sc.service_data->SetCallout( memmru );
+ }
+ if ( ecc.isValid() )
+ {
+ MemoryMru memmru ( iv_mbaTrgt, iv_rank, ecc );
+ io_sc.service_data->SetCallout( memmru );
+ }
}
}
}
OpenPOWER on IntegriCloud