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:
Sebastian Huber 2021-11-16 08:17:31 +01:00
parent 1badb5f479
commit 1c8ce332e2
14 changed files with 4292 additions and 3014 deletions

View File

@ -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:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_LIBBLOCK``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Block Device Cache is
initialized during system initialization.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_BDBUF_BUFFER_MAX_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 4096.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be an integral multiple of
:ref:`CONFIGURE_BDBUF_BUFFER_MIN_SIZE`.
DESCRIPTION:
The value of this configuration option defines the maximum size of a buffer
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 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:
.. rubric:: CONSTANT:
``CONFIGURE_BDBUF_BUFFER_MIN_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 512.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the minimum size of a buffer
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 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:
.. rubric:: CONSTANT:
``CONFIGURE_BDBUF_CACHE_MEMORY_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 32768.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `SIZE_MAX
<https://en.cppreference.com/w/c/types/limits>`_.
DESCRIPTION:
The value of this configuration option defines the size of the cache memory
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 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:
.. rubric:: CONSTANT:
``CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the maximum blocks per
read-ahead request.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_BDBUF_MAX_WRITE_BLOCKS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 16.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the maximum blocks per write
request.
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 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:
.. rubric:: CONSTANT:
``CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 15.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid Classic API task
.. 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.
DESCRIPTION:
The value of this configuration option defines the read-ahead task priority.
NOTES:
None.
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_BDBUF_TASK_STACK_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is :c:macro:`RTEMS_MINIMUM_STACK_SIZE`.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
* 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.
* 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>`_.
DESCRIPTION:
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:
.. rubric:: CONSTANT:
``CONFIGURE_SWAPOUT_BLOCK_HOLD``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 1000.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the swapout task maximum block
hold time in milliseconds.
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 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:
.. rubric:: CONSTANT:
``CONFIGURE_SWAPOUT_SWAP_PERIOD``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 250.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the swapout task swap period
in milliseconds.
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 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:
.. rubric:: CONSTANT:
``CONFIGURE_SWAPOUT_TASK_PRIORITY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 15.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid Classic API task
.. 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.
DESCRIPTION:
The value of this configuration option defines the swapout task priority.
NOTES:
None.
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_SWAPOUT_WORKER_TASKS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the swapout worker task count.
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 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:
.. rubric:: CONSTANT:
``CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 15.
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.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines the swapout worker task
priority.
NOTES:
None.
.. 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.

View File

@ -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,20 +41,20 @@ configuration options may have a BSP-specific setting which is defined by
BSP_IDLE_TASK_BODY
------------------
CONSTANT:
.. rubric:: CONSTANT:
``BSP_IDLE_TASK_BODY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall be defined to a valid function
pointer of the type ``void *( *idle_body )( uintptr_t )``.
.. rubric:: DESCRIPTION:
DESCRIPTION:
If
* this configuration option is defined by the BSP
@ -60,13 +64,23 @@ DESCRIPTION:
then the value of this configuration option defines the default value of
:ref:`CONFIGURE_IDLE_TASK_BODY`.
NOTES:
.. 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,27 +88,20 @@ NOTES:
BSP_IDLE_TASK_STACK_SIZE
------------------------
CONSTANT:
.. rubric:: CONSTANT:
``BSP_IDLE_TASK_STACK_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to a BSP-specific and
application-specific minimum 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>`_.
DESCRIPTION:
If
* this configuration option is defined by the BSP
@ -104,11 +111,24 @@ DESCRIPTION:
then the value of this configuration option defines the default value of
:ref:`CONFIGURE_IDLE_TASK_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 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,20 +136,20 @@ NOTES:
BSP_INITIAL_EXTENSION
---------------------
CONSTANT:
.. rubric:: CONSTANT:
``BSP_INITIAL_EXTENSION``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall be a list of initializers for
structures of type :c:type:`rtems_extensions_table`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
If
* this configuration option is defined by the BSP
@ -139,12 +159,22 @@ DESCRIPTION:
then the value of this configuration option is used to initialize the table
of initial user extensions.
NOTES:
.. 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,30 +182,20 @@ NOTES:
BSP_INTERRUPT_STACK_SIZE
------------------------
CONSTANT:
.. rubric:: CONSTANT:
``BSP_INTERRUPT_STACK_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to a BSP-specific and
application-specific minimum 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>`_.
* It shall be aligned according to
:c:macro:`CPU_INTERRUPT_STACK_ALIGNMENT`.
DESCRIPTION:
If
* this configuration option is defined by the BSP
@ -185,11 +205,27 @@ DESCRIPTION:
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,20 +233,20 @@ NOTES:
CONFIGURE_BSP_PREREQUISITE_DRIVERS
----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_BSP_PREREQUISITE_DRIVERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is BSP-specific.
VALUE CONSTRAINTS:
The value of this configuration option shall be a list of initializers for
structures of type :c:type:`rtems_extensions_table`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
If
* this configuration option is defined by the BSP
@ -220,13 +256,23 @@ DESCRIPTION:
then the value of this configuration option is used to add BSP-provided
prerequisite drivers to the Device Driver Table.
NOTES:
.. 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,17 +280,21 @@ NOTES:
CONFIGURE_DISABLE_BSP_SETTINGS
------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_DISABLE_BSP_SETTINGS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the following BSP related
configuration options are undefined:
@ -260,11 +310,12 @@ DESCRIPTION:
* :ref:`CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK`
NOTES:
None.
.. Generated from spec:/acfg/if/malloc-bsp-supports-sbrk
.. raw:: latex
\clearpage
.. index:: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
.. _CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK:
@ -272,17 +323,21 @@ NOTES:
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
If
* this configuration option is defined by the BSP
@ -294,6 +349,7 @@ DESCRIPTION:
memory allocation functions are unable to allocate memory, they will call the
BSP supplied :c:func:`sbrk` function to obtain more memory.
NOTES:
.. rubric:: NOTES:
This option should not be defined by the application. Only the BSP knows how
it allocates memory to the C Program Heap.

View File

@ -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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_BARRIERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Barriers that can be concurrently active.
NOTES:
.. rubric:: 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 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Message Queues that can be concurrently active.
NOTES:
.. rubric:: 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 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_PARTITIONS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Partitions that can be concurrently active.
NOTES:
.. rubric:: 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 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_PERIODS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Periods that can be concurrently active.
NOTES:
.. rubric:: 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 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_PORTS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Ports that can be concurrently active.
NOTES:
.. rubric:: 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 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_REGIONS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Regions that can be concurrently active.
NOTES:
.. rubric:: 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 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,37 +352,25 @@ NOTES:
CONFIGURE_MAXIMUM_SEMAPHORES
----------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_SEMAPHORES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Semaphore that can be concurrently active.
NOTES:
.. rubric:: NOTES:
This object class can be configured in unlimited allocation mode, see
:ref:`ConfigUnlimitedObjects`.
@ -332,8 +378,29 @@ NOTES:
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,41 +408,25 @@ NOTES:
CONFIGURE_MAXIMUM_TASKS
-----------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_TASKS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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>`_.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Tasks that can be concurrently active.
NOTES:
.. rubric:: NOTES:
This object class can be configured in unlimited allocation mode, see
:ref:`ConfigUnlimitedObjects`.
@ -392,8 +443,34 @@ NOTES:
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,34 +478,27 @@ NOTES:
CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
-------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `SIZE_MAX
<https://en.cppreference.com/w/c/types/limits>`_.
* It shall be an integral multiple of
:c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT`.
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.
NOTES:
.. rubric:: NOTES:
This configuration option can be used to reserve space for the dynamic linking
of modules with thread-local storage objects.
@ -446,8 +516,24 @@ NOTES:
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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_TIMERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API Timers that can be concurrently active.
NOTES:
.. rubric:: 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 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_USER_EXTENSIONS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of Classic
API User Extensions that can be concurrently active.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to :ref:`CONFIGURE_MAXIMUM_TASKS`.
DESCRIPTION:
The value of this configuration option defines the minimum count of Classic
API Tasks which are constructed by :c:func:`rtems_task_construct`.
NOTES:
.. 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`.

View File

@ -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:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_ARGUMENTS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall be convertible to an integer
of type :c:type:`rtems_task_argument`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines task argument of the Classic
API initialization task.
NOTES:
None.
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_ATTRIBUTES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is :c:macro:`RTEMS_DEFAULT_ATTRIBUTES`.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid task attribute set.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines the task attributes of the
Classic API initialization task.
NOTES:
None.
.. 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,31 +108,27 @@ NOTES:
CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: 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.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
* It shall be defined using :c:func:`RTEMS_TASK_STORAGE_SIZE`.
DESCRIPTION:
The value of this configuration option defines the task storage size of the
Classic API initialization task.
NOTES:
.. rubric:: NOTES:
If this configuration option is specified, then
* a task storage area of the specified size is statically allocated by
@ -144,8 +156,22 @@ NOTES:
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:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_ENTRY_POINT``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is ``Init``.
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 )``.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option initializes the entry point of the
Classic API initialization task.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_INITIAL_MODES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
In SMP configurations, the default value is :c:macro:`RTEMS_DEFAULT_MODES`
otherwise the default value is :c:macro:`RTEMS_NO_PREEMPT`.
VALUE CONSTRAINTS:
The value of this configuration option shall be a valid task mode set.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines the initial execution mode of
the Classic API initialization task.
NOTES:
None.
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_NAME``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``.
VALUE CONSTRAINTS:
The value of this configuration option shall be convertible to an integer
of type :c:type:`rtems_name`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines the name of the Classic API
initialization task.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_PRIORITY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 1.
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.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines the initial priority of the
Classic API initialization task.
NOTES:
None.
.. 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,31 +329,25 @@ NOTES:
CONFIGURE_INIT_TASK_STACK_SIZE
------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_INIT_TASK_STACK_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to
:ref:`CONFIGURE_MINIMUM_TASK_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>`_.
DESCRIPTION:
The value of this configuration option defines the task stack size of the
Classic API initialization task.
NOTES:
.. rubric:: NOTES:
The
* ``CONFIGURE_INIT_TASK_STACK_SIZE`` and
@ -304,8 +356,24 @@ NOTES:
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,21 +381,26 @@ NOTES:
CONFIGURE_RTEMS_INIT_TASKS_TABLE
--------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_RTEMS_INIT_TASKS_TABLE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then exactly one Classic API
initialization task is configured.
NOTES:
.. rubric:: NOTES:
The application shall define exactly one of the following configuration
options

View File

@ -1,7 +1,7 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
.. Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
.. Copyright (C) 1988, 2021 On-Line Applications Research Corporation (OAR)
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
@ -28,6 +28,10 @@ Note that network device drivers are not covered by the following options.
.. Generated from spec:/acfg/if/appl-does-not-need-clock-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
.. _CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER:
@ -35,21 +39,26 @@ Note that network device drivers are not covered by the following options.
CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
------------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then a Clock Driver may be
initialized during system initialization.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then **no** Clock Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
This configuration parameter is intended to prevent the common user error
of using the Hello World example as the baseline for an application and
leaving out a clock tick source.
@ -66,6 +75,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-extra-drivers
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_EXTRA_DRIVERS
.. _CONFIGURE_APPLICATION_EXTRA_DRIVERS:
@ -73,32 +86,42 @@ NOTES:
CONFIGURE_APPLICATION_EXTRA_DRIVERS
-----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is the empty list.
VALUE CONSTRAINTS:
The value of this configuration option shall be a list of initializers for
structures of type :c:type:`rtems_driver_address_table`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option is used to initialize the Device
Driver Table.
NOTES:
.. rubric:: NOTES:
The value of this configuration option is placed after the entries of other
device driver configuration options.
See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative
placement of application device driver initializers.
.. rubric:: CONSTRAINTS:
The value of the configuration option shall be a list of initializers for
structures of type :c:type:`rtems_driver_address_table`.
.. Generated from spec:/acfg/if/appl-needs-ata-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER:
@ -106,21 +129,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
--------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the ATA Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
Most BSPs do not include support for an ATA Driver.
If this option is defined and the BSP does not have this device driver, then
@ -128,6 +156,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-clock-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER:
@ -135,21 +167,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
----------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Clock Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
The Clock Driver is responsible for providing a regular interrupt
which invokes a clock tick directive.
@ -165,6 +202,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-console-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER:
@ -172,21 +213,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Console Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
The Console Driver is responsible for providing the :file:`/dev/console`
device file. This device is used to initialize the standard input, output,
and error file descriptors.
@ -206,6 +252,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-framebuffer-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER:
@ -213,21 +263,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
-----------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Frame Buffer Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
Most BSPs do not include support for a Frame Buffer Driver. This is
because many boards do not include the required hardware.
@ -236,6 +291,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-ide-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER:
@ -243,21 +302,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
--------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the IDE Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
Most BSPs do not include support for an IDE Driver.
If this option is defined and the BSP does not have this device driver, then
@ -265,6 +329,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-null-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
.. index:: /dev/null
@ -273,25 +341,34 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
---------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the :file:`/dev/null`
Driver is initialized during system initialization.
NOTES:
.. rubric:: NOTES:
This device driver is supported by all BSPs.
.. Generated from spec:/acfg/if/appl-needs-rtc-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER:
@ -299,21 +376,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
--------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Real-Time Clock Driver
is initialized during system initialization.
NOTES:
.. rubric:: NOTES:
Most BSPs do not include support for a real-time clock (RTC). This is because
many boards do not include the required hardware.
@ -322,6 +404,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-simple-console-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER:
@ -329,21 +415,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
-------------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Simple Console Driver
is initialized during system initialization.
NOTES:
.. rubric:: NOTES:
This device driver is responsible for providing the :file:`/dev/console`
device file. This device is used to initialize the standard input, output,
and error file descriptors.
@ -367,6 +458,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-simple-task-console-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER:
@ -374,21 +469,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
------------------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Simple Task Console
Driver is initialized during system initialization.
NOTES:
.. rubric:: NOTES:
This device driver is responsible for providing the :file:`/dev/console`
device file. This device is used to initialize the standard input, output,
and error file descriptors.
@ -421,6 +521,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-stub-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER:
@ -428,26 +532,35 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
---------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Stub Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
This device driver simply provides entry points that return successful and
is primarily a test fixture. It is supported by all BSPs.
.. Generated from spec:/acfg/if/appl-needs-timer-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER:
@ -455,21 +568,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
----------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Benchmark Timer Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
The Benchmark Timer Driver is intended for the benchmark tests of the RTEMS
Testsuite. Applications should not use this driver.
@ -485,6 +603,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-watchdog-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER:
@ -492,21 +614,26 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
-------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Watchdog Driver is
initialized during system initialization.
NOTES:
.. rubric:: NOTES:
Most BSPs do not include support for a watchdog device driver. This is
because many boards do not include the required hardware.
@ -515,6 +642,10 @@ NOTES:
.. Generated from spec:/acfg/if/appl-needs-zero-driver
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
.. index:: /dev/zero
@ -523,25 +654,34 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
---------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the :file:`/dev/zero`
Driver is initialized during system initialization.
NOTES:
.. rubric:: NOTES:
This device driver is supported by all BSPs.
.. Generated from spec:/acfg/if/appl-prerequisite-drivers
.. raw:: latex
\clearpage
.. index:: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
.. _CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS:
@ -549,24 +689,25 @@ NOTES:
CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is the empty list.
VALUE CONSTRAINTS:
The value of this configuration option shall be a list of initializers for
structures of type :c:type:`rtems_driver_address_table`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option is used to initialize the Device
Driver Table.
NOTES:
.. rubric:: NOTES:
The value of this configuration option is placed after the entries defined by
:ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
configuration options.
@ -574,8 +715,17 @@ NOTES:
See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
of application device driver initializers.
.. rubric:: CONSTRAINTS:
The value of the configuration option shall be a list of initializers for
structures of type :c:type:`rtems_driver_address_table`.
.. Generated from spec:/acfg/if/ata-driver-task-priority
.. raw:: latex
\clearpage
.. index:: CONFIGURE_ATA_DRIVER_TASK_PRIORITY
.. _CONFIGURE_ATA_DRIVER_TASK_PRIORITY:
@ -583,29 +733,39 @@ NOTES:
CONFIGURE_ATA_DRIVER_TASK_PRIORITY
----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_ATA_DRIVER_TASK_PRIORITY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 140.
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.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines the ATA task priority.
NOTES:
.. rubric:: NOTES:
This configuration option is only evaluated if the configuration option
:ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER` is defined.
.. 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/exception-to-signal-mapping
.. raw:: latex
\clearpage
.. index:: CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
.. _CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING:
@ -613,21 +773,26 @@ NOTES:
CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
-------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the machine exception to
POSIX signal mapping is configured during system initialization.
NOTES:
.. rubric:: NOTES:
This device driver is responsible for setting up a mapping from machine
exceptions to POSIX signals so that applications may consume them and alter
task execution as necessary.
@ -636,6 +801,10 @@ NOTES:
.. Generated from spec:/acfg/if/max-drivers
.. raw:: latex
\clearpage
.. index:: CONFIGURE_MAXIMUM_DRIVERS
.. _CONFIGURE_MAXIMUM_DRIVERS:
@ -643,13 +812,16 @@ NOTES:
CONFIGURE_MAXIMUM_DRIVERS
-------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_DRIVERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
This is computed by default, and is set to the number of statically
configured device drivers configured using the following configuration
options:
@ -688,24 +860,26 @@ DEFAULT VALUE:
* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be less than or equal to `SIZE_MAX
<https://en.cppreference.com/w/c/types/limits>`_.
* It shall be greater than or equal than the number of statically
configured device drivers.
* 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.
DESCRIPTION:
The value of this configuration option defines the number of device drivers.
NOTES:
.. rubric:: NOTES:
If the application will dynamically install device drivers, then the
configuration option value shall be larger than the number of statically
configured device drivers.
.. rubric:: CONSTRAINTS:
The following constraints apply to this configuration option:
* 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 greater than or equal than the
number of statically configured device drivers.
* 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.

View File

@ -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,17 +37,21 @@ This section describes configuration options related to the event recording.
CONFIGURE_RECORD_EXTENSIONS_ENABLED
-----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_RECORD_EXTENSIONS_ENABLED``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case
* this configuration option is defined
@ -52,12 +60,17 @@ DESCRIPTION:
then the event record extensions are enabled.
NOTES:
.. 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,17 +78,21 @@ NOTES:
CONFIGURE_RECORD_FATAL_DUMP_BASE64
----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_RECORD_FATAL_DUMP_BASE64``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case
* this configuration option is defined
@ -87,11 +104,16 @@ DESCRIPTION:
then the event records are dumped in Base64 encoding in a fatal error
extension (see :ref:`Terminate`).
NOTES:
.. 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,17 +121,21 @@ NOTES:
CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB
---------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case
* this configuration option is defined
@ -119,12 +145,17 @@ DESCRIPTION:
then the event records are compressed by zlib and dumped in Base64 encoding
in a fatal error extension (see :ref:`Terminate`).
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to 16.
* It shall be less than or equal to `SIZE_MAX
<https://en.cppreference.com/w/c/types/limits>`_.
* It shall be a power of two.
* 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.
DESCRIPTION:
The value of this configuration option defines the event record item count
per processor.
NOTES:
.. rubric:: 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.
.. 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

View File

@ -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,24 +38,25 @@ This section describes configuration options related to the idle tasks.
CONFIGURE_IDLE_TASK_BODY
------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_IDLE_TASK_BODY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: 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``.
VALUE CONSTRAINTS:
The value of this configuration option shall be defined to a valid function
pointer of the type ``void *( *idle_body )( uintptr_t )``.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option initializes the IDLE thread body.
NOTES:
.. 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.
@ -59,8 +64,17 @@ NOTES:
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,23 +82,28 @@ NOTES:
CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
-------------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the user is assumed to
provide one or more initialization tasks.
DESCRIPTION:
.. rubric:: 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.
NOTES:
.. rubric:: 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
@ -109,6 +128,10 @@ NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_IDLE_TASK_STACK_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to a BSP-specific and
application-specific minimum 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>`_.
DESCRIPTION:
The value of this configuration option defines the task stack size for an
IDLE task.
NOTES:
.. 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>`_.

View File

@ -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:
.. rubric:: CONSTANT:
``CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
* 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>`_.
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`.
NOTES:
.. 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,22 +93,27 @@ NOTES:
CONFIGURE_MP_APPLICATION
------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MP_APPLICATION``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the multiprocessing services
are not initialized.
DESCRIPTION:
.. 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.
NOTES:
.. 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
@ -102,6 +121,10 @@ NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 32.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the maximum number of
concurrently active global objects in a multiprocessor system.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_MP_MAXIMUM_NODES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 2.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the maximum number of nodes in
a multiprocessor system.
NOTES:
.. 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,30 +223,26 @@ NOTES:
CONFIGURE_MP_MAXIMUM_PROXIES
----------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MP_MAXIMUM_PROXIES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 32.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the maximum number of
concurrently active thread/task proxies on this node in a multiprocessor
system.
NOTES:
.. 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
@ -214,8 +251,21 @@ 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-mpci-table-pointer
.. raw:: latex
\clearpage
.. index:: CONFIGURE_MP_MPCI_TABLE_POINTER
.. _CONFIGURE_MP_MPCI_TABLE_POINTER:
@ -223,24 +273,25 @@ NOTES:
CONFIGURE_MP_MPCI_TABLE_POINTER
-------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MP_MPCI_TABLE_POINTER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is ``&MPCI_table``.
VALUE CONSTRAINTS:
The value of this configuration option shall be a pointer to
:c:type:`rtems_mpci_table`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option initializes the MPCI Configuration
Table.
NOTES:
.. 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.
@ -248,8 +299,17 @@ NOTES:
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,29 +317,25 @@ NOTES:
CONFIGURE_MP_NODE_NUMBER
------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MP_NODE_NUMBER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is ``NODE_NUMBER``.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `UINT32_MAX
<https://en.cppreference.com/w/c/types/integer>`_.
DESCRIPTION:
The value of this configuration option defines the node number of this node
in a multiprocessor system.
NOTES:
.. 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
@ -287,3 +343,12 @@ 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>`_.

View File

@ -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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_KEYS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of POSIX
API Keys that can be concurrently active.
NOTES:
.. rubric:: 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 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is
:ref:`CONFIGURE_MAXIMUM_POSIX_KEYS` *
( :ref:`CONFIGURE_MAXIMUM_TASKS` +
:ref:`CONFIGURE_MAXIMUM_POSIX_THREADS` ).
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
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.
NOTES:
.. rubric:: NOTES:
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.
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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>`_.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of POSIX
API Message Queues that can be concurrently active.
NOTES:
.. rubric:: 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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* 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.
* 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>`_.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of POSIX
API Queued Signals that can be concurrently active.
NOTES:
.. rubric:: NOTES:
Unlimited objects are not available for queued signals.
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,41 +267,25 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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>`_.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of POSIX
API Named Semaphores that can be concurrently active.
NOTES:
.. rubric:: NOTES:
This object class can be configured in unlimited allocation mode, see
:ref:`ConfigUnlimitedObjects`.
@ -267,8 +294,34 @@ NOTES:
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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_SHMS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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>`_.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of POSIX
API Shared Memory objects that can be concurrently active.
NOTES:
.. rubric:: 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,36 +386,25 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_THREADS
-------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_THREADS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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>`_.
DESCRIPTION:
The value of this configuration option defines the maximum number of POSIX
API Threads that can be concurrently active.
NOTES:
.. rubric:: NOTES:
This object class can be configured in unlimited allocation mode, see
:ref:`ConfigUnlimitedObjects`.
@ -366,8 +418,29 @@ NOTES:
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:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_POSIX_TIMERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 0.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to 65535.
* 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.
* 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.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number of POSIX
API Timers that can be concurrently active.
NOTES:
.. rubric:: 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.
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is two times the value of
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. 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>`_.
* It shall be greater than or equal to a BSP-specific and
application-specific minimum value.
DESCRIPTION:
The value of this configuration option defines the minimum stack size in
bytes for every POSIX thread in the system.
NOTES:
None.
.. 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.

View File

@ -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:
.. rubric:: CONSTANT:
``CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is ``POSIX_Init``.
VALUE CONSTRAINTS:
The value of this configuration option shall be defined to a valid function
pointer of the type ``void *( *entry_point )( void * )``.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option initializes the entry point of the
POSIX API initialization thread.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is :ref:`CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE`.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to
:ref:`CONFIGURE_MINIMUM_TASK_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>`_.
DESCRIPTION:
The value of this configuration option defines the thread stack size of the
POSIX API initialization thread.
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 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,21 +121,26 @@ NOTES:
CONFIGURE_POSIX_INIT_THREAD_TABLE
---------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_POSIX_INIT_THREAD_TABLE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then exactly one POSIX
initialization thread is configured.
NOTES:
.. rubric:: NOTES:
The application shall define exactly one of the following configuration
options

View File

@ -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:
.. rubric:: CONSTANT:
``CONFIGURE_CBS_MAXIMUM_SERVERS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is :ref:`CONFIGURE_MAXIMUM_TASKS`.
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be greater than or equal to zero.
* It shall be less than or equal to `SIZE_MAX
<https://en.cppreference.com/w/c/types/limits>`_.
* 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.
DESCRIPTION:
The value of this configuration option defines the maximum number Constant
Bandwidth Servers that can be concurrently active.
NOTES:
.. 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,20 +110,20 @@ NOTES:
CONFIGURE_MAXIMUM_PRIORITY
--------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_MAXIMUM_PRIORITY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is 255.
VALUE CONSTRAINTS:
The value of this configuration option shall be equal to 3, 7, 31, 63, 127,
or 255.
.. rubric:: DESCRIPTION:
DESCRIPTION:
For the following schedulers
* :ref:`SchedulerPriority`, which is the default in uniprocessor
@ -128,7 +141,8 @@ DESCRIPTION:
these schedulers. For all other schedulers provided by RTEMS, this
configuration option has no effect.
NOTES:
.. rubric:: NOTES:
The numerically greatest priority is the logically lowest priority in the
system and will thus be used by the IDLE task.
@ -146,8 +160,17 @@ NOTES:
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:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_ASSIGNMENTS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: 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).
VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following
constraints:
.. rubric:: DESCRIPTION:
* It shall be a list of the following macros:
* ``RTEMS_SCHEDULER_ASSIGN( processor_index, attributes )``
* ``RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER``
* It shall be a list of exactly :ref:`CONFIGURE_MAXIMUM_PROCESSORS`
elements.
DESCRIPTION:
The value of this configuration option is used to initialize the initial
scheduler to processor assignments.
NOTES:
.. rubric:: NOTES:
This configuration option is only evaluated in SMP configurations.
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,22 +230,27 @@ NOTES:
CONFIGURE_SCHEDULER_CBS
-----------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_CBS``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerCBS`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -221,6 +259,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-edf
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_EDF
.. _CONFIGURE_SCHEDULER_EDF:
@ -228,22 +270,27 @@ NOTES:
CONFIGURE_SCHEDULER_EDF
-----------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_EDF``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerEDF`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -252,6 +299,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-edf-smp
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_EDF_SMP
.. _CONFIGURE_SCHEDULER_EDF_SMP:
@ -259,22 +310,27 @@ NOTES:
CONFIGURE_SCHEDULER_EDF_SMP
---------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_EDF_SMP``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerSMPEDF`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -290,6 +346,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-name
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_NAME
.. _CONFIGURE_SCHEDULER_NAME:
@ -297,13 +357,16 @@ NOTES:
CONFIGURE_SCHEDULER_NAME
------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_NAME``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an integer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is
* ``"MEDF"`` for the :ref:`SchedulerSMPEDF`,
@ -322,15 +385,13 @@ DEFAULT VALUE:
* ``"UPS "`` for the :ref:`SchedulerPrioritySimple`.
VALUE CONSTRAINTS:
The value of this configuration option shall be convertible to an integer
of type :c:type:`rtems_name`.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option defines the name of the default
scheduler.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -338,8 +399,17 @@ NOTES:
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,22 +417,27 @@ NOTES:
CONFIGURE_SCHEDULER_PRIORITY
----------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_PRIORITY``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerPriority`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -378,6 +453,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-priority-affinity-smp
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
.. _CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP:
@ -385,22 +464,27 @@ NOTES:
CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
-----------------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerSMPPriorityAffinity`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -415,6 +499,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-priority-smp
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP
.. _CONFIGURE_SCHEDULER_PRIORITY_SMP:
@ -422,22 +510,27 @@ NOTES:
CONFIGURE_SCHEDULER_PRIORITY_SMP
--------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_PRIORITY_SMP``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerSMPPriority`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -452,6 +545,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-simple
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_SIMPLE
.. _CONFIGURE_SCHEDULER_SIMPLE:
@ -459,22 +556,27 @@ NOTES:
CONFIGURE_SCHEDULER_SIMPLE
--------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_SIMPLE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerPrioritySimple`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -483,6 +585,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-simple-smp
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP
.. _CONFIGURE_SCHEDULER_SIMPLE_SMP:
@ -490,22 +596,27 @@ NOTES:
CONFIGURE_SCHEDULER_SIMPLE_SMP
------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_SIMPLE_SMP``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the
:ref:`SchedulerSMPPrioritySimple`
algorithm is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -517,6 +628,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-strong-apa
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_STRONG_APA
.. _CONFIGURE_SCHEDULER_STRONG_APA:
@ -524,21 +639,26 @@ NOTES:
CONFIGURE_SCHEDULER_STRONG_APA
------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_STRONG_APA``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the Strong APA algorithm
is made available to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
@ -549,6 +669,10 @@ NOTES:
.. Generated from spec:/acfg/if/scheduler-user
.. raw:: latex
\clearpage
.. index:: CONFIGURE_SCHEDULER_USER
.. _CONFIGURE_SCHEDULER_USER:
@ -556,21 +680,26 @@ NOTES:
CONFIGURE_SCHEDULER_USER
------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_SCHEDULER_USER``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. rubric:: DESCRIPTION:
In case this configuration option is defined, then the user shall provide a
scheduler algorithm to the application.
NOTES:
.. rubric:: NOTES:
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.

View File

@ -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,25 +43,26 @@ overflows are detected in hardware.
CONFIGURE_TASK_STACK_ALLOCATOR
------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_TASK_STACK_ALLOCATOR``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is ``_Workspace_Allocate``, which indicates that task
stacks will be allocated from the RTEMS Workspace.
VALUE CONSTRAINTS:
The value of this configuration option shall be defined to a valid function
pointer of the type ``void *( *allocate )( size_t )``.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option initializes the stack allocator
allocate handler.
NOTES:
.. rubric:: NOTES:
A correctly configured system shall configure the following to be consistent:
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR_INIT`
@ -66,8 +71,17 @@ NOTES:
* :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:
.. rubric:: CONSTANT:
``CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
.. rubric:: DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
.. 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.
NOTES:
.. 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:
.. rubric:: CONSTANT:
``CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: 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>``.
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 )``.
.. rubric:: DESCRIPTION:
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`.
NOTES:
.. 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,25 +171,25 @@ NOTES:
CONFIGURE_TASK_STACK_ALLOCATOR_INIT
-----------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is `NULL <https://en.cppreference.com/w/c/types/NULL>`_.
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>`_.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option initializes the stack allocator
initialization handler.
NOTES:
.. rubric:: NOTES:
A correctly configured system shall configure the following to be consistent:
* ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
@ -165,8 +198,18 @@ NOTES:
* :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,25 +218,26 @@ NOTES:
CONFIGURE_TASK_STACK_DEALLOCATOR
--------------------------------
CONSTANT:
.. rubric:: CONSTANT:
``CONFIGURE_TASK_STACK_DEALLOCATOR``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is ``_Workspace_Free``, which indicates that task stacks
will be allocated from the RTEMS Workspace.
VALUE CONSTRAINTS:
The value of this configuration option shall be defined to a valid function
pointer of the type ``void ( *deallocate )( void * )``.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option initializes the stack allocator
deallocate handler.
NOTES:
.. rubric:: NOTES:
A correctly configured system shall configure the following to be consistent:
* :ref:`CONFIGURE_TASK_STACK_ALLOCATOR_INIT`
@ -202,8 +246,17 @@ NOTES:
* ``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:
.. rubric:: CONSTANT:
``CONFIGURE_TASK_STACK_FROM_ALLOCATOR``
OPTION TYPE:
.. rubric:: OPTION TYPE:
This configuration option is an initializer define.
DEFAULT VALUE:
.. rubric:: DEFAULT VALUE:
The default value is a macro which supports the system heap allocator.
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.
.. rubric:: DESCRIPTION:
DESCRIPTION:
The value of this configuration option is used to calculate the task stack
space size.
NOTES:
.. 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.