summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorMatt Ploetz <maploetz@us.ibm.com>2013-09-24 11:03:02 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-10-12 14:51:14 -0500
commit4e536844c21b0ab7c256e49c63e8e9520c9e1d19 (patch)
tree03fa743c3e3f5c00cf1d44a936a3c92c7673b48c /src/include/usr
parenteffbdc22da60af7ae67f69005f63a6a6e4db773d (diff)
downloadtalos-hostboot-4e536844c21b0ab7c256e49c63e8e9520c9e1d19.tar.gz
talos-hostboot-4e536844c21b0ab7c256e49c63e8e9520c9e1d19.zip
Hardware Reconfigure loop and Istepdispatcher redesign
Change-Id: Icc037be6b0eac67d1b5196180f8a53f083afa085 RTC: 34055 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6324 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/hwas/common/deconfigGard.H16
-rw-r--r--src/include/usr/initservice/initserviceif.H17
-rw-r--r--src/include/usr/initservice/initsvcreasoncodes.H32
-rw-r--r--src/include/usr/initservice/istepdispatcherif.H60
4 files changed, 58 insertions, 67 deletions
diff --git a/src/include/usr/hwas/common/deconfigGard.H b/src/include/usr/hwas/common/deconfigGard.H
index 6a9c3e479..c1288978e 100644
--- a/src/include/usr/hwas/common/deconfigGard.H
+++ b/src/include/usr/hwas/common/deconfigGard.H
@@ -228,6 +228,19 @@ public:
errlHndl_t deconfigureTarget(TARGETING::Target & i_target,
const uint32_t i_errlEid,
bool i_evenAtRunTime = false);
+
+ /**
+ * @brief Get the Deconfigure Status
+ *
+ * This function returns a uint32_t counter that can be used to indicate
+ * whether Targets have been deconfigured. The counter wraps, so the user
+ * should just check for != to determine if a deconfigure has happened
+ * since the last time this was called.
+ *
+ * @return uint32_t 'counter' of deconfigure events
+ */
+ uint32_t getDeconfigureStatus();
+
/**
* @brief Registers a Deferred Deconfigure
*
@@ -568,6 +581,9 @@ private:
*/
bool iv_XABusEndpointDeconfigured;
+ // counter, used to tell if there were deconfigure 'events'.
+ uint32_t iv_deconfigCount;
+
}; // DeconfigGard
HWAS_DECLARE_SINGLETON(HWAS::DeconfigGard,theDeconfigGardSingleton);
diff --git a/src/include/usr/initservice/initserviceif.H b/src/include/usr/initservice/initserviceif.H
index 6ecfa4b47..9825e041d 100644
--- a/src/include/usr/initservice/initserviceif.H
+++ b/src/include/usr/initservice/initserviceif.H
@@ -114,24 +114,27 @@ void doShutdown ( uint64_t i_status,
void Shutdown( uint64_t i_status );
/**
- * @brief This function will return whether or not we are SPless
+ * @brief Returns if Service Processor Base Services are available
*
- * @return bool - whether we are SPLESS.
+ * If true then the Hostboot<->SP mailbox is enabled and HWSV is
+ * providing base services
+ *
+ * @return bool - true if SP Base Services are available
*/
-inline bool spLess ( void )
+inline bool spBaseServicesEnabled()
{
- bool spless = false;
+ bool spBaseServicesEnabled = false;
TARGETING::Target * sys = NULL;
TARGETING::targetService().getTopLevelTarget( sys );
TARGETING::SpFunctions spfuncs;
if( sys &&
sys->tryGetAttr<TARGETING::ATTR_SP_FUNCTIONS>(spfuncs) &&
- !spfuncs.baseServices )
+ spfuncs.baseServices )
{
- spless = true;
+ spBaseServicesEnabled = true;
}
- return spless;
+ return spBaseServicesEnabled;
}
}
diff --git a/src/include/usr/initservice/initsvcreasoncodes.H b/src/include/usr/initservice/initsvcreasoncodes.H
index 193e2aeee..03facd4ea 100644
--- a/src/include/usr/initservice/initsvcreasoncodes.H
+++ b/src/include/usr/initservice/initsvcreasoncodes.H
@@ -53,28 +53,16 @@ enum InitServiceModuleID
enum InitServiceReasonCode
{
- START_TASK_FAILED = INITSVC_COMP_ID | 0x01,
- INVALID_TASK_TYPE = INITSVC_COMP_ID | 0x02,
- START_FN_FAILED = INITSVC_COMP_ID | 0x03,
- NULL_FN_PTR = INITSVC_COMP_ID | 0x04,
- FORCE_FAIL = INITSVC_COMP_ID | 0x05,
- CXXTEST_FAILED_TEST = INITSVC_COMP_ID | 0x06,
- SHUTDOWN_FLUSH_FAILED = INITSVC_COMP_ID | 0x07,
- WAIT_TASK_FAILED = INITSVC_COMP_ID | 0x08,
- WAIT_FN_FAILED = INITSVC_COMP_ID | 0x09,
- INITSVC_LOAD_MODULE_FAILED = INITSVC_COMP_ID | 0x0a,
- // not used
- ISTEP_SINGLESTEP_ASYNC_RCVD = INITSVC_COMP_ID | 0x0c,
- ISTEP_BKPOINT_ASYNC_RCVD = INITSVC_COMP_ID | 0x0d,
- ISTEP_WAITFORSYNC_BAD_MSG = INITSVC_COMP_ID | 0x0e,
- ISTEP_MULTIPLE_ISTEP_REQ = INITSVC_COMP_ID | 0x0f,
- ISTEP_FAILED = INITSVC_COMP_ID | 0x10,
- LAST_ISTEP_FAILED = INITSVC_COMP_ID | 0x11,
- NO_MSG_PRESENT = INITSVC_COMP_ID | 0x12,
- ISTEP_INVALID_ISTEP = INITSVC_COMP_ID | 0x13,
- ISTEP_FAPI_ATTR_READ_FAILED = INITSVC_COMP_ID | 0x14,
- ISTEP_DELAYED_DECONFIG = INITSVC_COMP_ID | 0x15,
-
+ START_TASK_FAILED = INITSVC_COMP_ID | 0x01,
+ START_FN_FAILED = INITSVC_COMP_ID | 0x02,
+ CXXTEST_FAILED_TEST = INITSVC_COMP_ID | 0x03,
+ SHUTDOWN_FLUSH_FAILED = INITSVC_COMP_ID | 0x04,
+ WAIT_TASK_FAILED = INITSVC_COMP_ID | 0x05,
+ WAIT_FN_FAILED = INITSVC_COMP_ID | 0x06,
+ INITSVC_LOAD_MODULE_FAILED = INITSVC_COMP_ID | 0x07,
+ NO_MSG_PRESENT = INITSVC_COMP_ID | 0x08,
+ ISTEP_RECONFIG_LOOP_ENTERED = INITSVC_COMP_ID | 0x09,
+ ISTEP_FAILED_DUE_TO_DECONFIG = INITSVC_COMP_ID | 0x0a,
};
enum InitServiceUserDetailDataSubSection
diff --git a/src/include/usr/initservice/istepdispatcherif.H b/src/include/usr/initservice/istepdispatcherif.H
index a73767313..6316dfad5 100644
--- a/src/include/usr/initservice/istepdispatcherif.H
+++ b/src/include/usr/initservice/istepdispatcherif.H
@@ -1,26 +1,25 @@
-/* IBM_PROLOG_BEGIN_TAG
- * This is an automatically generated prolog.
- *
- * $Source: src/include/usr/initservice/istepdispatcherif.H $
- *
- * IBM CONFIDENTIAL
- *
- * COPYRIGHT International Business Machines Corp. 2012
- *
- * p1
- *
- * Object Code Only (OCO) source materials
- * Licensed Internal Code Source Materials
- * IBM HostBoot Licensed Internal Code
- *
- * The source code for this program is not published or other-
- * wise divested of its trade secrets, irrespective of what has
- * been deposited with the U.S. Copyright Office.
- *
- * Origin: 30
- *
- * IBM_PROLOG_END_TAG
- */
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/initservice/istepdispatcherif.H $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2012,2013 */
+/* */
+/* p1 */
+/* */
+/* Object Code Only (OCO) source materials */
+/* Licensed Internal Code Source Materials */
+/* IBM HostBoot Licensed Internal Code */
+/* */
+/* The source code for this program is not published or otherwise */
+/* divested of its trade secrets, irrespective of what has been */
+/* deposited with the U.S. Copyright Office. */
+/* */
+/* Origin: 30 */
+/* */
+/* IBM_PROLOG_END_TAG */
#ifndef __INITSERVICE_ISTEPDISPATCHERIF_H
#define __INITSERVICE_ISTEPDISPATCHERIF_H
@@ -59,21 +58,6 @@ errlHndl_t sendSyncPoint ( void );
*/
errlHndl_t sendIstepCompleteMsg ( void );
-
-/**
- * @brief This function is to be used to query the current Istep/Substep
- * values. This will indicate the currently running Istep/Substep.
- *
- * @param[out] o_iStep - The current Istep value.
- *
- * @param[out] o_subStep - The current SubStep value.
- *
- * @return NONE.
- */
-void getIstepInfo ( uint8_t & o_iStep,
- uint8_t & o_subStep );
-
-
}
#endif
OpenPOWER on IntegriCloud