summaryrefslogtreecommitdiffstats
path: root/src/include/sys
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/sys')
-rw-r--r--src/include/sys/misc.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/include/sys/misc.h b/src/include/sys/misc.h
index a4ae8d006..d680548b8 100644
--- a/src/include/sys/misc.h
+++ b/src/include/sys/misc.h
@@ -58,6 +58,17 @@ enum ShutdownStatus
SHUTDOWN_STATUS_INITSVC_FAILED = 0x01230004,
};
+/**
+ * @enum WinkleScopes
+ *
+ * Scope of the winkle operation.
+ */
+enum WinkleScope
+{
+ WINKLE_SCOPE_MASTER = 0x0,
+ WINKLE_SCOPE_ALL = 0x1,
+};
+
#ifdef __cplusplus
extern "C"
{
@@ -161,6 +172,19 @@ uint64_t cpu_spr_value(CpuSprNames spr);
*/
int cpu_master_winkle();
+/** @fn cpu_all_winkle
+ * @brief Winkle all the threads.
+ *
+ * This is used in multi-node systems to quiesce all the cores in a drawer
+ * prior to the fabric being stitched together.
+ *
+ * @retval 0 - Success
+ *
+ * @note This function will migrate the task to the master thread and in the
+ * process will unset any task affinity. See task_affinity_unpin().
+ */
+int cpu_all_winkle();
+
/** @fn cpu_crit_assert
* @brief Forces a Terminate Immediate after a crit-assert is issued
* @param[in] i_failAddr - value in the linkRegister of the address
OpenPOWER on IntegriCloud