summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/errl/errlentry.C12
-rw-r--r--src/usr/errl/runtime/rt_errlmanager.C14
-rw-r--r--src/usr/errl/runtime/test/rt_errltest.H9
3 files changed, 27 insertions, 8 deletions
diff --git a/src/usr/errl/errlentry.C b/src/usr/errl/errlentry.C
index 57ca9a95a..2d604ceac 100644
--- a/src/usr/errl/errlentry.C
+++ b/src/usr/errl/errlentry.C
@@ -1089,7 +1089,7 @@ void ErrlEntry::deferredDeconfigure()
ERRORLOG::theErrlManager::instance().getHwasProcessCalloutFn();
if (pFn != NULL)
{
- //check for defered deconfigure callouts
+ //check for deferred deconfigure callouts
// look thru the errlog for any Callout UserDetail sections
for(std::vector<ErrlUD*>::const_iterator it = iv_SectionVector.begin();
it != iv_SectionVector.end();
@@ -1102,9 +1102,18 @@ void ErrlEntry::deferredDeconfigure()
(HWAS::HW_CALLOUT ==
reinterpret_cast<HWAS::callout_ud_t*>(
(*it)->iv_pData)->type) &&
+#if __HOSTBOOT_RUNTIME
+ ((HWAS::DELAYED_DECONFIG ==
+ reinterpret_cast<HWAS::callout_ud_t*>(
+ (*it)->iv_pData)->deconfigState) ||
+ (HWAS::DECONFIG ==
+ reinterpret_cast<HWAS::callout_ud_t*>(
+ (*it)->iv_pData)->deconfigState))
+#else
(HWAS::DELAYED_DECONFIG ==
reinterpret_cast<HWAS::callout_ud_t*>(
(*it)->iv_pData)->deconfigState)
+#endif
)
{
// call HWAS function to register this action,
@@ -1124,7 +1133,6 @@ void ErrlEntry::deferredDeconfigure()
TRACDCOMP(g_trac_errl, INFO_MRK"errlEntry::deferredDeconfigure returning");
}
-
//////////////////////////////////////////////////////////////////////////////
// for use by ErrlManager
diff --git a/src/usr/errl/runtime/rt_errlmanager.C b/src/usr/errl/runtime/rt_errlmanager.C
index 783f8d2ed..fcb469e6e 100644
--- a/src/usr/errl/runtime/rt_errlmanager.C
+++ b/src/usr/errl/runtime/rt_errlmanager.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -266,14 +268,16 @@ bool rt_processCallout(errlHndl_t &io_errl,
if(i_DeferredOnly)
{
if ((pCalloutUD->type == HWAS::HW_CALLOUT) &&
- (pCalloutUD->deconfigState == HWAS::DELAYED_DECONFIG))
+ ((pCalloutUD->deconfigState == HWAS::DELAYED_DECONFIG) ||
+ (pCalloutUD->deconfigState == HWAS::DECONFIG)))
{
pCalloutUD->deconfigState = HWAS::NO_DECONFIG;
TRACFCOMP( g_trac_errl, ERR_MRK
- "Runtime errorlog callout with DELAYED_DECONFIG not "
- "allowed! Changed to NO_DECONFIG. plid: 0x%X",
- io_errl->plid() );
+ "Runtime errorlog callout with DELAYED_DECONFIG or "
+ "DECONFIG not allowed! Changed to NO_DECONFIG. "
+ " plid: 0x%X. Deconfig State: 0x%x", io_errl->plid(),
+ pCalloutUD->deconfigState);
}
}
diff --git a/src/usr/errl/runtime/test/rt_errltest.H b/src/usr/errl/runtime/test/rt_errltest.H
index fa8a352c7..0a98c07df 100644
--- a/src/usr/errl/runtime/test/rt_errltest.H
+++ b/src/usr/errl/runtime/test/rt_errltest.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -308,6 +310,11 @@ public:
HWAS::DELAYED_DECONFIG,
HWAS::GARD_NULL);
+ errl->addHwCallout(pTarget,
+ HWAS::SRCI_PRIORITY_MED,
+ HWAS::DECONFIG,
+ HWAS::GARD_NULL);
+
errl->addHwCallout(TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL,
HWAS::SRCI_PRIORITY_LOW,
HWAS::NO_DECONFIG,
OpenPOWER on IntegriCloud