diff options
author | Brian Horton <brianh@linux.ibm.com> | 2013-03-01 06:12:10 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-03-14 10:55:06 -0500 |
commit | d20d21e2d156288d7eae6a946d0fdd3a32519f29 (patch) | |
tree | 386a76bd4626789394fa7a1004b1744a91679d8a /src/usr/hwas/common/hwasCallout.C | |
parent | ee0f6a150dd7903a28b4d7bf663ea2ecb8ba6482 (diff) | |
download | talos-hostboot-d20d21e2d156288d7eae6a946d0fdd3a32519f29.tar.gz talos-hostboot-d20d21e2d156288d7eae6a946d0fdd3a32519f29.zip |
Cause a Hostboot TI on any Target Deconfigure
IStep Dispatcher will call into HWAS to see if there were any
delayed deconfigure callouts during the sub-step loop; if so,
an error will be returned, causing a TI and shutdown.
Change-Id: Idef6f48669b7f3d73488a0697c5714088878856b
RTC: 64894
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3391
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwas/common/hwasCallout.C')
-rw-r--r-- | src/usr/hwas/common/hwasCallout.C | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/src/usr/hwas/common/hwasCallout.C b/src/usr/hwas/common/hwasCallout.C index bcd17879f..eecacac2b 100644 --- a/src/usr/hwas/common/hwasCallout.C +++ b/src/usr/hwas/common/hwasCallout.C @@ -42,19 +42,6 @@ namespace HWAS { -class RegisterHWASFunctions -{ - public: - RegisterHWASFunctions() - { - // HWAS is awake - register our processCallout function - HWAS_DBG("module load: calling errlog::setHwasProcessCalloutFn"); - ERRORLOG::ErrlManager::setHwasProcessCalloutFn((processCalloutFn)(&processCallout)); - } -}; -// this causes the function to get run at module load. -RegisterHWASFunctions registerHWASFunctions; - void processCallout(const uint32_t i_errlPlid, uint8_t *i_pData, uint64_t i_Size) @@ -105,10 +92,12 @@ void processCallout(const uint32_t i_errlPlid, break; } - HWAS_INF("HW callout; pTarget %p", pTarget); const DeconfigEnum deconfigState = pCalloutUD->deconfigState; const GARD_ErrorType gardErrorType = pCalloutUD->gardErrorType; //const callOutPriority priority = pCalloutUD->priority; + + HWAS_INF("HW callout; pTarget %p gardErrorType %x deconfigState %x", + pTarget, gardErrorType, deconfigState); switch (gardErrorType) { case (GARD_NULL): @@ -124,6 +113,7 @@ void processCallout(const uint32_t i_errlPlid, break; } } // switch gardErrorType + switch (deconfigState) { case (NO_DECONFIG): @@ -139,10 +129,9 @@ void processCallout(const uint32_t i_errlPlid, } case (DELAYED_DECONFIG): { - // call HWAS common function - // TODO RTC: 45781 - //errl = HWAS::theDeconfigGard().registerDelayedDeconfigure(*pTarget, - //i_errlPlid); + // do nothing -- the deconfig information was already put + // on a queue and will be processed separately, when the + // time is right. break; } } // switch deconfigState |