diff options
author | Matt Ploetz <maploetz@us.ibm.com> | 2017-03-28 11:27:00 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-04-20 14:46:43 -0400 |
commit | 4123391467fb0ddaee6d4239ec19c8b42712eaf5 (patch) | |
tree | 2a39b06b0585c615845fcf62d0ab09ffdb353e0c /src/usr/hwas | |
parent | 6a14dc6b0fea1b8ddb96cacff8ef19efdcc86c7b (diff) | |
download | blackbird-hostboot-4123391467fb0ddaee6d4239ec19c8b42712eaf5.tar.gz blackbird-hostboot-4123391467fb0ddaee6d4239ec19c8b42712eaf5.zip |
Skip callouts if error log is informational
Change-Id: Iadee72553fd4d1829b82f8549cfd42b253cb3301
RTC:169696
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38531
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/hwas')
-rw-r--r-- | src/usr/hwas/hwasPlatCallout.C | 126 |
1 files changed, 69 insertions, 57 deletions
diff --git a/src/usr/hwas/hwasPlatCallout.C b/src/usr/hwas/hwasPlatCallout.C index 03756a85f..7d7182e87 100644 --- a/src/usr/hwas/hwasPlatCallout.C +++ b/src/usr/hwas/hwasPlatCallout.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2013,2015 */ +/* Contributors Listed Below - COPYRIGHT 2013,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -82,6 +82,10 @@ errlHndl_t platHandleHWCallout( { HWAS_INF("hwasPLDDetection return true - skipping callouts"); } + else if ((io_errl->sev()) == (ERRORLOG::ERRL_SEV_INFORMATIONAL)) + { + HWAS_INF("Error log is informational - skipping callouts"); + } else { switch (i_gardErrorType) @@ -182,79 +186,87 @@ errlHndl_t platHandleClockCallout( errlHndl_t pError = NULL; + if ((io_errl->sev()) == (ERRORLOG::ERRL_SEV_INFORMATIONAL)) + { + HWAS_INF("Error log is informational - skipping clock callouts"); + } + else + { #ifdef CONFIG_BMC_IPMI - // If BMC is present and IPMI is configured system has a simple clock - // topology, so need to update the BMC fault sensor for the clock if there - // is a deconfig since Hostboot is the only party able to handle clock - // fails. - // For now, all clock sensors reside on the node target - if(i_deconfigState == HWAS::DECONFIG) - { - TARGETING::TargetHandleList parentList; + // If BMC is present and IPMI is configured system has a simple clock + // topology, so need to update the BMC fault sensor for the clock if + // there is a deconfig since Hostboot is the only party able to handle + // clock fails. + // For now, all clock sensors reside on the node target + if(i_deconfigState == HWAS::DECONFIG) + { + TARGETING::TargetHandleList parentList; - (void)getParentAffinityTargets ( - parentList, - i_pTarget, TARGETING::CLASS_ENC, TARGETING::TYPE_NODE, - false); + (void)getParentAffinityTargets ( + parentList, + i_pTarget, TARGETING::CLASS_ENC, TARGETING::TYPE_NODE, + false); - assert(parentList.size() == 1, "Bug! Query returned multiple or no " - "(actual = %d) parents", - parentList.size()); + assert(parentList.size() == 1, "Bug! Query returned multiple or no " + "(actual = %d) parents", + parentList.size()); - TARGETING::TargetHandle_t pTarget = parentList[0]; + TARGETING::TargetHandle_t pTarget = parentList[0]; - // Get associated target - TARGETING::ENTITY_ID associatedType = TARGETING::ENTITY_ID_NA; - switch(i_clockType) - { - case TODCLK_TYPE: - associatedType = TARGETING::ENTITY_ID_TOD_CLOCK; - break; - case MEMCLK_TYPE: - case OSCREFCLK_TYPE: - associatedType = TARGETING::ENTITY_ID_REF_CLOCK; - break; - case OSCPCICLK_TYPE: - associatedType = TARGETING::ENTITY_ID_PCI_CLOCK; - break; - default: - assert(0,"Bug! Caller supplied illegal clock type. " - "i_clockType = 0x%X", - i_clockType); - } + // Get associated target + TARGETING::ENTITY_ID associatedType = TARGETING::ENTITY_ID_NA; + switch(i_clockType) + { + case TODCLK_TYPE: + associatedType = TARGETING::ENTITY_ID_TOD_CLOCK; + break; + case MEMCLK_TYPE: + case OSCREFCLK_TYPE: + associatedType = TARGETING::ENTITY_ID_REF_CLOCK; + break; + case OSCPCICLK_TYPE: + associatedType = TARGETING::ENTITY_ID_PCI_CLOCK; + break; + default: + assert(0,"Bug! Caller supplied illegal clock type. " + "i_clockType = 0x%X", + i_clockType); + } - SENSOR::FaultSensor faultSensor(pTarget,associatedType); + SENSOR::FaultSensor faultSensor(pTarget,associatedType); - pError = faultSensor.setStatus( - SENSOR::FaultSensor::FAULT_STATE_ASSERTED); - if(pError) - { - HWAS_ERR("Failed setting fault sensor status for clock type 0x%X " - "and HUID 0x%X", - i_clockType, TARGETING::get_huid(pTarget)); - pError->collectTrace(HWAS_COMP_NAME, 512); - errlCommit(pError, HWAS_COMP_ID); + pError = faultSensor.setStatus( + SENSOR::FaultSensor::FAULT_STATE_ASSERTED); + if(pError) + { + HWAS_ERR("Failed setting fault sensor status for clock type " + "0x%X and HUID 0x%X", + i_clockType, TARGETING::get_huid(pTarget)); + pError->collectTrace(HWAS_COMP_NAME, 512); + errlCommit(pError, HWAS_COMP_ID); + } } - } #endif #ifdef CONFIG_CLOCK_DECONFIGS_FATAL - // If clock deconfigs are considered fatal, and deconfig requested, then - // call doShutdown - if(i_deconfigState == HWAS::DECONFIG) - { - HWAS_INF( - "Clock deconfiguration considered fatal, requesting " - "shutdown. See PLID = 0x%X for details.", - io_errl->plid()); - INITSERVICE::doShutdown(io_errl->plid(), true); - } + // If clock deconfigs are considered fatal, and deconfig requested, then + // call doShutdown + if(i_deconfigState == HWAS::DECONFIG) + { + HWAS_INF( + "Clock deconfiguration considered fatal, requesting " + "shutdown. See PLID = 0x%X for details.", + io_errl->plid()); + INITSERVICE::doShutdown(io_errl->plid(), true); + } #endif + } + return pError; } |