summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas
diff options
context:
space:
mode:
authorMatt Ploetz <maploetz@us.ibm.com>2017-03-28 11:27:00 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-04-20 14:46:43 -0400
commit4123391467fb0ddaee6d4239ec19c8b42712eaf5 (patch)
tree2a39b06b0585c615845fcf62d0ab09ffdb353e0c /src/usr/hwas
parent6a14dc6b0fea1b8ddb96cacff8ef19efdcc86c7b (diff)
downloadtalos-hostboot-4123391467fb0ddaee6d4239ec19c8b42712eaf5.tar.gz
talos-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.C126
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;
}
OpenPOWER on IntegriCloud