summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2016-11-04 13:06:40 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2016-11-10 11:13:20 -0500
commit912367aa899cbe1860fb8d9523590f2d4fc4dfa6 (patch)
tree57037dd82bd681e06461a9a8e8ae48563b190794 /src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
parent6f748dedb37487fec125e21ce463958e9aef646c (diff)
downloadtalos-hostboot-912367aa899cbe1860fb8d9523590f2d4fc4dfa6.tar.gz
talos-hostboot-912367aa899cbe1860fb8d9523590f2d4fc4dfa6.zip
PRD: cleaned stop-on-error conditions for AUE/IAUE/IMPE/IUE
Change-Id: Ic4a71ba972c8ca5391d5ab6a58e4a43b504846cf RTC: 164216 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32312 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32443 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C b/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
index ee3a4a010..b1843bc36 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
@@ -194,9 +194,16 @@ uint32_t clearEccFirs<TYPE_MCBIST>( ExtensibleChip * i_chip )
ExtensibleChip * mcaChip = getConnectedChild( i_chip, TYPE_MCA, p );
if ( nullptr == mcaChip ) continue;
- // Clear MCAECCFIR[20:34,36:37,39]
- o_rc = __clearFir<TYPE_MCA>( mcaChip, "MCAECCFIR_AND",
- 0xfffff00012ffffffull );
+ // Maintenance AUEs/IAUEs will be reported as system checkstops.
+ // Maintenance IMPEs will be reported as recoverable attentions at
+ // all times. Maintence IUEs will be reported as recoverable in the
+ // field (doesn't stop-on-error), however, we will want to stop the
+ // command in MNFG mode for more accuracy in the callout. So clear
+ // MCAECCFIR[20:32,34:35,38] always and MCAECCFIR[37] in MNFG
+ // mode only.
+ uint64_t mask = 0xfffff0004dffffffull;
+ if ( mfgMode() ) mask &= 0xfffffffffbffffffull;
+ o_rc = __clearFir<TYPE_MCA>( mcaChip, "MCAECCFIR_AND", mask );
if ( SUCCESS != o_rc ) break;
}
OpenPOWER on IntegriCloud