summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-11-17 06:36:54 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-11-22 09:40:22 +0100
commita7dcef97e93240b1947a0094b1af91e9b9324a30 (patch)
tree41a02234f131870bcb0c7bcc025682bce45fa582 /cpukit/score/include/rtems
parentbsps: Add default getentropy() implementation (diff)
downloadrtems-a7dcef97e93240b1947a0094b1af91e9b9324a30.tar.bz2
score: Simplify global construction
Update #3243.
Diffstat (limited to 'cpukit/score/include/rtems')
-rw-r--r--cpukit/score/include/rtems/score/threadimpl.h23
1 files changed, 10 insertions, 13 deletions
diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h
index 5f6a5eb2d0..b6722fae19 100644
--- a/cpukit/score/include/rtems/score/threadimpl.h
+++ b/cpukit/score/include/rtems/score/threadimpl.h
@@ -70,6 +70,16 @@ typedef struct {
extern Thread_Information _Thread_Internal_information;
/**
+ * @brief Object identifier of the global constructor thread.
+ *
+ * This variable is set by _RTEMS_tasks_Initialize_user_tasks_body() or
+ * _POSIX_Threads_Initialize_user_threads_body().
+ *
+ * It is consumed by _Thread_Handler().
+ */
+extern Objects_Id _Thread_Global_constructor;
+
+/**
* The following points to the thread whose floating point
* context is currently loaded.
*/
@@ -345,19 +355,6 @@ void _Thread_Entry_adaptor_pointer( Thread_Control *executing );
*/
void _Thread_Handler( void );
-/**
- * @brief Executes the global constructors and then restarts itself as the
- * first initialization thread.
- *
- * The first initialization thread is the first RTEMS initialization task or
- * the first POSIX initialization thread in case no RTEMS initialization tasks
- * are present.
- */
-void _Thread_Global_construction(
- Thread_Control *executing,
- const Thread_Entry_information *entry
-) RTEMS_NO_RETURN;
-
RTEMS_INLINE_ROUTINE void _Thread_State_acquire_critical(
Thread_Control *the_thread,
ISR_lock_Context *lock_context