diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/errl/errlentry.C | 12 | ||||
-rw-r--r-- | src/usr/errl/runtime/rt_errlmanager.C | 14 | ||||
-rw-r--r-- | src/usr/errl/runtime/test/rt_errltest.H | 9 |
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, |