summaryrefslogtreecommitdiffstats
path: root/c-user/config/posix-init-thread.rst
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-09 08:48:51 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-12 10:17:06 +0100
commit2a761cfbb198929d16d19771c140bc1802ede521 (patch)
tree5525d4c0929e6d0afea59c241a75a543fd367e75 /c-user/config/posix-init-thread.rst
parentc-user: Move "POSIX API Configuration" (diff)
downloadrtems-docs-2a761cfbb198929d16d19771c140bc1802ede521.tar.bz2
c-user: Move "POSIX Initialization Thread Configuration"
Update #3836.
Diffstat (limited to 'c-user/config/posix-init-thread.rst')
-rw-r--r--c-user/config/posix-init-thread.rst105
1 files changed, 105 insertions, 0 deletions
diff --git a/c-user/config/posix-init-thread.rst b/c-user/config/posix-init-thread.rst
new file mode 100644
index 0000000..04027fa
--- /dev/null
+++ b/c-user/config/posix-init-thread.rst
@@ -0,0 +1,105 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+
+POSIX Initialization Thread Configuration
+=========================================
+
+The ``<rtems/confdefs.h>`` configuration system can automatically generate a
+POSIX Initialization Threads Table named ``POSIX_Initialization_threads`` with
+a single entry. The following parameters control the generation of that table.
+
+.. index:: CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
+
+.. _CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT:
+
+CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
+---------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT``
+
+DATA TYPE:
+ POSIX thread function pointer (``void *(*entry_point)(void *)``).
+
+RANGE:
+ Undefined or a valid POSIX thread function pointer.
+
+DEFAULT VALUE:
+ The default value is ``POSIX_Init``.
+
+DESCRIPTION:
+ ``CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT`` is the entry point
+ (a.k.a. function name) of the single initialization thread defined by the
+ POSIX API Initialization Threads Table.
+
+NOTES:
+ The user must implement the function ``POSIX_Init`` or the function name
+ provided in this configuration parameter.
+
+.. index:: CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
+
+.. _CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE:
+
+CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
+--------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE``
+
+DATA TYPE:
+ Unsigned integer (``size_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 2 \* RTEMS_MINIMUM_STACK_SIZE.
+
+DESCRIPTION:
+ ``CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE`` is the stack size of the single
+ initialization thread defined by the POSIX API Initialization Threads
+ Table.
+
+NOTES:
+ If the stack size specified is greater than the configured minimum, it must
+ be accounted for in ``CONFIGURE_EXTRA_TASK_STACKS``. See :ref:`Reserve
+ Task/Thread Stack Memory Above Minimum` for more information about
+ ``CONFIGURE_EXTRA_TASK_STACKS``.
+
+.. index:: CONFIGURE_POSIX_INIT_THREAD_TABLE
+
+.. _CONFIGURE_POSIX_INIT_THREAD_TABLE:
+
+CONFIGURE_POSIX_INIT_THREAD_TABLE
+---------------------------------
+
+CONSTANT:
+ ``CONFIGURE_POSIX_INIT_THREAD_TABLE``
+
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This field is not defined by default, as the user MUST select their own API
+ for initialization tasks.
+
+DESCRIPTION:
+ ``CONFIGURE_POSIX_INIT_THREAD_TABLE`` is defined if the user wishes to use
+ a POSIX API Initialization Threads Table. The table built by
+ ``<rtems/confdefs.h>`` specifies the parameters for a single thread. This
+ is sufficient for applications which initialization the system from a
+ single task.
+
+ By default, this field is not defined as the user MUST select their own API
+ for initialization tasks.
+
+NOTES:
+ The application may choose to use the initialization tasks or threads table
+ from another API.
+
+ A compile time error will be generated if the user does not configure any
+ initialization tasks or threads.