summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/common/hwasCallout.C
diff options
context:
space:
mode:
authorBrian Horton <brianh@linux.ibm.com>2013-03-01 06:12:10 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-03-14 10:55:06 -0500
commitd20d21e2d156288d7eae6a946d0fdd3a32519f29 (patch)
tree386a76bd4626789394fa7a1004b1744a91679d8a /src/usr/hwas/common/hwasCallout.C
parentee0f6a150dd7903a28b4d7bf663ea2ecb8ba6482 (diff)
downloadtalos-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.C25
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
OpenPOWER on IntegriCloud