From d1c569251281f56eadd25f1c81d82da1b3c242d9 Mon Sep 17 00:00:00 2001 From: Zane Shelley Date: Thu, 4 Jan 2018 16:46:17 -0600 Subject: PRD: fixed no gard when PLL and CS at same time Change-Id: If5f6f2e1d29e3223c26c525f5ee9b54904e65891 CQ: SW412820 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51502 Tested-by: Jenkins Server Reviewed-by: Caleb N. Palmer Reviewed-by: Brian J. Stegmiller Reviewed-by: Benjamin J. Weisenbeck Reviewed-by: Zane C. Shelley Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51861 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins --- src/usr/diag/prdf/common/plat/p9/prdfP9PllDomain.C | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/usr/diag/prdf/common/plat/p9/prdfP9PllDomain.C') diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9PllDomain.C b/src/usr/diag/prdf/common/plat/p9/prdfP9PllDomain.C index 2d0dd36f8..b99e77bc8 100644 --- a/src/usr/diag/prdf/common/plat/p9/prdfP9PllDomain.C +++ b/src/usr/diag/prdf/common/plat/p9/prdfP9PllDomain.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2017 */ +/* Contributors Listed Below - COPYRIGHT 2016,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -197,6 +197,26 @@ int32_t PllDomain::Analyze(STEP_CODE_DATA_STRUCT & serviceData, } } + // TODO: RTC 184513 - It is possible to have a PLL unlock, a UE RE, and an + // SUE CS. Isolation should be to the PLL error and then the + // additional FFDC should show there was an SUE CS were the root is + // the UE RE. However, PRD does not know how to handle three + // attentions at the same time. For now this will remain a limitation + // due to time contraits, but there is a proposal in RTC 184513 that + // will be solved later. In the meantime, there is a hole in our + // analysis that needs to be fixed. If the is a SUE CS and no UE RE, + // PRD assumes the UE RE was already predictively called out in a + // previous error log. Therefore, nothing will be garded in this error + // log. In the example stated above, the current PRD code will not see + // the UE RE because of the higher priority PLL unlock. So even though + // there is a UE RE present, nothing gets garded. To circumvent this, + // we will set the UERE flag here even though the PLL error is not the + // true SUE source. + if ( CHECK_STOP == serviceData.service_data->getPrimaryAttnType() ) + { + serviceData.service_data->SetUERE(); + } + // TODO: RTC 155673 - use attributes to callout active clock sources // For Nimbus sys ref and mf ref clock source is the same -- cgit v1.2.1