summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2013-10-29 14:37:23 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-11-12 11:42:53 -0600
commit722e30c099bc1b675f2df96804457f3da191db95 (patch)
tree143a6e9f9e295c7f6c3ce9f7ef25bf0bc5ce9552
parentab37d06470249056e8eb6db0bbaa9bf1d2d0b181 (diff)
downloadtalos-hostboot-722e30c099bc1b675f2df96804457f3da191db95.tar.gz
talos-hostboot-722e30c099bc1b675f2df96804457f3da191db95.zip
EC-specific mask for OCC FIR bit 10
Note - Requires an SBE fix to get in first. Change-Id: I1cf961bac2b6b7dcf4842f9dc5008c16a625f5bf CQ: SW230630 CMVC-Prereq: 905382 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6944 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r--src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C39
1 files changed, 31 insertions, 8 deletions
diff --git a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C
index b0a5812ba..9a2d6625d 100644
--- a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C
+++ b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pm_occ_firinit.C
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: p8_pm_occ_firinit.C,v 1.14 2013/09/20 19:04:51 jimyac Exp $
+// $Id: p8_pm_occ_firinit.C,v 1.15 2013-10-28 13:35:49 stillgs Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pm_occ_firinit.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
@@ -77,12 +77,13 @@ using namespace fapi;
fapi::ReturnCode
p8_pm_occ_firinit(const fapi::Target& i_target , uint32_t mode)
{
- fapi::ReturnCode rc;
- ecmdDataBufferBase fir(64);
- ecmdDataBufferBase action_0(64);
- ecmdDataBufferBase action_1(64);
- ecmdDataBufferBase mask(64);
- uint32_t e_rc = 0;
+ fapi::ReturnCode rc;
+ ecmdDataBufferBase fir(64);
+ ecmdDataBufferBase action_0(64);
+ ecmdDataBufferBase action_1(64);
+ ecmdDataBufferBase mask(64);
+ uint32_t e_rc = 0;
+ uint8_t ce_fir_disable = 0;;
FAPI_DBG("Executing p8_pm_occ_firinit ....");
@@ -111,7 +112,21 @@ p8_pm_occ_firinit(const fapi::Target& i_target , uint32_t mode)
}
else
{
-
+
+ // Read attributes to determine mask modifications
+ rc = FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_OCC_CE_FIR_DISABLE,
+ &i_target,
+ ce_fir_disable);
+ if(rc)
+ {
+ FAPI_ERR("Error querying Chip EC feature: "
+ "ATTR_CHIP_EC_FEATURE_OCC_CE_FIR_DISABLE");
+ break;
+ }
+
+ FAPI_INF("OCC Correctable error FIRs are %s",
+ (ce_fir_disable ? "MASKED" : "ENABLED"));
+
// Clear the FIR
e_rc |= fir.flushTo0();
@@ -152,6 +167,10 @@ p8_pm_occ_firinit(const fapi::Target& i_target , uint32_t mode)
SET_RECOV_ATTN(8); SET_FIR_MASKED(8); // 8 = ocb_error
SET_RECOV_ATTN(9); // 9 = srt_ue
SET_RECOV_ATTN(10); // 10 = srt_ce
+ if (ce_fir_disable)
+ {
+ SET_FIR_MASKED(10);
+ }
SET_RECOV_ATTN(11); // 11 = srt_read_error
SET_RECOV_ATTN(12); // 12 = srt_write_error
SET_RECOV_ATTN(13); // 13 = srt_dataout_perr
@@ -181,6 +200,10 @@ p8_pm_occ_firinit(const fapi::Target& i_target , uint32_t mode)
SET_RECOV_ATTN(37); SET_FIR_MASKED(37); // 37 = spare_err_37
SET_RECOV_ATTN(38); // 38 = c405_ecc_ue
SET_RECOV_ATTN(39); // 39 = c405_ecc_ce
+ if (ce_fir_disable)
+ {
+ SET_FIR_MASKED(39);
+ }
SET_RECOV_ATTN(40); SET_FIR_MASKED(40); // 40 = c405_oci_machinecheck
SET_RECOV_ATTN(41); // 41 = sram_spare_direct_error0
SET_RECOV_ATTN(42); // 42 = sram_spare_direct_error1
OpenPOWER on IntegriCloud