From 84d81bdda49213dcde23c604a2d6ab7ace90f1d6 Mon Sep 17 00:00:00 2001 From: Brian Horton Date: Wed, 13 Mar 2013 16:59:00 -0500 Subject: handle MASTER_PROCESSOR_CHIP_TARGET_SENTINEL as approporiate . create new errl->callout function to handle calling hwas::processCallout, so that can be done in proper order (after commit, save to PNOR and send to FSP of errl) . in callout code, convert SENTINEL target to masterProc . a deconfigure of the masterProc means that we can't continue, so return flag so that doShutdown() will be called to halt the IPL (TI). Change-Id: Ie43b8caf28d3aea20c15827e035dd890378dbcee RTC: 45780 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3695 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell Reviewed-by: A. Patrick Williams III --- src/include/usr/errl/errlentry.H | 12 +++++++++++- src/include/usr/hwas/common/hwasCallout.H | 6 +++--- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/include/usr') diff --git a/src/include/usr/errl/errlentry.H b/src/include/usr/errl/errlentry.H index e92a362b9..cb7fac99a 100644 --- a/src/include/usr/errl/errlentry.H +++ b/src/include/usr/errl/errlentry.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* COPYRIGHT International Business Machines Corp. 2011,2013 */ /* */ /* p1 */ /* */ @@ -483,6 +483,16 @@ private: void commit( compId_t i_commiterComp ); + /** + * @brief The ErrlManager will call here to ask the + * ErrlEntry to handle deconfigure and GARD callouts + * The ErrlManager is the primary user of this call. + * + * @return plid if we need to shutdown, zero if no action + */ + uint32_t callout(); + + /** * @brief Compute the flattened size of an error log. It is typical * to call this function for the size of buffer required, then diff --git a/src/include/usr/hwas/common/hwasCallout.H b/src/include/usr/hwas/common/hwasCallout.H index 439b79fdd..5c279c4be 100644 --- a/src/include/usr/hwas/common/hwasCallout.H +++ b/src/include/usr/hwas/common/hwasCallout.H @@ -132,14 +132,14 @@ enum callOutPriority * @param[in] i_pData Pointer to the callout bundle * @param[in] i_Size size of the data in the callout bundle * - * @return void + * @return true if shutdown required, false otherwise */ -void processCallout(const uint32_t i_errlPlid, +bool processCallout(const uint32_t i_errlPlid, uint8_t *i_pData, uint64_t i_Size); // typedef for function pointer that the errlog class will use. -typedef void (*processCalloutFn)(const uint32_t, uint8_t *, uint64_t); +typedef bool (*processCalloutFn)(const uint32_t, uint8_t *, uint64_t); #endif // not PARSER // -- cgit v1.2.3