mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-15 00:06:39 +08:00
c-user: Use rubric for configuration options
Clear the page for each configuration options similar to the directives. Use a rubric instead of a definition list for the application configuration options similar to the directive documentation pages. For direcives and application configuration options use the same rubric order. Generalize value constraints to constraints. This patch does not change hand written content.
This commit is contained in:
parent
1badb5f479
commit
1c8ce332e2
@ -28,6 +28,10 @@ This section describes configuration options related to the Block Device Cache
|
||||
|
||||
.. Generated from spec:/acfg/if/appl-needs-libblock
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
|
||||
|
||||
.. _CONFIGURE_APPLICATION_NEEDS_LIBBLOCK:
|
||||
@ -35,27 +39,36 @@ This section describes configuration options related to the Block Device Cache
|
||||
CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
|
||||
------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_APPLICATION_NEEDS_LIBBLOCK``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_APPLICATION_NEEDS_LIBBLOCK``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the Block Device Cache is
|
||||
initialized during system initialization.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
Each option of the Block Device Cache (bdbuf) configuration can be explicitly
|
||||
set by the user with the configuration options below. The Block Device Cache
|
||||
is used for example by the RFS and DOSFS filesystems.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
In case this configuration option is defined, then the Block Device Cache is
|
||||
initialized during system initialization.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
Each option of the Block Device Cache (bdbuf) configuration can be explicitly
|
||||
set by the user with the configuration options below. The Block Device Cache
|
||||
is used for example by the RFS and DOSFS filesystems.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-buffer-max-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BDBUF_BUFFER_MAX_SIZE
|
||||
|
||||
.. _CONFIGURE_BDBUF_BUFFER_MAX_SIZE:
|
||||
@ -63,33 +76,38 @@ NOTES:
|
||||
CONFIGURE_BDBUF_BUFFER_MAX_SIZE
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BDBUF_BUFFER_MAX_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_BDBUF_BUFFER_MAX_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 4096.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be an integral multiple of
|
||||
:ref:`CONFIGURE_BDBUF_BUFFER_MIN_SIZE`.
|
||||
The default value is 4096.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum size of a buffer
|
||||
in bytes.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the maximum size of a buffer
|
||||
in bytes.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be an integral multiple of
|
||||
:ref:`CONFIGURE_BDBUF_BUFFER_MIN_SIZE`.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-buffer-min-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BDBUF_BUFFER_MIN_SIZE
|
||||
|
||||
.. _CONFIGURE_BDBUF_BUFFER_MIN_SIZE:
|
||||
@ -97,33 +115,38 @@ NOTES:
|
||||
CONFIGURE_BDBUF_BUFFER_MIN_SIZE
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BDBUF_BUFFER_MIN_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_BDBUF_BUFFER_MIN_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 512.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 512.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the minimum size of a buffer
|
||||
in bytes.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the minimum size of a buffer
|
||||
in bytes.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-cache-memory-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
|
||||
|
||||
.. _CONFIGURE_BDBUF_CACHE_MEMORY_SIZE:
|
||||
@ -131,33 +154,38 @@ NOTES:
|
||||
CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
|
||||
---------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BDBUF_CACHE_MEMORY_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_BDBUF_CACHE_MEMORY_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 32768.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `SIZE_MAX
|
||||
<https://en.cppreference.com/w/c/types/limits>`_.
|
||||
The default value is 32768.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the size of the cache memory
|
||||
in bytes.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the size of the cache memory
|
||||
in bytes.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-max-read-ahead-blocks
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
|
||||
|
||||
.. _CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS:
|
||||
@ -165,35 +193,44 @@ NOTES:
|
||||
CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
|
||||
-------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 0.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum blocks per
|
||||
read-ahead request.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
A value of 0 disables the read-ahead task (default). The read-ahead task
|
||||
will issue speculative read transfers if a sequential access pattern is
|
||||
detected. This can improve the performance on some systems.
|
||||
The value of this configuration option defines the maximum blocks per
|
||||
read-ahead request.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
A value of 0 disables the read-ahead task (default). The read-ahead task
|
||||
will issue speculative read transfers if a sequential access pattern is
|
||||
detected. This can improve the performance on some systems.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-max-write-blocks
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
|
||||
|
||||
.. _CONFIGURE_BDBUF_MAX_WRITE_BLOCKS:
|
||||
@ -201,33 +238,38 @@ NOTES:
|
||||
CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
|
||||
--------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BDBUF_MAX_WRITE_BLOCKS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_BDBUF_MAX_WRITE_BLOCKS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 16.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 16.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum blocks per write
|
||||
request.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the maximum blocks per write
|
||||
request.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-read-ahead-task-priority
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
|
||||
|
||||
.. _CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY:
|
||||
@ -235,28 +277,34 @@ NOTES:
|
||||
CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
|
||||
----------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 15.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the read-ahead task priority.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The default value is 15.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines the read-ahead task priority.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-task-stack-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BDBUF_TASK_STACK_SIZE
|
||||
|
||||
.. _CONFIGURE_BDBUF_TASK_STACK_SIZE:
|
||||
@ -264,39 +312,45 @@ NOTES:
|
||||
CONFIGURE_BDBUF_TASK_STACK_SIZE
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BDBUF_TASK_STACK_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_BDBUF_TASK_STACK_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is :c:macro:`RTEMS_MINIMUM_STACK_SIZE`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
The default value is :c:macro:`RTEMS_MINIMUM_STACK_SIZE`.
|
||||
|
||||
* It shall be small enough so that the task stack space calculation carried
|
||||
out by ``<rtems/confdefs.h>`` does not overflow an integer of type
|
||||
`uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the task stack size of the
|
||||
Block Device Cache tasks in bytes.
|
||||
The value of this configuration option defines the task stack size of the
|
||||
Block Device Cache tasks in bytes.
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the task
|
||||
stack space calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-swapout-block-hold
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SWAPOUT_BLOCK_HOLD
|
||||
|
||||
.. _CONFIGURE_SWAPOUT_BLOCK_HOLD:
|
||||
@ -304,33 +358,38 @@ NOTES:
|
||||
CONFIGURE_SWAPOUT_BLOCK_HOLD
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SWAPOUT_BLOCK_HOLD``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_SWAPOUT_BLOCK_HOLD``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 1000.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 1000.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the swapout task maximum block
|
||||
hold time in milliseconds.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the swapout task maximum block
|
||||
hold time in milliseconds.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-swapout-swap-period
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SWAPOUT_SWAP_PERIOD
|
||||
|
||||
.. _CONFIGURE_SWAPOUT_SWAP_PERIOD:
|
||||
@ -338,33 +397,38 @@ NOTES:
|
||||
CONFIGURE_SWAPOUT_SWAP_PERIOD
|
||||
-----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SWAPOUT_SWAP_PERIOD``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_SWAPOUT_SWAP_PERIOD``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 250.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 250.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the swapout task swap period
|
||||
in milliseconds.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the swapout task swap period
|
||||
in milliseconds.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-swapout-task-priority
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SWAPOUT_TASK_PRIORITY
|
||||
|
||||
.. _CONFIGURE_SWAPOUT_TASK_PRIORITY:
|
||||
@ -372,28 +436,34 @@ NOTES:
|
||||
CONFIGURE_SWAPOUT_TASK_PRIORITY
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SWAPOUT_TASK_PRIORITY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_SWAPOUT_TASK_PRIORITY``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 15.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the swapout task priority.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The default value is 15.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines the swapout task priority.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-swapout-worker-tasks
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SWAPOUT_WORKER_TASKS
|
||||
|
||||
.. _CONFIGURE_SWAPOUT_WORKER_TASKS:
|
||||
@ -401,32 +471,37 @@ NOTES:
|
||||
CONFIGURE_SWAPOUT_WORKER_TASKS
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SWAPOUT_WORKER_TASKS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_SWAPOUT_WORKER_TASKS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 0.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the swapout worker task count.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the swapout worker task count.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bdbuf-swapout-worker-taskp-riority
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
|
||||
|
||||
.. _CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY:
|
||||
@ -434,23 +509,25 @@ NOTES:
|
||||
CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
|
||||
--------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 15.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the swapout worker task
|
||||
priority.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The default value is 15.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines the swapout worker task
|
||||
priority.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
|
@ -30,6 +30,10 @@ configuration options may have a BSP-specific setting which is defined by
|
||||
|
||||
.. Generated from spec:/acfg/if/bsp-idle-task-body
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: BSP_IDLE_TASK_BODY
|
||||
|
||||
.. _BSP_IDLE_TASK_BODY:
|
||||
@ -37,36 +41,46 @@ configuration options may have a BSP-specific setting which is defined by
|
||||
BSP_IDLE_TASK_BODY
|
||||
------------------
|
||||
|
||||
CONSTANT:
|
||||
``BSP_IDLE_TASK_BODY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``BSP_IDLE_TASK_BODY``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is BSP-specific.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *idle_body )( uintptr_t )``.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
If
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* this configuration option is defined by the BSP
|
||||
The default value is BSP-specific.
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
then the value of this configuration option defines the default value of
|
||||
:ref:`CONFIGURE_IDLE_TASK_BODY`.
|
||||
If
|
||||
|
||||
NOTES:
|
||||
As it has knowledge of the specific CPU model, system controller logic, and
|
||||
peripheral buses, a BSP-specific IDLE task may be capable of turning
|
||||
components off to save power during extended periods of no task activity.
|
||||
* this configuration option is defined by the BSP
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
|
||||
then the value of this configuration option defines the default value of
|
||||
:ref:`CONFIGURE_IDLE_TASK_BODY`.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
As it has knowledge of the specific CPU model, system controller logic, and
|
||||
peripheral buses, a BSP-specific IDLE task may be capable of turning
|
||||
components off to save power during extended periods of no task activity.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *idle_body )( uintptr_t )``.
|
||||
|
||||
.. Generated from spec:/acfg/if/bsp-idle-task-stack-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: BSP_IDLE_TASK_STACK_SIZE
|
||||
|
||||
.. _BSP_IDLE_TASK_STACK_SIZE:
|
||||
@ -74,41 +88,47 @@ NOTES:
|
||||
BSP_IDLE_TASK_STACK_SIZE
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``BSP_IDLE_TASK_STACK_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``BSP_IDLE_TASK_STACK_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is BSP-specific.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to a BSP-specific and
|
||||
application-specific minimum value.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be small enough so that the IDLE task stack area calculation
|
||||
carried out by ``<rtems/confdefs.h>`` does not overflow an integer of
|
||||
type `size_t <https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
The default value is BSP-specific.
|
||||
|
||||
DESCRIPTION:
|
||||
If
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* this configuration option is defined by the BSP
|
||||
If
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
* this configuration option is defined by the BSP
|
||||
|
||||
then the value of this configuration option defines the default value of
|
||||
:ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`.
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
then the value of this configuration option defines the default value of
|
||||
:ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to a
|
||||
BSP-specific and application-specific minimum value.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the IDLE
|
||||
task stack area calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `size_t
|
||||
<https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/bsp-initial-extension
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: BSP_INITIAL_EXTENSION
|
||||
|
||||
.. _BSP_INITIAL_EXTENSION:
|
||||
@ -116,35 +136,45 @@ NOTES:
|
||||
BSP_INITIAL_EXTENSION
|
||||
---------------------
|
||||
|
||||
CONSTANT:
|
||||
``BSP_INITIAL_EXTENSION``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``BSP_INITIAL_EXTENSION``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is BSP-specific.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a list of initializers for
|
||||
structures of type :c:type:`rtems_extensions_table`.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
If
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* this configuration option is defined by the BSP
|
||||
The default value is BSP-specific.
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
then the value of this configuration option is used to initialize the table
|
||||
of initial user extensions.
|
||||
If
|
||||
|
||||
NOTES:
|
||||
The value of this configuration option is placed after the entries of all
|
||||
other initial user extensions.
|
||||
* this configuration option is defined by the BSP
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
|
||||
then the value of this configuration option is used to initialize the table
|
||||
of initial user extensions.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The value of this configuration option is placed after the entries of all
|
||||
other initial user extensions.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a list of initializers for
|
||||
structures of type :c:type:`rtems_extensions_table`.
|
||||
|
||||
.. Generated from spec:/acfg/if/bsp-interrupt-stack-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: BSP_INTERRUPT_STACK_SIZE
|
||||
|
||||
.. _BSP_INTERRUPT_STACK_SIZE:
|
||||
@ -152,44 +182,50 @@ NOTES:
|
||||
BSP_INTERRUPT_STACK_SIZE
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``BSP_INTERRUPT_STACK_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``BSP_INTERRUPT_STACK_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is BSP-specific.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to a BSP-specific and
|
||||
application-specific minimum value.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be small enough so that the interrupt stack area calculation
|
||||
carried out by ``<rtems/confdefs.h>`` does not overflow an integer of
|
||||
type `size_t <https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
The default value is BSP-specific.
|
||||
|
||||
* It shall be aligned according to
|
||||
:c:macro:`CPU_INTERRUPT_STACK_ALIGNMENT`.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
DESCRIPTION:
|
||||
If
|
||||
If
|
||||
|
||||
* this configuration option is defined by the BSP
|
||||
* this configuration option is defined by the BSP
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
|
||||
then the value of this configuration option defines the default value of
|
||||
:ref:`CONFIGURE_INTERRUPT_STACK_SIZE`.
|
||||
then the value of this configuration option defines the default value of
|
||||
:ref:`CONFIGURE_INTERRUPT_STACK_SIZE`.
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to a
|
||||
BSP-specific and application-specific minimum value.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the
|
||||
interrupt stack area calculation carried out by ``<rtems/confdefs.h>`` does
|
||||
not overflow an integer of type `size_t
|
||||
<https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
|
||||
* The value of the configuration option shall be aligned according to
|
||||
:c:macro:`CPU_INTERRUPT_STACK_ALIGNMENT`.
|
||||
|
||||
.. Generated from spec:/acfg/if/bsp-prerequisite-drivers
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_BSP_PREREQUISITE_DRIVERS
|
||||
|
||||
.. _CONFIGURE_BSP_PREREQUISITE_DRIVERS:
|
||||
@ -197,36 +233,46 @@ NOTES:
|
||||
CONFIGURE_BSP_PREREQUISITE_DRIVERS
|
||||
----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_BSP_PREREQUISITE_DRIVERS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_BSP_PREREQUISITE_DRIVERS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is BSP-specific.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a list of initializers for
|
||||
structures of type :c:type:`rtems_extensions_table`.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
If
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* this configuration option is defined by the BSP
|
||||
The default value is BSP-specific.
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
then the value of this configuration option is used to add BSP-provided
|
||||
prerequisite drivers to the Device Driver Table.
|
||||
If
|
||||
|
||||
NOTES:
|
||||
The value of this configuration option is placed before the entries of all
|
||||
other initial user extensions (including
|
||||
:ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`).
|
||||
* this configuration option is defined by the BSP
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
|
||||
then the value of this configuration option is used to add BSP-provided
|
||||
prerequisite drivers to the Device Driver Table.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The value of this configuration option is placed before the entries of all
|
||||
other initial user extensions (including
|
||||
:ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`).
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a list of initializers for
|
||||
structures of type :c:type:`rtems_extensions_table`.
|
||||
|
||||
.. Generated from spec:/acfg/if/disable-bsp-settings
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
|
||||
|
||||
.. _CONFIGURE_DISABLE_BSP_SETTINGS:
|
||||
@ -234,37 +280,42 @@ NOTES:
|
||||
CONFIGURE_DISABLE_BSP_SETTINGS
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_DISABLE_BSP_SETTINGS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_DISABLE_BSP_SETTINGS``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the following BSP related
|
||||
configuration options are undefined:
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
* :ref:`BSP_IDLE_TASK_BODY`
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
* :ref:`BSP_IDLE_TASK_STACK_SIZE`
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
* :ref:`BSP_INITIAL_EXTENSION`
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* :ref:`BSP_INTERRUPT_STACK_SIZE`
|
||||
In case this configuration option is defined, then the following BSP related
|
||||
configuration options are undefined:
|
||||
|
||||
* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
|
||||
* :ref:`BSP_IDLE_TASK_BODY`
|
||||
|
||||
* :ref:`CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK`
|
||||
* :ref:`BSP_IDLE_TASK_STACK_SIZE`
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
* :ref:`BSP_INITIAL_EXTENSION`
|
||||
|
||||
* :ref:`BSP_INTERRUPT_STACK_SIZE`
|
||||
|
||||
* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
|
||||
|
||||
* :ref:`CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK`
|
||||
|
||||
.. Generated from spec:/acfg/if/malloc-bsp-supports-sbrk
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
|
||||
|
||||
.. _CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK:
|
||||
@ -272,28 +323,33 @@ NOTES:
|
||||
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
|
||||
----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
If
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
* this configuration option is defined by the BSP
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
then not all memory is made available to the C Program Heap immediately at
|
||||
system initialization time. When :c:func:`malloc` or other standard
|
||||
memory allocation functions are unable to allocate memory, they will call the
|
||||
BSP supplied :c:func:`sbrk` function to obtain more memory.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
This option should not be defined by the application. Only the BSP knows how
|
||||
it allocates memory to the C Program Heap.
|
||||
If
|
||||
|
||||
* this configuration option is defined by the BSP
|
||||
|
||||
* and :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` is undefined,
|
||||
|
||||
then not all memory is made available to the C Program Heap immediately at
|
||||
system initialization time. When :c:func:`malloc` or other standard
|
||||
memory allocation functions are unable to allocate memory, they will call the
|
||||
BSP supplied :c:func:`sbrk` function to obtain more memory.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This option should not be defined by the application. Only the BSP knows how
|
||||
it allocates memory to the C Program Heap.
|
||||
|
@ -27,6 +27,10 @@ This section describes configuration options related to the Classic API.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-barriers
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_BARRIERS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_BARRIERS:
|
||||
@ -34,42 +38,51 @@ This section describes configuration options related to the Classic API.
|
||||
CONFIGURE_MAXIMUM_BARRIERS
|
||||
--------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_BARRIERS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_BARRIERS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Barriers that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Barriers that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-message-queues
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_MESSAGE_QUEUES:
|
||||
@ -77,44 +90,53 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_MESSAGE_QUEUES
|
||||
--------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Message Queues that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Message Queues that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`. You have to account for the memory used to
|
||||
store the messages of each message queue, see
|
||||
:ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`. You have to account for the memory used to
|
||||
store the messages of each message queue, see
|
||||
:ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-partitions
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_PARTITIONS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_PARTITIONS:
|
||||
@ -122,42 +144,51 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_PARTITIONS
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_PARTITIONS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_PARTITIONS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Partitions that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Partitions that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-periods
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_PERIODS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_PERIODS:
|
||||
@ -165,42 +196,51 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_PERIODS
|
||||
-------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_PERIODS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_PERIODS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Periods that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Periods that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-ports
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_PORTS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_PORTS:
|
||||
@ -208,42 +248,51 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_PORTS
|
||||
-----------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_PORTS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_PORTS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Ports that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Ports that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-regions
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_REGIONS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_REGIONS:
|
||||
@ -251,42 +300,51 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_REGIONS
|
||||
-------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_REGIONS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_REGIONS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Regions that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Regions that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-semaphores
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_SEMAPHORES
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_SEMAPHORES:
|
||||
@ -294,46 +352,55 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_SEMAPHORES
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_SEMAPHORES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_SEMAPHORES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Semaphore that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Semaphore that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
In SMP configurations, the size of a Semaphore Control Block depends on the
|
||||
scheduler count (see :ref:`ConfigurationSchedulerTable`). The semaphores
|
||||
using the :ref:`MrsP` need a ceiling priority per scheduler.
|
||||
In SMP configurations, the size of a Semaphore Control Block depends on the
|
||||
scheduler count (see :ref:`ConfigurationSchedulerTable`). The semaphores
|
||||
using the :ref:`MrsP` need a ceiling priority per scheduler.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-tasks
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_TASKS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_TASKS:
|
||||
@ -341,59 +408,69 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_TASKS
|
||||
-----------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_TASKS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_TASKS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be small enough so that the task stack space calculation carried
|
||||
out by ``<rtems/confdefs.h>`` does not overflow an integer of type
|
||||
`uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Tasks that can be concurrently active.
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Tasks that can be concurrently active.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
The calculations for the required memory in the RTEMS Workspace for tasks
|
||||
assume that each task has a minimum stack size and has floating point
|
||||
support enabled. The configuration option :ref:`CONFIGURE_EXTRA_TASK_STACKS` is used
|
||||
to specify task stack requirements *above* the minimum size required.
|
||||
|
||||
The calculations for the required memory in the RTEMS Workspace for tasks
|
||||
assume that each task has a minimum stack size and has floating point
|
||||
support enabled. The configuration option :ref:`CONFIGURE_EXTRA_TASK_STACKS` is used
|
||||
to specify task stack requirements *above* the minimum size required.
|
||||
The maximum number of POSIX threads is specified by
|
||||
:ref:`CONFIGURE_MAXIMUM_POSIX_THREADS`.
|
||||
|
||||
The maximum number of POSIX threads is specified by
|
||||
:ref:`CONFIGURE_MAXIMUM_POSIX_THREADS`.
|
||||
A future enhancement to ``<rtems/confdefs.h>`` could be to eliminate the
|
||||
assumption that all tasks have floating point enabled. This would require
|
||||
the addition of a new configuration parameter to specify the number of
|
||||
tasks which enable floating point support.
|
||||
|
||||
A future enhancement to ``<rtems/confdefs.h>`` could be to eliminate the
|
||||
assumption that all tasks have floating point enabled. This would require
|
||||
the addition of a new configuration parameter to specify the number of
|
||||
tasks which enable floating point support.
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the task
|
||||
stack space calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-thread-local-storage-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE:
|
||||
@ -401,53 +478,62 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
|
||||
-------------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `SIZE_MAX
|
||||
<https://en.cppreference.com/w/c/types/limits>`_.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be an integral multiple of
|
||||
:c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT`.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
DESCRIPTION:
|
||||
If the value of this configuration option is greater than zero, then it
|
||||
defines the maximum thread-local storage size, otherwise the thread-local
|
||||
storage size is defined by the linker depending on the thread-local storage
|
||||
objects used by the application in the statically-linked executable.
|
||||
If the value of this configuration option is greater than zero, then it
|
||||
defines the maximum thread-local storage size, otherwise the thread-local
|
||||
storage size is defined by the linker depending on the thread-local storage
|
||||
objects used by the application in the statically-linked executable.
|
||||
|
||||
NOTES:
|
||||
This configuration option can be used to reserve space for the dynamic linking
|
||||
of modules with thread-local storage objects.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
If the thread-local storage size defined by the thread-local storage
|
||||
objects used by the application in the statically-linked executable is greater
|
||||
than a non-zero value of this configuration option, then a fatal error will
|
||||
occur during system initialization.
|
||||
This configuration option can be used to reserve space for the dynamic linking
|
||||
of modules with thread-local storage objects.
|
||||
|
||||
Use :c:func:`RTEMS_ALIGN_UP` and
|
||||
:c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT` to adjust the size to meet the
|
||||
minimum alignment requirement of a thread-local storage area.
|
||||
If the thread-local storage size defined by the thread-local storage
|
||||
objects used by the application in the statically-linked executable is greater
|
||||
than a non-zero value of this configuration option, then a fatal error will
|
||||
occur during system initialization.
|
||||
|
||||
The actual thread-local storage size is determined when the application
|
||||
executable is linked. The ``rtems-exeinfo`` command line tool included in
|
||||
the RTEMS Tools can be used to obtain the thread-local storage size and
|
||||
alignment of an application executable.
|
||||
Use :c:func:`RTEMS_ALIGN_UP` and
|
||||
:c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT` to adjust the size to meet the
|
||||
minimum alignment requirement of a thread-local storage area.
|
||||
|
||||
The actual thread-local storage size is determined when the application
|
||||
executable is linked. The ``rtems-exeinfo`` command line tool included in
|
||||
the RTEMS Tools can be used to obtain the thread-local storage size and
|
||||
alignment of an application executable.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
|
||||
|
||||
* The value of the configuration option shall be an integral multiple of
|
||||
:c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT`.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-timers
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_TIMERS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_TIMERS:
|
||||
@ -455,42 +541,51 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_TIMERS
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_TIMERS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_TIMERS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Timers that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API Timers that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-user-extensions
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_USER_EXTENSIONS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_USER_EXTENSIONS:
|
||||
@ -498,36 +593,45 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_USER_EXTENSIONS
|
||||
---------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_USER_EXTENSIONS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_USER_EXTENSIONS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API User Extensions that can be concurrently active.
|
||||
The value of this configuration option defines the maximum number of Classic
|
||||
API User Extensions that can be concurrently active.
|
||||
|
||||
NOTES:
|
||||
This object class cannot be configured in unlimited allocation mode.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This object class cannot be configured in unlimited allocation mode.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
.. Generated from spec:/acfg/if/min-tasks-with-user-provided-storage
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE
|
||||
|
||||
.. _CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE:
|
||||
@ -535,31 +639,37 @@ NOTES:
|
||||
CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE
|
||||
--------------------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to :ref:`CONFIGURE_MAXIMUM_TASKS`.
|
||||
The default value is 0.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the minimum count of Classic
|
||||
API Tasks which are constructed by :c:func:`rtems_task_construct`.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
By default, the calculation for the required memory in the RTEMS Workspace
|
||||
for tasks assumes that all Classic API Tasks are created by
|
||||
:c:func:`rtems_task_create`. This configuration option can be used to
|
||||
reduce the required memory for the system-provided task storage areas since
|
||||
tasks constructed by :c:func:`rtems_task_construct` use a user-provided
|
||||
task storage area.
|
||||
The value of this configuration option defines the minimum count of Classic
|
||||
API Tasks which are constructed by :c:func:`rtems_task_construct`.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
By default, the calculation for the required memory in the RTEMS Workspace
|
||||
for tasks assumes that all Classic API Tasks are created by
|
||||
:c:func:`rtems_task_create`. This configuration option can be used to
|
||||
reduce the required memory for the system-provided task storage areas since
|
||||
tasks constructed by :c:func:`rtems_task_construct` use a user-provided
|
||||
task storage area.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
:ref:`CONFIGURE_MAXIMUM_TASKS`.
|
||||
|
@ -28,6 +28,10 @@ initialization task.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-arguments
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_ARGUMENTS
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_ARGUMENTS:
|
||||
@ -35,28 +39,34 @@ initialization task.
|
||||
CONFIGURE_INIT_TASK_ARGUMENTS
|
||||
-----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_ARGUMENTS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_INIT_TASK_ARGUMENTS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be convertible to an integer
|
||||
of type :c:type:`rtems_task_argument`.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines task argument of the Classic
|
||||
API initialization task.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The default value is 0.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines task argument of the Classic
|
||||
API initialization task.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be convertible to an integer of
|
||||
type :c:type:`rtems_task_argument`.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-attributes
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_ATTRIBUTES
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_ATTRIBUTES:
|
||||
@ -64,27 +74,33 @@ NOTES:
|
||||
CONFIGURE_INIT_TASK_ATTRIBUTES
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_ATTRIBUTES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_INIT_TASK_ATTRIBUTES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is :c:macro:`RTEMS_DEFAULT_ATTRIBUTES`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a valid task attribute set.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the task attributes of the
|
||||
Classic API initialization task.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The default value is :c:macro:`RTEMS_DEFAULT_ATTRIBUTES`.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines the task attributes of the
|
||||
Classic API initialization task.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a valid task attribute set.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-construct-storage-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE:
|
||||
@ -92,60 +108,70 @@ NOTES:
|
||||
CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
|
||||
------------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
This configuration option has no default value. If it is not specified, then
|
||||
the Classic API initialization task will be created with the stack size
|
||||
defined by the :ref:`CONFIGURE_INIT_TASK_STACK_SIZE` configuration option.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be defined using :c:func:`RTEMS_TASK_STORAGE_SIZE`.
|
||||
This configuration option has no default value. If it is not specified, then
|
||||
the Classic API initialization task will be created with the stack size
|
||||
defined by the :ref:`CONFIGURE_INIT_TASK_STACK_SIZE` configuration option.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the task storage size of the
|
||||
Classic API initialization task.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
If this configuration option is specified, then
|
||||
The value of this configuration option defines the task storage size of the
|
||||
Classic API initialization task.
|
||||
|
||||
* a task storage area of the specified size is statically allocated by
|
||||
``<rtems/confdefs.h>`` for the Classic API initialization task,
|
||||
.. rubric:: NOTES:
|
||||
|
||||
* the Classic API initialization task is constructed by
|
||||
:c:func:`rtems_task_construct` instead of using
|
||||
:c:func:`rtems_task_create`,
|
||||
If this configuration option is specified, then
|
||||
|
||||
* the maximum thread-local storage size defined by
|
||||
:ref:`CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE` is used for the Classic API
|
||||
initialization task,
|
||||
* a task storage area of the specified size is statically allocated by
|
||||
``<rtems/confdefs.h>`` for the Classic API initialization task,
|
||||
|
||||
* the Classic API initialization task should be accounted for in
|
||||
:ref:`CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE`, and
|
||||
* the Classic API initialization task is constructed by
|
||||
:c:func:`rtems_task_construct` instead of using
|
||||
:c:func:`rtems_task_create`,
|
||||
|
||||
* the task storage area used for the Classic API initialization task is not
|
||||
reclaimed by the system if the task is deleted.
|
||||
* the maximum thread-local storage size defined by
|
||||
:ref:`CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE` is used for the Classic API
|
||||
initialization task,
|
||||
|
||||
The
|
||||
* the Classic API initialization task should be accounted for in
|
||||
:ref:`CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE`, and
|
||||
|
||||
* :ref:`CONFIGURE_INIT_TASK_STACK_SIZE` and
|
||||
* the task storage area used for the Classic API initialization task is not
|
||||
reclaimed by the system if the task is deleted.
|
||||
|
||||
* ``CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE``
|
||||
The
|
||||
|
||||
configuration options are mutually exclusive.
|
||||
* :ref:`CONFIGURE_INIT_TASK_STACK_SIZE` and
|
||||
|
||||
* ``CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE``
|
||||
|
||||
configuration options are mutually exclusive.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
* The value of the configuration option shall be defined using
|
||||
:c:func:`RTEMS_TASK_STORAGE_SIZE`.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-entrypoint
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_ENTRY_POINT
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_ENTRY_POINT:
|
||||
@ -153,29 +179,39 @@ NOTES:
|
||||
CONFIGURE_INIT_TASK_ENTRY_POINT
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_ENTRY_POINT``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_INIT_TASK_ENTRY_POINT``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``Init``.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void ( *entry_point )( rtems_task_argument )``.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option initializes the entry point of the
|
||||
Classic API initialization task.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
The application shall provide the function referenced by this configuration
|
||||
option.
|
||||
The default value is ``Init``.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option initializes the entry point of the
|
||||
Classic API initialization task.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The application shall provide the function referenced by this configuration
|
||||
option.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void ( *entry_point )( rtems_task_argument )``.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-initial-modes
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_INITIAL_MODES
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_INITIAL_MODES:
|
||||
@ -183,28 +219,34 @@ NOTES:
|
||||
CONFIGURE_INIT_TASK_INITIAL_MODES
|
||||
---------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_INITIAL_MODES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_INIT_TASK_INITIAL_MODES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
In SMP configurations, the default value is :c:macro:`RTEMS_DEFAULT_MODES`
|
||||
otherwise the default value is :c:macro:`RTEMS_NO_PREEMPT`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a valid task mode set.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the initial execution mode of
|
||||
the Classic API initialization task.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
In SMP configurations, the default value is :c:macro:`RTEMS_DEFAULT_MODES`
|
||||
otherwise the default value is :c:macro:`RTEMS_NO_PREEMPT`.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines the initial execution mode of
|
||||
the Classic API initialization task.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a valid task mode set.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-name
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_NAME
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_NAME:
|
||||
@ -212,28 +254,38 @@ NOTES:
|
||||
CONFIGURE_INIT_TASK_NAME
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_NAME``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_INIT_TASK_NAME``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be convertible to an integer
|
||||
of type :c:type:`rtems_name`.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the name of the Classic API
|
||||
initialization task.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
Use :c:func:`rtems_build_name` to define the task name.
|
||||
The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines the name of the Classic API
|
||||
initialization task.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
Use :c:func:`rtems_build_name` to define the task name.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be convertible to an integer of
|
||||
type :c:type:`rtems_name`.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-priority
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_PRIORITY
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_PRIORITY:
|
||||
@ -241,29 +293,35 @@ NOTES:
|
||||
CONFIGURE_INIT_TASK_PRIORITY
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_PRIORITY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_INIT_TASK_PRIORITY``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 1.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the initial priority of the
|
||||
Classic API initialization task.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The default value is 1.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option defines the initial priority of the
|
||||
Classic API initialization task.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a valid Classic API task
|
||||
priority. The set of valid task priorities depends on the scheduler
|
||||
configuration.
|
||||
|
||||
.. Generated from spec:/acfg/if/init-task-stack-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_INIT_TASK_STACK_SIZE
|
||||
|
||||
.. _CONFIGURE_INIT_TASK_STACK_SIZE:
|
||||
@ -271,41 +329,51 @@ NOTES:
|
||||
CONFIGURE_INIT_TASK_STACK_SIZE
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_INIT_TASK_STACK_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_INIT_TASK_STACK_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be small enough so that the task stack space calculation carried
|
||||
out by ``<rtems/confdefs.h>`` does not overflow an integer of type
|
||||
`uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the task stack size of the
|
||||
Classic API initialization task.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
The
|
||||
The value of this configuration option defines the task stack size of the
|
||||
Classic API initialization task.
|
||||
|
||||
* ``CONFIGURE_INIT_TASK_STACK_SIZE`` and
|
||||
.. rubric:: NOTES:
|
||||
|
||||
* :ref:`CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE`
|
||||
The
|
||||
|
||||
configuration options are mutually exclusive.
|
||||
* ``CONFIGURE_INIT_TASK_STACK_SIZE`` and
|
||||
|
||||
* :ref:`CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE`
|
||||
|
||||
configuration options are mutually exclusive.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the task
|
||||
stack space calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/rtems-init-tasks-table
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
.. _CONFIGURE_RTEMS_INIT_TASKS_TABLE:
|
||||
@ -313,28 +381,33 @@ NOTES:
|
||||
CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
--------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_RTEMS_INIT_TASKS_TABLE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_RTEMS_INIT_TASKS_TABLE``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then exactly one Classic API
|
||||
initialization task is configured.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
The application shall define exactly one of the following configuration
|
||||
options
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
* ``CONFIGURE_RTEMS_INIT_TASKS_TABLE``,
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
* :ref:`CONFIGURE_POSIX_INIT_THREAD_TABLE`, or
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`
|
||||
In case this configuration option is defined, then exactly one Classic API
|
||||
initialization task is configured.
|
||||
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The application shall define exactly one of the following configuration
|
||||
options
|
||||
|
||||
* ``CONFIGURE_RTEMS_INIT_TASKS_TABLE``,
|
||||
|
||||
* :ref:`CONFIGURE_POSIX_INIT_THREAD_TABLE`, or
|
||||
|
||||
* :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`
|
||||
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -26,6 +26,10 @@ This section describes configuration options related to the event recording.
|
||||
|
||||
.. Generated from spec:/acfg/if/record-extensions-enabled
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_RECORD_EXTENSIONS_ENABLED
|
||||
|
||||
.. _CONFIGURE_RECORD_EXTENSIONS_ENABLED:
|
||||
@ -33,31 +37,40 @@ This section describes configuration options related to the event recording.
|
||||
CONFIGURE_RECORD_EXTENSIONS_ENABLED
|
||||
-----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_RECORD_EXTENSIONS_ENABLED``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_RECORD_EXTENSIONS_ENABLED``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
* this configuration option is defined
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
then the event record extensions are enabled.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
The record extensions capture thread create, start, restart, delete, switch,
|
||||
begin, exitted and terminate events.
|
||||
In case
|
||||
|
||||
* this configuration option is defined
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,
|
||||
|
||||
then the event record extensions are enabled.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The record extensions capture thread create, start, restart, delete, switch,
|
||||
begin, exitted and terminate events.
|
||||
|
||||
.. Generated from spec:/acfg/if/record-fatal-dump-base64
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_RECORD_FATAL_DUMP_BASE64
|
||||
|
||||
.. _CONFIGURE_RECORD_FATAL_DUMP_BASE64:
|
||||
@ -65,33 +78,42 @@ NOTES:
|
||||
CONFIGURE_RECORD_FATAL_DUMP_BASE64
|
||||
----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_RECORD_FATAL_DUMP_BASE64``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_RECORD_FATAL_DUMP_BASE64``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
* this configuration option is defined
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB` is undefined,
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
then the event records are dumped in Base64 encoding in a fatal error
|
||||
extension (see :ref:`Terminate`).
|
||||
In case
|
||||
|
||||
NOTES:
|
||||
This extension can be used to produce crash dumps.
|
||||
* this configuration option is defined
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB` is undefined,
|
||||
|
||||
then the event records are dumped in Base64 encoding in a fatal error
|
||||
extension (see :ref:`Terminate`).
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This extension can be used to produce crash dumps.
|
||||
|
||||
.. Generated from spec:/acfg/if/record-fatal-dump-base64-zlib
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB
|
||||
|
||||
.. _CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB:
|
||||
@ -99,32 +121,41 @@ NOTES:
|
||||
CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB
|
||||
---------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
* this configuration option is defined
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
then the event records are compressed by zlib and dumped in Base64 encoding
|
||||
in a fatal error extension (see :ref:`Terminate`).
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
The zlib compression needs about 512KiB of RAM. This extension can be used
|
||||
to produce crash dumps.
|
||||
In case
|
||||
|
||||
* this configuration option is defined
|
||||
|
||||
* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,
|
||||
|
||||
then the event records are compressed by zlib and dumped in Base64 encoding
|
||||
in a fatal error extension (see :ref:`Terminate`).
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The zlib compression needs about 512KiB of RAM. This extension can be used
|
||||
to produce crash dumps.
|
||||
|
||||
.. Generated from spec:/acfg/if/record-per-processor-items
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
|
||||
|
||||
.. _CONFIGURE_RECORD_PER_PROCESSOR_ITEMS:
|
||||
@ -132,35 +163,40 @@ NOTES:
|
||||
CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
|
||||
------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to 16.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `SIZE_MAX
|
||||
<https://en.cppreference.com/w/c/types/limits>`_.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be a power of two.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
The value of this configuration option defines the event record item count
|
||||
per processor.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the event record item count
|
||||
per processor.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
The event record buffers are statically allocated for each configured
|
||||
processor (:ref:`CONFIGURE_MAXIMUM_PROCESSORS`). If the value of this
|
||||
configuration option is zero, then nothing is allocated.
|
||||
The event record buffers are statically allocated for each configured
|
||||
processor (:ref:`CONFIGURE_MAXIMUM_PROCESSORS`). If the value of this
|
||||
configuration option is zero, then nothing is allocated.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to 16.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
|
||||
|
||||
* The value of the configuration option shall be a power of two.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -27,6 +27,10 @@ This section describes configuration options related to the idle tasks.
|
||||
|
||||
.. Generated from spec:/acfg/if/idle-task-body
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_IDLE_TASK_BODY
|
||||
|
||||
.. _CONFIGURE_IDLE_TASK_BODY:
|
||||
@ -34,33 +38,43 @@ This section describes configuration options related to the idle tasks.
|
||||
CONFIGURE_IDLE_TASK_BODY
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_IDLE_TASK_BODY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_IDLE_TASK_BODY``
|
||||
|
||||
DEFAULT VALUE:
|
||||
If :ref:`BSP_IDLE_TASK_BODY` is defined, then this will be the default value,
|
||||
otherwise the default value is ``_CPU_Thread_Idle_body``.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *idle_body )( uintptr_t )``.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option initializes the IDLE thread body.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
IDLE threads shall not block. A blocking IDLE thread results in undefined
|
||||
system behaviour because the scheduler assume that at least one ready thread
|
||||
exists.
|
||||
If :ref:`BSP_IDLE_TASK_BODY` is defined, then this will be the default value,
|
||||
otherwise the default value is ``_CPU_Thread_Idle_body``.
|
||||
|
||||
IDLE threads can be used to initialize the application, see configuration
|
||||
option :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option initializes the IDLE thread body.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
IDLE threads shall not block. A blocking IDLE thread results in undefined
|
||||
system behaviour because the scheduler assume that at least one ready thread
|
||||
exists.
|
||||
|
||||
IDLE threads can be used to initialize the application, see configuration
|
||||
option :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *idle_body )( uintptr_t )``.
|
||||
|
||||
.. Generated from spec:/acfg/if/idle-task-init-appl
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
|
||||
|
||||
.. _CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION:
|
||||
@ -68,47 +82,56 @@ NOTES:
|
||||
CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
|
||||
-------------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the user is assumed to
|
||||
provide one or more initialization tasks.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
This configuration option is defined to indicate that the user has configured
|
||||
**no** user initialization tasks or threads and that the user provided IDLE
|
||||
task will perform application initialization and then transform itself into
|
||||
an IDLE task.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
If you use this option be careful, the user IDLE task **cannot** block at all
|
||||
during the initialization sequence. Further, once application
|
||||
initialization is complete, it shall make itself preemptible and enter an idle
|
||||
body loop.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
The IDLE task shall run at the lowest priority of all tasks in the system.
|
||||
If this configuration option is undefined, then the user is assumed to
|
||||
provide one or more initialization tasks.
|
||||
|
||||
If this configuration option is defined, then it is mandatory to configure a
|
||||
user IDLE task with the :ref:`CONFIGURE_IDLE_TASK_BODY` configuration option,
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The application shall define exactly one of the following configuration
|
||||
options
|
||||
This configuration option is defined to indicate that the user has configured
|
||||
**no** user initialization tasks or threads and that the user provided IDLE
|
||||
task will perform application initialization and then transform itself into
|
||||
an IDLE task.
|
||||
|
||||
* :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`,
|
||||
.. rubric:: NOTES:
|
||||
|
||||
* :ref:`CONFIGURE_POSIX_INIT_THREAD_TABLE`, or
|
||||
If you use this option be careful, the user IDLE task **cannot** block at all
|
||||
during the initialization sequence. Further, once application
|
||||
initialization is complete, it shall make itself preemptible and enter an idle
|
||||
body loop.
|
||||
|
||||
* ``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``
|
||||
The IDLE task shall run at the lowest priority of all tasks in the system.
|
||||
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
If this configuration option is defined, then it is mandatory to configure a
|
||||
user IDLE task with the :ref:`CONFIGURE_IDLE_TASK_BODY` configuration option,
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
|
||||
The application shall define exactly one of the following configuration
|
||||
options
|
||||
|
||||
* :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`,
|
||||
|
||||
* :ref:`CONFIGURE_POSIX_INIT_THREAD_TABLE`, or
|
||||
|
||||
* ``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``
|
||||
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
|
||||
.. Generated from spec:/acfg/if/idle-task-stack-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_IDLE_TASK_STACK_SIZE
|
||||
|
||||
.. _CONFIGURE_IDLE_TASK_STACK_SIZE:
|
||||
@ -116,30 +139,36 @@ NOTES:
|
||||
CONFIGURE_IDLE_TASK_STACK_SIZE
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_IDLE_TASK_STACK_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_IDLE_TASK_STACK_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to a BSP-specific and
|
||||
application-specific minimum value.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be small enough so that the IDLE task stack area calculation
|
||||
carried out by ``<rtems/confdefs.h>`` does not overflow an integer of
|
||||
type `size_t <https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the task stack size for an
|
||||
IDLE task.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
In SMP configurations, there is one IDLE task per configured processor, see
|
||||
:ref:`CONFIGURE_MAXIMUM_PROCESSORS`.
|
||||
The value of this configuration option defines the task stack size for an
|
||||
IDLE task.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
In SMP configurations, there is one IDLE task per configured processor, see
|
||||
:ref:`CONFIGURE_MAXIMUM_PROCESSORS`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to a
|
||||
BSP-specific and application-specific minimum value.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the IDLE
|
||||
task stack area calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `size_t
|
||||
<https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
|
@ -32,6 +32,10 @@ SMP support.
|
||||
|
||||
.. Generated from spec:/acfg/if/mp-extra-server-stack
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK
|
||||
|
||||
.. _CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK:
|
||||
@ -39,39 +43,49 @@ SMP support.
|
||||
CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK
|
||||
-----------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be small enough so that the MPCI receive server stack area
|
||||
calculation carried out by ``<rtems/confdefs.h>`` does not overflow an
|
||||
integer of type `size_t <https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the number of bytes the
|
||||
applications wishes to add to the MPCI task stack on top of
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
The value of this configuration option defines the number of bytes the
|
||||
applications wishes to add to the MPCI task stack on top of
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
NOTES:
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the MPCI
|
||||
receive server stack area calculation carried out by ``<rtems/confdefs.h>``
|
||||
does not overflow an integer of type `size_t
|
||||
<https://en.cppreference.com/w/c/types/size_t>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/mp-appl
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MP_APPLICATION
|
||||
|
||||
.. _CONFIGURE_MP_APPLICATION:
|
||||
@ -79,29 +93,38 @@ NOTES:
|
||||
CONFIGURE_MP_APPLICATION
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MP_APPLICATION``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_MP_APPLICATION``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the multiprocessing services
|
||||
are not initialized.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
This configuration option is defined to indicate that the application intends
|
||||
to be part of a multiprocessing configuration. Additional configuration
|
||||
options are assumed to be provided.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This configuration option shall be undefined if the multiprocessing support
|
||||
is not enabled (e.g. RTEMS was built without the ``--enable-multiprocessing``
|
||||
build configuration option). Otherwise a compile time error in the
|
||||
configuration file will occur.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
If this configuration option is undefined, then the multiprocessing services
|
||||
are not initialized.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
This configuration option is defined to indicate that the application intends
|
||||
to be part of a multiprocessing configuration. Additional configuration
|
||||
options are assumed to be provided.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This configuration option shall be undefined if the multiprocessing support
|
||||
is not enabled (e.g. RTEMS was built without the ``--enable-multiprocessing``
|
||||
build configuration option). Otherwise a compile time error in the
|
||||
configuration file will occur.
|
||||
|
||||
.. Generated from spec:/acfg/if/mp-max-global-objects
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
|
||||
|
||||
.. _CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS:
|
||||
@ -109,37 +132,46 @@ NOTES:
|
||||
CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
|
||||
-----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 32.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 32.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of
|
||||
concurrently active global objects in a multiprocessor system.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
This value corresponds to the total number of objects which can be created
|
||||
with the :c:macro:`RTEMS_GLOBAL` attribute.
|
||||
The value of this configuration option defines the maximum number of
|
||||
concurrently active global objects in a multiprocessor system.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This value corresponds to the total number of objects which can be created
|
||||
with the :c:macro:`RTEMS_GLOBAL` attribute.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/mp-max-nodes
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MP_MAXIMUM_NODES
|
||||
|
||||
.. _CONFIGURE_MP_MAXIMUM_NODES:
|
||||
@ -147,34 +179,43 @@ NOTES:
|
||||
CONFIGURE_MP_MAXIMUM_NODES
|
||||
--------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MP_MAXIMUM_NODES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MP_MAXIMUM_NODES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 2.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 2.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of nodes in
|
||||
a multiprocessor system.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
The value of this configuration option defines the maximum number of nodes in
|
||||
a multiprocessor system.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/mp-max-proxies
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MP_MAXIMUM_PROXIES
|
||||
|
||||
.. _CONFIGURE_MP_MAXIMUM_PROXIES:
|
||||
@ -182,40 +223,49 @@ NOTES:
|
||||
CONFIGURE_MP_MAXIMUM_PROXIES
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MP_MAXIMUM_PROXIES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MP_MAXIMUM_PROXIES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 32.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is 32.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of
|
||||
concurrently active thread/task proxies on this node in a multiprocessor
|
||||
system.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
Since a proxy is used to represent a remote task/thread which is blocking
|
||||
on this node. This configuration parameter reflects the maximum number of
|
||||
remote tasks/threads which can be blocked on objects on this node, see
|
||||
:ref:`MPCIProxies`.
|
||||
The value of this configuration option defines the maximum number of
|
||||
concurrently active thread/task proxies on this node in a multiprocessor
|
||||
system.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
Since a proxy is used to represent a remote task/thread which is blocking
|
||||
on this node. This configuration parameter reflects the maximum number of
|
||||
remote tasks/threads which can be blocked on objects on this node, see
|
||||
:ref:`MPCIProxies`.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/mp-mpci-table-pointer
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MP_MPCI_TABLE_POINTER
|
||||
|
||||
.. _CONFIGURE_MP_MPCI_TABLE_POINTER:
|
||||
@ -223,33 +273,43 @@ NOTES:
|
||||
CONFIGURE_MP_MPCI_TABLE_POINTER
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MP_MPCI_TABLE_POINTER``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_MP_MPCI_TABLE_POINTER``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``&MPCI_table``.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be a pointer to
|
||||
:c:type:`rtems_mpci_table`.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option initializes the MPCI Configuration
|
||||
Table.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
RTEMS provides a Shared Memory MPCI Device Driver which can be used on any
|
||||
Multiprocessor System assuming the BSP provides the proper set of
|
||||
supporting methods.
|
||||
The default value is ``&MPCI_table``.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option initializes the MPCI Configuration
|
||||
Table.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
RTEMS provides a Shared Memory MPCI Device Driver which can be used on any
|
||||
Multiprocessor System assuming the BSP provides the proper set of
|
||||
supporting methods.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be a pointer to
|
||||
:c:type:`rtems_mpci_table`.
|
||||
|
||||
.. Generated from spec:/acfg/if/mp-node-number
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MP_NODE_NUMBER
|
||||
|
||||
.. _CONFIGURE_MP_NODE_NUMBER:
|
||||
@ -257,33 +317,38 @@ NOTES:
|
||||
CONFIGURE_MP_NODE_NUMBER
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MP_NODE_NUMBER``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MP_NODE_NUMBER``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``NODE_NUMBER``.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `UINT32_MAX
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is ``NODE_NUMBER``.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the node number of this node
|
||||
in a multiprocessor system.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
In the RTEMS Multiprocessing Test Suite, the node number is derived from
|
||||
the Makefile variable ``NODE_NUMBER``. The same code is compiled with the
|
||||
``NODE_NUMBER`` set to different values. The test programs behave
|
||||
differently based upon their node number.
|
||||
The value of this configuration option defines the node number of this node
|
||||
in a multiprocessor system.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
In the RTEMS Multiprocessing Test Suite, the node number is derived from
|
||||
the Makefile variable ``NODE_NUMBER``. The same code is compiled with the
|
||||
``NODE_NUMBER`` set to different values. The test programs behave
|
||||
differently based upon their node number.
|
||||
|
||||
This configuration option is only evaluated if
|
||||
:ref:`CONFIGURE_MP_APPLICATION` is defined.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
@ -30,6 +30,10 @@ build configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-keys
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_KEYS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_KEYS:
|
||||
@ -37,42 +41,51 @@ build configuration option.
|
||||
CONFIGURE_MAXIMUM_POSIX_KEYS
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_KEYS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_KEYS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Keys that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Keys that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-key-value-pairs
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS:
|
||||
@ -80,48 +93,57 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
|
||||
---------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is
|
||||
:ref:`CONFIGURE_MAXIMUM_POSIX_KEYS` *
|
||||
( :ref:`CONFIGURE_MAXIMUM_TASKS` +
|
||||
:ref:`CONFIGURE_MAXIMUM_POSIX_THREADS` ).
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is
|
||||
:ref:`CONFIGURE_MAXIMUM_POSIX_KEYS` *
|
||||
( :ref:`CONFIGURE_MAXIMUM_TASKS` +
|
||||
:ref:`CONFIGURE_MAXIMUM_POSIX_THREADS` ).
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of key
|
||||
value pairs used by POSIX API Keys that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of key
|
||||
value pairs used by POSIX API Keys that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
A key value pair is created by :c:func:`pthread_setspecific` if the value
|
||||
is not `NULL <https://en.cppreference.com/w/c/types/NULL>`_, otherwise it is deleted.
|
||||
A key value pair is created by :c:func:`pthread_setspecific` if the value
|
||||
is not `NULL <https://en.cppreference.com/w/c/types/NULL>`_, otherwise it is deleted.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-message-queues
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES:
|
||||
@ -129,48 +151,58 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
|
||||
--------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be small enough so that the RTEMS Workspace size calculation
|
||||
carried out by ``<rtems/confdefs.h>`` does not overflow an integer of
|
||||
type `uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Message Queues that can be concurrently active.
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Message Queues that can be concurrently active.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`. You have to account for the memory used to
|
||||
store the messages of each message queue, see
|
||||
:ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`. You have to account for the memory used to
|
||||
store the messages of each message queue, see
|
||||
:ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the RTEMS
|
||||
Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-queued-signals
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS:
|
||||
@ -178,45 +210,56 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
|
||||
--------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be small enough so that the RTEMS Workspace size calculation
|
||||
carried out by ``<rtems/confdefs.h>`` does not overflow an integer of
|
||||
type `uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be zero if the POSIX API is not enabled (e.g. RTEMS was built
|
||||
without the ``RTEMS_POSIX_API = True`` build configuration option).
|
||||
Otherwise a compile time error in the configuration file will occur.
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Queued Signals that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Queued Signals that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
Unlimited objects are not available for queued signals.
|
||||
Unlimited objects are not available for queued signals.
|
||||
|
||||
Queued signals are only available if RTEMS was built with the
|
||||
``--enable-posix`` build configuration option.
|
||||
Queued signals are only available if RTEMS was built with the
|
||||
``--enable-posix`` build configuration option.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the RTEMS
|
||||
Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
* The value of the configuration option shall be zero if the POSIX API is not
|
||||
enabled (e.g. RTEMS was built without the ``RTEMS_POSIX_API = True`` build
|
||||
configuration option). Otherwise a compile time error in the configuration
|
||||
file will occur.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-semaphores
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_SEMAPHORES:
|
||||
@ -224,51 +267,61 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
|
||||
----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be small enough so that the RTEMS Workspace size calculation
|
||||
carried out by ``<rtems/confdefs.h>`` does not overflow an integer of
|
||||
type `uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Named Semaphores that can be concurrently active.
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Named Semaphores that can be concurrently active.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
Named semaphores are created with :c:func:`sem_open`. Semaphores
|
||||
initialized with :c:func:`sem_init` are not affected by this
|
||||
configuration option since the storage space for these semaphores is
|
||||
user-provided.
|
||||
|
||||
Named semaphores are created with :c:func:`sem_open`. Semaphores
|
||||
initialized with :c:func:`sem_init` are not affected by this
|
||||
configuration option since the storage space for these semaphores is
|
||||
user-provided.
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the RTEMS
|
||||
Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-shms
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_SHMS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_SHMS:
|
||||
@ -276,46 +329,56 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_POSIX_SHMS
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_SHMS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_SHMS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be small enough so that the RTEMS Workspace size calculation
|
||||
carried out by ``<rtems/confdefs.h>`` does not overflow an integer of
|
||||
type `uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Shared Memory objects that can be concurrently active.
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Shared Memory objects that can be concurrently active.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the RTEMS
|
||||
Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-threads
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_THREADS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_THREADS:
|
||||
@ -323,51 +386,61 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_POSIX_THREADS
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_THREADS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_THREADS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be small enough so that the task stack space calculation carried
|
||||
out by ``<rtems/confdefs.h>`` does not overflow an integer of type
|
||||
`uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Threads that can be concurrently active.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Threads that can be concurrently active.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
This calculations for the required memory in the RTEMS Workspace for threads
|
||||
assume that each thread has a minimum stack size and has floating point
|
||||
support enabled. The configuration option :ref:`CONFIGURE_EXTRA_TASK_STACKS` is used
|
||||
to specify thread stack requirements **above** the minimum size required.
|
||||
This calculations for the required memory in the RTEMS Workspace for threads
|
||||
assume that each thread has a minimum stack size and has floating point
|
||||
support enabled. The configuration option :ref:`CONFIGURE_EXTRA_TASK_STACKS` is used
|
||||
to specify thread stack requirements **above** the minimum size required.
|
||||
|
||||
The maximum number of Classic API Tasks is specified by
|
||||
:ref:`CONFIGURE_MAXIMUM_TASKS`.
|
||||
The maximum number of Classic API Tasks is specified by
|
||||
:ref:`CONFIGURE_MAXIMUM_TASKS`.
|
||||
|
||||
All POSIX threads have floating point enabled.
|
||||
All POSIX threads have floating point enabled.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the task
|
||||
stack space calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-posix-timers
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_TIMERS
|
||||
|
||||
.. _CONFIGURE_MAXIMUM_POSIX_TIMERS:
|
||||
@ -375,49 +448,59 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_POSIX_TIMERS
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_POSIX_TIMERS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_POSIX_TIMERS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 0.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to 65535.
|
||||
The default value is 0.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It may be defined through :c:func:`rtems_resource_unlimited` the enable
|
||||
unlimited objects for the object class, if the value passed to
|
||||
:c:func:`rtems_resource_unlimited` satisfies all other constraints of the
|
||||
configuration option.
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Timers that can be concurrently active.
|
||||
|
||||
* It shall be zero if the POSIX API is not enabled (e.g. RTEMS was built
|
||||
without the ``RTEMS_POSIX_API = True`` build configuration option).
|
||||
Otherwise a compile time error in the configuration file will occur.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number of POSIX
|
||||
API Timers that can be concurrently active.
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
|
||||
NOTES:
|
||||
This object class can be configured in unlimited allocation mode, see
|
||||
:ref:`ConfigUnlimitedObjects`.
|
||||
Timers are only available if RTEMS was built with the
|
||||
``--enable-posix`` build configuration option.
|
||||
|
||||
Timers are only available if RTEMS was built with the
|
||||
``--enable-posix`` build configuration option.
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to 65535.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
* The value of the configuration option may be defined through
|
||||
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
|
||||
object class, if the value passed to :c:func:`rtems_resource_unlimited`
|
||||
satisfies all other constraints of the configuration option.
|
||||
|
||||
* The value of the configuration option shall be zero if the POSIX API is not
|
||||
enabled (e.g. RTEMS was built without the ``RTEMS_POSIX_API = True`` build
|
||||
configuration option). Otherwise a compile time error in the configuration
|
||||
file will occur.
|
||||
|
||||
.. Generated from spec:/acfg/if/min-posix-thread-stack-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
|
||||
.. index:: minimum POSIX thread stack size
|
||||
|
||||
@ -426,30 +509,32 @@ NOTES:
|
||||
CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
|
||||
-----------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is two times the value of
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be small enough so that the task stack space calculation carried
|
||||
out by ``<rtems/confdefs.h>`` does not overflow an integer of type
|
||||
`uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be greater than or equal to a BSP-specific and
|
||||
application-specific minimum value.
|
||||
The default value is two times the value of
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the minimum stack size in
|
||||
bytes for every POSIX thread in the system.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the minimum stack size in
|
||||
bytes for every POSIX thread in the system.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be small enough so that the task
|
||||
stack space calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to a
|
||||
BSP-specific and application-specific minimum value.
|
||||
|
@ -28,6 +28,10 @@ initialization thread.
|
||||
|
||||
.. Generated from spec:/acfg/if/posix-init-thread-entry-point
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
|
||||
|
||||
.. _CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT:
|
||||
@ -35,29 +39,39 @@ initialization thread.
|
||||
CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
|
||||
---------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``POSIX_Init``.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *entry_point )( void * )``.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option initializes the entry point of the
|
||||
POSIX API initialization thread.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
The application shall provide the function referenced by this configuration
|
||||
option.
|
||||
The default value is ``POSIX_Init``.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option initializes the entry point of the
|
||||
POSIX API initialization thread.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The application shall provide the function referenced by this configuration
|
||||
option.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *entry_point )( void * )``.
|
||||
|
||||
.. Generated from spec:/acfg/if/posix-init-thread-stack-size
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
|
||||
|
||||
.. _CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE:
|
||||
@ -65,35 +79,41 @@ NOTES:
|
||||
CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
|
||||
--------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is :ref:`CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be small enough so that the task stack space calculation carried
|
||||
out by ``<rtems/confdefs.h>`` does not overflow an integer of type
|
||||
`uintptr_t <https://en.cppreference.com/w/c/types/integer>`_.
|
||||
The default value is :ref:`CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE`.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the thread stack size of the
|
||||
POSIX API initialization thread.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
NOTES:
|
||||
None.
|
||||
The value of this configuration option defines the thread stack size of the
|
||||
POSIX API initialization thread.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to
|
||||
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
|
||||
|
||||
* The value of the configuration option shall be small enough so that the task
|
||||
stack space calculation carried out by ``<rtems/confdefs.h>`` does not
|
||||
overflow an integer of type `uintptr_t
|
||||
<https://en.cppreference.com/w/c/types/integer>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/posix-init-thread-table
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
|
||||
.. _CONFIGURE_POSIX_INIT_THREAD_TABLE:
|
||||
@ -101,28 +121,33 @@ NOTES:
|
||||
CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
---------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_POSIX_INIT_THREAD_TABLE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_POSIX_INIT_THREAD_TABLE``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then exactly one POSIX
|
||||
initialization thread is configured.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
The application shall define exactly one of the following configuration
|
||||
options
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
* :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`,
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
* ``CONFIGURE_POSIX_INIT_THREAD_TABLE``, or
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`
|
||||
In case this configuration option is defined, then exactly one POSIX
|
||||
initialization thread is configured.
|
||||
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The application shall define exactly one of the following configuration
|
||||
options
|
||||
|
||||
* :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`,
|
||||
|
||||
* ``CONFIGURE_POSIX_INIT_THREAD_TABLE``, or
|
||||
|
||||
* :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`
|
||||
|
||||
otherwise a compile time error in the configuration file will occur.
|
||||
|
@ -49,6 +49,10 @@ configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/cbs-max-servers
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_CBS_MAXIMUM_SERVERS
|
||||
|
||||
.. _CONFIGURE_CBS_MAXIMUM_SERVERS:
|
||||
@ -56,38 +60,47 @@ configuration option.
|
||||
CONFIGURE_CBS_MAXIMUM_SERVERS
|
||||
-----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_CBS_MAXIMUM_SERVERS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_CBS_MAXIMUM_SERVERS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is :ref:`CONFIGURE_MAXIMUM_TASKS`.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an integer define.
|
||||
|
||||
* It shall be greater than or equal to zero.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* It shall be less than or equal to `SIZE_MAX
|
||||
<https://en.cppreference.com/w/c/types/limits>`_.
|
||||
The default value is :ref:`CONFIGURE_MAXIMUM_TASKS`.
|
||||
|
||||
* It shall be less than or equal to a BSP-specific and application-specific
|
||||
value which depends on the size of the memory available to the
|
||||
application.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the maximum number Constant
|
||||
Bandwidth Servers that can be concurrently active.
|
||||
The value of this configuration option defines the maximum number Constant
|
||||
Bandwidth Servers that can be concurrently active.
|
||||
|
||||
NOTES:
|
||||
This configuration option is only evaluated if the configuration option
|
||||
:ref:`CONFIGURE_SCHEDULER_CBS` is defined.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This configuration option is only evaluated if the configuration option
|
||||
:ref:`CONFIGURE_SCHEDULER_CBS` is defined.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be greater than or equal to zero.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to
|
||||
`SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
|
||||
|
||||
* The value of the configuration option shall be less than or equal to a
|
||||
BSP-specific and application-specific value which depends on the size of the
|
||||
memory available to the application.
|
||||
|
||||
.. Generated from spec:/acfg/if/max-priority
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_MAXIMUM_PRIORITY
|
||||
.. index:: maximum priority
|
||||
.. index:: number of priority levels
|
||||
@ -97,57 +110,67 @@ NOTES:
|
||||
CONFIGURE_MAXIMUM_PRIORITY
|
||||
--------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_MAXIMUM_PRIORITY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_MAXIMUM_PRIORITY``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is 255.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be equal to 3, 7, 31, 63, 127,
|
||||
or 255.
|
||||
This configuration option is an integer define.
|
||||
|
||||
DESCRIPTION:
|
||||
For the following schedulers
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* :ref:`SchedulerPriority`, which is the default in uniprocessor
|
||||
configurations and can be configured through the
|
||||
:ref:`CONFIGURE_SCHEDULER_PRIORITY` configuration option,
|
||||
The default value is 255.
|
||||
|
||||
* :ref:`SchedulerSMPPriority` which can be configured through the
|
||||
:ref:`CONFIGURE_SCHEDULER_PRIORITY_SMP` configuration option, and
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* :ref:`SchedulerSMPPriorityAffinity` which can be configured through the
|
||||
:ref:`CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP` configuration option
|
||||
For the following schedulers
|
||||
|
||||
this configuration option specifies the maximum numeric priority of any task
|
||||
for these schedulers and one less that the number of priority levels for
|
||||
these schedulers. For all other schedulers provided by RTEMS, this
|
||||
configuration option has no effect.
|
||||
* :ref:`SchedulerPriority`, which is the default in uniprocessor
|
||||
configurations and can be configured through the
|
||||
:ref:`CONFIGURE_SCHEDULER_PRIORITY` configuration option,
|
||||
|
||||
NOTES:
|
||||
The numerically greatest priority is the logically lowest priority in the
|
||||
system and will thus be used by the IDLE task.
|
||||
* :ref:`SchedulerSMPPriority` which can be configured through the
|
||||
:ref:`CONFIGURE_SCHEDULER_PRIORITY_SMP` configuration option, and
|
||||
|
||||
Priority zero is reserved for internal use by RTEMS and is not available to
|
||||
applications.
|
||||
* :ref:`SchedulerSMPPriorityAffinity` which can be configured through the
|
||||
:ref:`CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP` configuration option
|
||||
|
||||
Reducing the number of priorities through this configuration option reduces
|
||||
the amount of memory allocated by the schedulers listed above. These
|
||||
schedulers use a chain control structure per priority and this structure
|
||||
consists of three pointers. On a 32-bit architecture, the allocated memory
|
||||
is 12 bytes * (``CONFIGURE_MAXIMUM_PRIORITY`` + 1), e.g. 3072 bytes for 256
|
||||
priority levels (default), 48 bytes for 4 priority levels
|
||||
(``CONFIGURE_MAXIMUM_PRIORITY == 3``).
|
||||
this configuration option specifies the maximum numeric priority of any task
|
||||
for these schedulers and one less that the number of priority levels for
|
||||
these schedulers. For all other schedulers provided by RTEMS, this
|
||||
configuration option has no effect.
|
||||
|
||||
The default value is 255, because RTEMS shall support 256 priority levels to
|
||||
be compliant with various standards. These priorities range from 0 to 255.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
The numerically greatest priority is the logically lowest priority in the
|
||||
system and will thus be used by the IDLE task.
|
||||
|
||||
Priority zero is reserved for internal use by RTEMS and is not available to
|
||||
applications.
|
||||
|
||||
Reducing the number of priorities through this configuration option reduces
|
||||
the amount of memory allocated by the schedulers listed above. These
|
||||
schedulers use a chain control structure per priority and this structure
|
||||
consists of three pointers. On a 32-bit architecture, the allocated memory
|
||||
is 12 bytes * (``CONFIGURE_MAXIMUM_PRIORITY`` + 1), e.g. 3072 bytes for 256
|
||||
priority levels (default), 48 bytes for 4 priority levels
|
||||
(``CONFIGURE_MAXIMUM_PRIORITY == 3``).
|
||||
|
||||
The default value is 255, because RTEMS shall support 256 priority levels to
|
||||
be compliant with various standards. These priorities range from 0 to 255.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be equal to 3, 7, 31, 63, 127, or
|
||||
255.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-assignments
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_ASSIGNMENTS
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_ASSIGNMENTS:
|
||||
@ -155,41 +178,51 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_ASSIGNMENTS
|
||||
-------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_ASSIGNMENTS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_SCHEDULER_ASSIGNMENTS``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value of this configuration option is computed so that the
|
||||
default scheduler is assigned to each configured processor (up to 32).
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall satisfy all of the following
|
||||
constraints:
|
||||
This configuration option is an initializer define.
|
||||
|
||||
* It shall be a list of the following macros:
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* ``RTEMS_SCHEDULER_ASSIGN( processor_index, attributes )``
|
||||
The default value of this configuration option is computed so that the
|
||||
default scheduler is assigned to each configured processor (up to 32).
|
||||
|
||||
* ``RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER``
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* It shall be a list of exactly :ref:`CONFIGURE_MAXIMUM_PROCESSORS`
|
||||
elements.
|
||||
The value of this configuration option is used to initialize the initial
|
||||
scheduler to processor assignments.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option is used to initialize the initial
|
||||
scheduler to processor assignments.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
NOTES:
|
||||
This configuration option is only evaluated in SMP configurations.
|
||||
This configuration option is only evaluated in SMP configurations.
|
||||
|
||||
This is an advanced configuration option, see
|
||||
:ref:`ConfigurationSchedulersClustered`.
|
||||
This is an advanced configuration option, see
|
||||
:ref:`ConfigurationSchedulersClustered`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The following constraints apply to this configuration option:
|
||||
|
||||
* The value of the configuration option shall be a list of the following
|
||||
macros:
|
||||
|
||||
* ``RTEMS_SCHEDULER_ASSIGN( processor_index, attributes )``
|
||||
|
||||
* ``RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER``
|
||||
|
||||
* The value of the configuration option shall be a list of exactly
|
||||
:ref:`CONFIGURE_MAXIMUM_PROCESSORS` elements.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-cbs
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_CBS
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_CBS:
|
||||
@ -197,30 +230,39 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_CBS
|
||||
-----------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_CBS``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_CBS``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerCBS`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerCBS`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-edf
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_EDF
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_EDF:
|
||||
@ -228,30 +270,39 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_EDF
|
||||
-----------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_EDF``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_EDF``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerEDF`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerEDF`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-edf-smp
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_EDF_SMP
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_EDF_SMP:
|
||||
@ -259,37 +310,46 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_EDF_SMP
|
||||
---------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_EDF_SMP``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_EDF_SMP``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPEDF`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
This scheduler algorithm is the default in SMP configurations if
|
||||
:ref:`CONFIGURE_MAXIMUM_PROCESSORS` is
|
||||
greater than one.
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPEDF`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
|
||||
This scheduler algorithm is the default in SMP configurations if
|
||||
:ref:`CONFIGURE_MAXIMUM_PROCESSORS` is
|
||||
greater than one.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-name
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_NAME
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_NAME:
|
||||
@ -297,49 +357,59 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_NAME
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_NAME``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an integer define.
|
||||
``CONFIGURE_SCHEDULER_NAME``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
* ``"MEDF"`` for the :ref:`SchedulerSMPEDF`,
|
||||
This configuration option is an integer define.
|
||||
|
||||
* ``"MPA "`` for the :ref:`SchedulerSMPPriorityAffinity`,
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
* ``"MPD "`` for the :ref:`SchedulerSMPPriority`,
|
||||
The default value is
|
||||
|
||||
* ``"MPS "`` for the :ref:`SchedulerSMPPrioritySimple`,
|
||||
* ``"MEDF"`` for the :ref:`SchedulerSMPEDF`,
|
||||
|
||||
* ``"UCBS"`` for the :ref:`SchedulerCBS`,
|
||||
* ``"MPA "`` for the :ref:`SchedulerSMPPriorityAffinity`,
|
||||
|
||||
* ``"UEDF"`` for the :ref:`SchedulerEDF`,
|
||||
* ``"MPD "`` for the :ref:`SchedulerSMPPriority`,
|
||||
|
||||
* ``"UPD "`` for the :ref:`SchedulerPriority`, and
|
||||
* ``"MPS "`` for the :ref:`SchedulerSMPPrioritySimple`,
|
||||
|
||||
* ``"UPS "`` for the :ref:`SchedulerPrioritySimple`.
|
||||
* ``"UCBS"`` for the :ref:`SchedulerCBS`,
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be convertible to an integer
|
||||
of type :c:type:`rtems_name`.
|
||||
* ``"UEDF"`` for the :ref:`SchedulerEDF`,
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option defines the name of the default
|
||||
scheduler.
|
||||
* ``"UPD "`` for the :ref:`SchedulerPriority`, and
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
* ``"UPS "`` for the :ref:`SchedulerPrioritySimple`.
|
||||
|
||||
Schedulers can be identified via :c:func:`rtems_scheduler_ident`.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
Use :c:func:`rtems_build_name` to define the scheduler name.
|
||||
The value of this configuration option defines the name of the default
|
||||
scheduler.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
Schedulers can be identified via :c:func:`rtems_scheduler_ident`.
|
||||
|
||||
Use :c:func:`rtems_build_name` to define the scheduler name.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be convertible to an integer of
|
||||
type :c:type:`rtems_name`.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-priority
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_PRIORITY
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_PRIORITY:
|
||||
@ -347,37 +417,46 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_PRIORITY
|
||||
----------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_PRIORITY``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_PRIORITY``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerPriority`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
This scheduler algorithm is the default when
|
||||
:ref:`CONFIGURE_MAXIMUM_PROCESSORS` is
|
||||
exactly one.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The memory allocated for this scheduler depends on the
|
||||
:ref:`CONFIGURE_MAXIMUM_PRIORITY` configuration option.
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerPriority`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
|
||||
This scheduler algorithm is the default when
|
||||
:ref:`CONFIGURE_MAXIMUM_PROCESSORS` is
|
||||
exactly one.
|
||||
|
||||
The memory allocated for this scheduler depends on the
|
||||
:ref:`CONFIGURE_MAXIMUM_PRIORITY` configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-priority-affinity-smp
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP:
|
||||
@ -385,36 +464,45 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
|
||||
-----------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPPriorityAffinity`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The memory allocated for this scheduler depends on the
|
||||
:ref:`CONFIGURE_MAXIMUM_PRIORITY` configuration option.
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPPriorityAffinity`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
|
||||
The memory allocated for this scheduler depends on the
|
||||
:ref:`CONFIGURE_MAXIMUM_PRIORITY` configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-priority-smp
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_PRIORITY_SMP:
|
||||
@ -422,36 +510,45 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_PRIORITY_SMP
|
||||
--------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_PRIORITY_SMP``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_PRIORITY_SMP``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPPriority`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The memory allocated for this scheduler depends on the
|
||||
:ref:`CONFIGURE_MAXIMUM_PRIORITY` configuration option.
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPPriority`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
|
||||
The memory allocated for this scheduler depends on the
|
||||
:ref:`CONFIGURE_MAXIMUM_PRIORITY` configuration option.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-simple
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_SIMPLE
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_SIMPLE:
|
||||
@ -459,30 +556,39 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_SIMPLE
|
||||
--------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_SIMPLE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_SIMPLE``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerPrioritySimple`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerPrioritySimple`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for exactly one processor.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-simple-smp
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_SIMPLE_SMP:
|
||||
@ -490,33 +596,42 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_SIMPLE_SMP
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_SIMPLE_SMP``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_SIMPLE_SMP``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPPrioritySimple`
|
||||
algorithm is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
In case this configuration option is defined, then the
|
||||
:ref:`SchedulerSMPPrioritySimple`
|
||||
algorithm is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
|
||||
In case no explicit :ref:`ConfigurationSchedulersClustered`
|
||||
is present, then it is used as the scheduler for up to 32 processors.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-strong-apa
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_STRONG_APA
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_STRONG_APA:
|
||||
@ -524,31 +639,40 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_STRONG_APA
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_STRONG_APA``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_STRONG_APA``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the Strong APA algorithm
|
||||
is made available to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
This scheduler algorithm is not correctly implemented. Do not use it.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
In case this configuration option is defined, then the Strong APA algorithm
|
||||
is made available to the application.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
This scheduler algorithm is only available when RTEMS is built with SMP
|
||||
support enabled.
|
||||
|
||||
This scheduler algorithm is not correctly implemented. Do not use it.
|
||||
|
||||
.. Generated from spec:/acfg/if/scheduler-user
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_SCHEDULER_USER
|
||||
|
||||
.. _CONFIGURE_SCHEDULER_USER:
|
||||
@ -556,42 +680,47 @@ NOTES:
|
||||
CONFIGURE_SCHEDULER_USER
|
||||
------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_SCHEDULER_USER``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_SCHEDULER_USER``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the user shall provide a
|
||||
scheduler algorithm to the application.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
RTEMS allows the application to provide its own task/thread scheduling
|
||||
algorithm. In order to do this, one shall define
|
||||
``CONFIGURE_SCHEDULER_USER`` to indicate the application provides its own
|
||||
scheduling algorithm. If ``CONFIGURE_SCHEDULER_USER`` is defined then the
|
||||
following additional macros shall be defined:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
* ``CONFIGURE_SCHEDULER`` shall be defined to a static definition of
|
||||
the scheduler data structures of the user scheduler.
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* ``CONFIGURE_SCHEDULER_TABLE_ENTRIES`` shall be defined to a scheduler
|
||||
table entry initializer for the user scheduler.
|
||||
In case this configuration option is defined, then the user shall provide a
|
||||
scheduler algorithm to the application.
|
||||
|
||||
* ``CONFIGURE_SCHEDULER_USER_PER_THREAD`` shall be defined to the type of
|
||||
the per-thread information of the user scheduler.
|
||||
.. rubric:: NOTES:
|
||||
|
||||
At this time, the mechanics and requirements for writing a new scheduler
|
||||
are evolving and not fully documented. It is recommended that you look at
|
||||
the existing Deterministic Priority Scheduler in
|
||||
``cpukit/score/src/schedulerpriority*.c`` for guidance. For guidance on
|
||||
the configuration macros, please examine ``cpukit/sapi/include/confdefs.h``
|
||||
for how these are defined for the Deterministic Priority Scheduler.
|
||||
This scheduler configuration option is an advanced configuration option.
|
||||
Think twice before you use it.
|
||||
|
||||
RTEMS allows the application to provide its own task/thread scheduling
|
||||
algorithm. In order to do this, one shall define
|
||||
``CONFIGURE_SCHEDULER_USER`` to indicate the application provides its own
|
||||
scheduling algorithm. If ``CONFIGURE_SCHEDULER_USER`` is defined then the
|
||||
following additional macros shall be defined:
|
||||
|
||||
* ``CONFIGURE_SCHEDULER`` shall be defined to a static definition of
|
||||
the scheduler data structures of the user scheduler.
|
||||
|
||||
* ``CONFIGURE_SCHEDULER_TABLE_ENTRIES`` shall be defined to a scheduler
|
||||
table entry initializer for the user scheduler.
|
||||
|
||||
* ``CONFIGURE_SCHEDULER_USER_PER_THREAD`` shall be defined to the type of
|
||||
the per-thread information of the user scheduler.
|
||||
|
||||
At this time, the mechanics and requirements for writing a new scheduler
|
||||
are evolving and not fully documented. It is recommended that you look at
|
||||
the existing Deterministic Priority Scheduler in
|
||||
``cpukit/score/src/schedulerpriority*.c`` for guidance. For guidance on
|
||||
the configuration macros, please examine ``cpukit/sapi/include/confdefs.h``
|
||||
for how these are defined for the Deterministic Priority Scheduler.
|
||||
|
@ -31,6 +31,10 @@ overflows are detected in hardware.
|
||||
|
||||
.. Generated from spec:/acfg/if/task-stack-allocator
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_TASK_STACK_ALLOCATOR
|
||||
.. index:: task stack allocator
|
||||
|
||||
@ -39,35 +43,45 @@ overflows are detected in hardware.
|
||||
CONFIGURE_TASK_STACK_ALLOCATOR
|
||||
------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``_Workspace_Allocate``, which indicates that task
|
||||
stacks will be allocated from the RTEMS Workspace.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *allocate )( size_t )``.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option initializes the stack allocator
|
||||
allocate handler.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
A correctly configured system shall configure the following to be consistent:
|
||||
The default value is ``_Workspace_Allocate``, which indicates that task
|
||||
stacks will be allocated from the RTEMS Workspace.
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR_INIT`
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* ``CONFIGURE_TASK_STACK_ALLOCATOR``
|
||||
The value of this configuration option initializes the stack allocator
|
||||
allocate handler.
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_DEALLOCATOR`
|
||||
.. rubric:: NOTES:
|
||||
|
||||
A correctly configured system shall configure the following to be consistent:
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR_INIT`
|
||||
|
||||
* ``CONFIGURE_TASK_STACK_ALLOCATOR``
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_DEALLOCATOR`
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *allocate )( size_t )``.
|
||||
|
||||
.. Generated from spec:/acfg/if/task-stack-no-workspace
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE
|
||||
|
||||
.. _CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE:
|
||||
@ -75,26 +89,35 @@ NOTES:
|
||||
CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE
|
||||
------------------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is a boolean feature define.
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE``
|
||||
|
||||
DEFAULT CONFIGURATION:
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
DESCRIPTION:
|
||||
In case this configuration option is defined, then the system is informed
|
||||
that the task stack allocator does not use the RTEMS Workspace.
|
||||
This configuration option is a boolean feature define.
|
||||
|
||||
NOTES:
|
||||
This configuration option may be used if a custom task stack allocator is
|
||||
configured, see :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`.
|
||||
.. rubric:: DEFAULT CONFIGURATION:
|
||||
|
||||
If this configuration option is undefined, then the described feature is not
|
||||
enabled.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
In case this configuration option is defined, then the system is informed
|
||||
that the task stack allocator does not use the RTEMS Workspace.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This configuration option may be used if a custom task stack allocator is
|
||||
configured, see :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`.
|
||||
|
||||
.. Generated from spec:/acfg/if/task-stack-allocator-for-idle
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE
|
||||
.. index:: task stack allocator for IDLE tasks
|
||||
|
||||
@ -103,34 +126,44 @@ NOTES:
|
||||
CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE
|
||||
---------------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``_Stack_Allocator_allocate_for_idle_default``, which
|
||||
indicates that IDLE task stacks will be allocated from an area statically
|
||||
allocated by ``<rtems/confdefs.h>``.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *allocate )( uint32_t, size_t )``.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option is the address for the stack allocator
|
||||
allocate handler used to allocate the task stack of each
|
||||
:term:`IDLE task`.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
This configuration option is independent of the other thread stack allocator
|
||||
configuration options. It is assumed that any memory allocated for the stack
|
||||
of an :term:`IDLE task` will not be from the RTEMS Workspace or the
|
||||
memory statically allocated by default.
|
||||
The default value is ``_Stack_Allocator_allocate_for_idle_default``, which
|
||||
indicates that IDLE task stacks will be allocated from an area statically
|
||||
allocated by ``<rtems/confdefs.h>``.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option is the address for the stack allocator
|
||||
allocate handler used to allocate the task stack of each
|
||||
:term:`IDLE task`.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This configuration option is independent of the other thread stack allocator
|
||||
configuration options. It is assumed that any memory allocated for the stack
|
||||
of an :term:`IDLE task` will not be from the RTEMS Workspace or the
|
||||
memory statically allocated by default.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void *( *allocate )( uint32_t, size_t )``.
|
||||
|
||||
.. Generated from spec:/acfg/if/task-stack-allocator-init
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_INIT
|
||||
|
||||
.. _CONFIGURE_TASK_STACK_ALLOCATOR_INIT:
|
||||
@ -138,35 +171,45 @@ NOTES:
|
||||
CONFIGURE_TASK_STACK_ALLOCATOR_INIT
|
||||
-----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is `NULL <https://en.cppreference.com/w/c/types/NULL>`_.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void ( *initialize )( size_t )`` or to `NULL
|
||||
<https://en.cppreference.com/w/c/types/NULL>`_.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option initializes the stack allocator
|
||||
initialization handler.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
A correctly configured system shall configure the following to be consistent:
|
||||
The default value is `NULL <https://en.cppreference.com/w/c/types/NULL>`_.
|
||||
|
||||
* ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`
|
||||
The value of this configuration option initializes the stack allocator
|
||||
initialization handler.
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_DEALLOCATOR`
|
||||
.. rubric:: NOTES:
|
||||
|
||||
A correctly configured system shall configure the following to be consistent:
|
||||
|
||||
* ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_DEALLOCATOR`
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void ( *initialize )( size_t )`` or to `NULL
|
||||
<https://en.cppreference.com/w/c/types/NULL>`_.
|
||||
|
||||
.. Generated from spec:/acfg/if/task-stack-deallocator
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_TASK_STACK_DEALLOCATOR
|
||||
.. index:: task stack deallocator
|
||||
|
||||
@ -175,35 +218,45 @@ NOTES:
|
||||
CONFIGURE_TASK_STACK_DEALLOCATOR
|
||||
--------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_TASK_STACK_DEALLOCATOR``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_TASK_STACK_DEALLOCATOR``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is ``_Workspace_Free``, which indicates that task stacks
|
||||
will be allocated from the RTEMS Workspace.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a valid function
|
||||
pointer of the type ``void ( *deallocate )( void * )``.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option initializes the stack allocator
|
||||
deallocate handler.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
A correctly configured system shall configure the following to be consistent:
|
||||
The default value is ``_Workspace_Free``, which indicates that task stacks
|
||||
will be allocated from the RTEMS Workspace.
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR_INIT`
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`
|
||||
The value of this configuration option initializes the stack allocator
|
||||
deallocate handler.
|
||||
|
||||
* ``CONFIGURE_TASK_STACK_DEALLOCATOR``
|
||||
.. rubric:: NOTES:
|
||||
|
||||
A correctly configured system shall configure the following to be consistent:
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR_INIT`
|
||||
|
||||
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`
|
||||
|
||||
* ``CONFIGURE_TASK_STACK_DEALLOCATOR``
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a valid function
|
||||
pointer of the type ``void ( *deallocate )( void * )``.
|
||||
|
||||
.. Generated from spec:/acfg/if/task-stack-from-alloc
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\clearpage
|
||||
|
||||
.. index:: CONFIGURE_TASK_STACK_FROM_ALLOCATOR
|
||||
.. index:: task stack allocator
|
||||
|
||||
@ -212,26 +265,31 @@ NOTES:
|
||||
CONFIGURE_TASK_STACK_FROM_ALLOCATOR
|
||||
-----------------------------------
|
||||
|
||||
CONSTANT:
|
||||
``CONFIGURE_TASK_STACK_FROM_ALLOCATOR``
|
||||
.. rubric:: CONSTANT:
|
||||
|
||||
OPTION TYPE:
|
||||
This configuration option is an initializer define.
|
||||
``CONFIGURE_TASK_STACK_FROM_ALLOCATOR``
|
||||
|
||||
DEFAULT VALUE:
|
||||
The default value is a macro which supports the system heap allocator.
|
||||
.. rubric:: OPTION TYPE:
|
||||
|
||||
VALUE CONSTRAINTS:
|
||||
The value of this configuration option shall be defined to a macro which
|
||||
accepts exactly one parameter and returns an unsigned integer. The
|
||||
parameter will be an allocation size and the macro shall return this size
|
||||
plus the overhead of the allocator to manage an allocation request for this
|
||||
size.
|
||||
This configuration option is an initializer define.
|
||||
|
||||
DESCRIPTION:
|
||||
The value of this configuration option is used to calculate the task stack
|
||||
space size.
|
||||
.. rubric:: DEFAULT VALUE:
|
||||
|
||||
NOTES:
|
||||
This configuration option may be used if a custom task stack allocator is
|
||||
configured, see :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`.
|
||||
The default value is a macro which supports the system heap allocator.
|
||||
|
||||
.. rubric:: DESCRIPTION:
|
||||
|
||||
The value of this configuration option is used to calculate the task stack
|
||||
space size.
|
||||
|
||||
.. rubric:: NOTES:
|
||||
|
||||
This configuration option may be used if a custom task stack allocator is
|
||||
configured, see :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`.
|
||||
|
||||
.. rubric:: CONSTRAINTS:
|
||||
|
||||
The value of the configuration option shall be defined to a macro which accepts
|
||||
exactly one parameter and returns an unsigned integer. The parameter will be
|
||||
an allocation size and the macro shall return this size plus the overhead of
|
||||
the allocator to manage an allocation request for this size.
|
||||
|
Loading…
x
Reference in New Issue
Block a user