diff options
author | Matthew Hickman <Matthew.Hickman@ibm.com> | 2017-10-25 14:20:14 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2017-11-13 10:51:45 -0500 |
commit | daa54a8d74e8a993e7e039e4ba5a3db536e9277e (patch) | |
tree | 597cdbb5ce29e25649988fa0d7aefb4110a05b92 /src/import/chips/p9/procedures/hwp/memory/lib | |
parent | bf8e8d4deb1956295604329503e619dd605113fa (diff) | |
download | talos-hostboot-daa54a8d74e8a993e7e039e4ba5a3db536e9277e.tar.gz talos-hostboot-daa54a8d74e8a993e7e039e4ba5a3db536e9277e.zip |
Fixed AUE/IAUE masking bug
Change-Id: Ic6fd69a31a3426d5c59bd08733bd50f6206dfd7d
CQ:SW397958
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48840
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Louis Stermole <stermole@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48844
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C b/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C index 160fef720..f7698e16c 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C @@ -65,6 +65,7 @@ fapi2::ReturnCode after_memdiags( const fapi2::Target<TARGET_TYPE_MCBIST>& i_tar uint64_t rd_tag_delay = 0; uint64_t wr_done_delay = 0; uint64_t mnfg_flag = 0; + fapi2::buffer<uint64_t> l_aue_buffer; fapi2::ATTR_CHIP_EC_FEATURE_HW414700_Type l_checkstop_flag; for (const auto& p : mss::find_targets<TARGET_TYPE_MCA>(i_target)) @@ -86,9 +87,7 @@ fapi2::ReturnCode after_memdiags( const fapi2::Target<TARGET_TYPE_MCBIST>& i_tar l_ecc64_fir_reg.checkstop<MCA_FIR_MAINLINE_AUE>() .recoverable_error<MCA_FIR_MAINLINE_UE>() .checkstop<MCA_FIR_MAINLINE_IAUE>() - .recoverable_error<MCA_FIR_MAINLINE_IUE>() - .checkstop<MCA_FIR_MAINTENANCE_AUE>() - .checkstop<MCA_FIR_MAINTENANCE_IAUE>(); + .recoverable_error<MCA_FIR_MAINLINE_IUE>(); // If ATTR_CHIP_EC_FEATURE_HW414700 is enabled set checkstops auto l_chip_target = mss::find_target<fapi2::TARGET_TYPE_PROC_CHIP>(i_target); @@ -113,6 +112,14 @@ fapi2::ReturnCode after_memdiags( const fapi2::Target<TARGET_TYPE_MCBIST>& i_tar FAPI_TRY(l_ecc64_fir_reg.write(), "unable to write fir::reg %d", MCA_FIR); FAPI_TRY(l_cal_fir_reg.write(), "unable to write fir::reg %d", MCA_MBACALFIRQ); + // Change Maint AUE and IAUE to checkstop without unmasking + // Normal setup modifies masked bits in addition to setting checkstop + // This causes issues if error has occured, manually scoming to avoid this + FAPI_TRY( mss::getScom(p, MCA_ACTION1, l_aue_buffer) ); + l_aue_buffer.clearBit<MCA_FIR_MAINTENANCE_AUE>(); + l_aue_buffer.clearBit<MCA_FIR_MAINTENANCE_IAUE>(); + FAPI_TRY( mss::putScom(p, MCA_ACTION1, l_aue_buffer) ); + // Note: We also want to include the following setup RCD recovery and port fail FAPI_TRY( mss::change_port_fail_disable(p, mss::LOW) ); FAPI_TRY( mss::change_rcd_recovery_disable(p, mss::LOW) ); |