Skip to content

Commit

Permalink
PRD: Clear maintenance IUE attn during memdiags
Browse files Browse the repository at this point in the history
Change-Id: I54664ee37349f4c1a06a479db8d0a744ae974b90
CQ: SW389265
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40643
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40722
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
  • Loading branch information
zane131 committed May 19, 2017
1 parent 9ed2003 commit 8a05f8e
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
Original file line number Diff line number Diff line change
Expand Up @@ -196,13 +196,20 @@ uint32_t clearEccFirs<TYPE_MCBIST>( ExtensibleChip * i_chip )

// 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;
// all times. Maintence IUEs will be masked during Memory
// Diagnostics and handled in the Targeted diagnostics code. After
// Memory Diagnostics, maintenance IUEs will be reported as
// recoverable in the field (no stop-on-error), but will remain
// masked if MNFG thresholds are enabled. In this case, the command
// will stop on RCE ETE in order to get a more accuracy callout. So
// clear MCAECCFIR[20:32,34:35,38] always and MCAECCFIR[37] in MNFG
// mode or during Memory Diagnostics.
uint64_t mask = 0xfffff0004dffffffull;
if ( mfgMode() ) mask &= 0xfffffffffbffffffull;
#ifndef __HOSTBOOT_RUNTIME
if ( isInMdiaMode() ) mask &= 0xfffffffffbffffffull;
#endif

o_rc = __clearFir<TYPE_MCA>( mcaChip, "MCAECCFIR_AND", mask );
if ( SUCCESS != o_rc ) break;
}
Expand Down

0 comments on commit 8a05f8e

Please sign in to comment.