[rtems-docs commit] c-user: Document all configuration options
Sebastian Huber
sebh at rtems.org
Wed Apr 1 07:03:26 UTC 2020
Module: rtems-docs
Branch: master
Commit: 4032c96da9bce3d9a8224ffb06c278206d626241
Changeset: http://git.rtems.org/rtems-docs/commit/?id=4032c96da9bce3d9a8224ffb06c278206d626241
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Tue Mar 31 16:42:43 2020 +0200
c-user: Document all configuration options
Close #2806.
---
c-user/config/device-driver.rst | 81 ++++++++++++
c-user/config/filesystem.rst | 242 ++++++++++++++++++++++++++++++++++++
c-user/config/general.rst | 95 ++++++++++++++
c-user/config/mpci.rst | 37 ++++++
c-user/config/posix-api.rst | 45 +++++++
c-user/config/scheduler-general.rst | 108 ++++++++++++++++
c-user/config/task-stack-alloc.rst | 58 +++++++++
7 files changed, 666 insertions(+)
diff --git a/c-user/config/device-driver.rst b/c-user/config/device-driver.rst
index 0a18b2d..627c346 100644
--- a/c-user/config/device-driver.rst
+++ b/c-user/config/device-driver.rst
@@ -76,6 +76,33 @@ NOTES:
See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative
placement of application device driver initializers.
+.. index:: CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
+
+.. _CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER:
+
+CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
+--------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the ATA Driver is
+ initialized during system initialization.
+
+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
+ the user will get a link time error for an undefined symbol.
+
.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER:
@@ -178,6 +205,33 @@ NOTES:
If this option is defined and the BSP does not have this device driver, then
the user will get a link time error for an undefined symbol.
+.. index:: CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
+
+.. _CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER:
+
+CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
+--------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the IDE Driver is
+ initialized during system initialization.
+
+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
+ the user will get a link time error for an undefined symbol.
+
.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
.. index:: /dev/null
@@ -471,6 +525,33 @@ NOTES:
See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
of application device driver initializers.
+.. index:: CONFIGURE_ATA_DRIVER_TASK_PRIORITY
+
+.. _CONFIGURE_ATA_DRIVER_TASK_PRIORITY:
+
+CONFIGURE_ATA_DRIVER_TASK_PRIORITY
+----------------------------------
+
+CONSTANT:
+ ``CONFIGURE_ATA_DRIVER_TASK_PRIORITY``
+
+OPTION TYPE:
+ This configuration option is an integer define.
+
+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 is scheduler-specific.
+
+DESCRIPTION:
+ The value of this configuration option defines the ATA task priority.
+
+NOTES:
+ This configuration option is only evaluated if the configuration option
+ :ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER` is defined.
+
.. index:: CONFIGURE_MAXIMUM_DRIVERS
.. _CONFIGURE_MAXIMUM_DRIVERS:
diff --git a/c-user/config/filesystem.rst b/c-user/config/filesystem.rst
index b4bccc9..ef37307 100644
--- a/c-user/config/filesystem.rst
+++ b/c-user/config/filesystem.rst
@@ -1,5 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
+.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
Filesystem Configuration
@@ -74,6 +75,223 @@ NOTES:
drivers and basic input/output functions such as :c:func:`printf`.
Filesystems can be disabled to reduce the memory footprint of an application.
+.. index:: CONFIGURE_FILESYSTEM_ALL
+
+.. _CONFIGURE_FILESYSTEM_ALL:
+
+CONFIGURE_FILESYSTEM_ALL
+------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_ALL``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the following
+ configuration options will be defined as well
+
+ - :ref:`CONFIGURE_FILESYSTEM_DOSFS`,
+
+ - :ref:`CONFIGURE_FILESYSTEM_FTPFS`,
+
+ - :ref:`CONFIGURE_FILESYSTEM_IMFS`,
+
+ - :ref:`CONFIGURE_FILESYSTEM_JFFS2`,
+
+ - :ref:`CONFIGURE_FILESYSTEM_NFS`,
+
+ - :ref:`CONFIGURE_FILESYSTEM_RFS`, and
+
+ - :ref:`CONFIGURE_FILESYSTEM_TFTPFS`.
+
+NOTES:
+ None.
+
+.. index:: CONFIGURE_FILESYSTEM_DOSFS
+
+.. _CONFIGURE_FILESYSTEM_DOSFS:
+
+CONFIGURE_FILESYSTEM_DOSFS
+--------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_DOSFS``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the DOS (FAT) filesystem
+ is registered, so that instances of this filesystem can be mounted by the
+ application.
+
+NOTES:
+ This filesystem requires a Block Device Cache configuration, see
+ :ref:`CONFIGURE_APPLICATION_NEEDS_LIBBLOCK`.
+
+.. index:: CONFIGURE_FILESYSTEM_FTPFS
+
+.. _CONFIGURE_FILESYSTEM_FTPFS:
+
+CONFIGURE_FILESYSTEM_FTPFS
+--------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_FTPFS``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the FTP filesystem (FTP
+ client) is registered, so that instances of this filesystem
+ can be mounted by the application.
+
+NOTES:
+ None.
+
+.. index:: CONFIGURE_FILESYSTEM_IMFS
+
+.. _CONFIGURE_FILESYSTEM_IMFS:
+
+CONFIGURE_FILESYSTEM_IMFS
+-------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_IMFS``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the In-Memory Filesystem
+ (IMFS) is registered, so that instances of this filesystem can be mounted by
+ the application.
+
+NOTES:
+ Applications will rarely need this configuration option. This configuration
+ option is intended for test programs. You do not need to define this
+ configuration option for the base filesystem (also known as root filesystem).
+
+.. index:: CONFIGURE_FILESYSTEM_JFFS2
+
+.. _CONFIGURE_FILESYSTEM_JFFS2:
+
+CONFIGURE_FILESYSTEM_JFFS2
+--------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_JFFS2``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the JFFS2 filesystem
+ is registered, so that instances of this filesystem can be mounted by the
+ application.
+
+NOTES:
+ None.
+
+.. index:: CONFIGURE_FILESYSTEM_NFS
+
+.. _CONFIGURE_FILESYSTEM_NFS:
+
+CONFIGURE_FILESYSTEM_NFS
+------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_NFS``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the Network Filesystem
+ (NFS) client is registered, so that instances of this filesystem can be
+ mounted by the application.
+
+NOTES:
+ None.
+
+.. index:: CONFIGURE_FILESYSTEM_RFS
+
+.. _CONFIGURE_FILESYSTEM_RFS:
+
+CONFIGURE_FILESYSTEM_RFS
+------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_RFS``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the RTEMS Filesystem (RFS)
+ is registered, so that instances of this filesystem can be mounted by the
+ application.
+
+NOTES:
+ This filesystem requires a Block Device Cache configuration, see
+ :ref:`CONFIGURE_APPLICATION_NEEDS_LIBBLOCK`.
+
+.. index:: CONFIGURE_FILESYSTEM_TFTPFS
+
+.. _CONFIGURE_FILESYSTEM_TFTPFS:
+
+CONFIGURE_FILESYSTEM_TFTPFS
+---------------------------
+
+CONSTANT:
+ ``CONFIGURE_FILESYSTEM_TFTPFS``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the TFTP filesystem (TFTP
+ client) is registered, so that instances of this filesystem can be mounted by
+ the application.
+
+NOTES:
+ None.
+
.. index:: CONFIGURE_IMFS_DISABLE_CHMOD
.. _CONFIGURE_IMFS_DISABLE_CHMOD:
@@ -170,6 +388,30 @@ DESCRIPTION:
NOTES:
None.
+.. index:: CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
+
+.. _CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE:
+
+CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
+-----------------------------------
+
+CONSTANT:
+ ``CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the root IMFS supports making
+ device files.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the root IMFS does not
+ support making device files.
+
+NOTES:
+ None.
+
.. index:: CONFIGURE_IMFS_DISABLE_MKNOD_FILE
.. _CONFIGURE_IMFS_DISABLE_MKNOD_FILE:
diff --git a/c-user/config/general.rst b/c-user/config/general.rst
index 3615a2c..388a8bf 100644
--- a/c-user/config/general.rst
+++ b/c-user/config/general.rst
@@ -37,6 +37,73 @@ NOTES:
:ref:`CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY` is also defined, then the
memory is first dirtied and then zeroed.
+ See also :ref:`CONFIGURE_MALLOC_DIRTY`.
+
+.. index:: CONFIGURE_DISABLE_NEWLIB_REENTRANCY
+
+.. _CONFIGURE_DISABLE_NEWLIB_REENTRANCY:
+
+CONFIGURE_DISABLE_NEWLIB_REENTRANCY
+-----------------------------------
+
+CONSTANT:
+ ``CONFIGURE_DISABLE_NEWLIB_REENTRANCY``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the Newlib reentrancy
+ support per thread is disabled and a global reentrancy structure is used.
+
+NOTES:
+ You can enable this option to reduce the size of the :term:`TCB`. Use this
+ option with care, since it can lead to race conditions and undefined system
+ behaviour. For example, :c:data:`errno` is no longer a thread-local variable
+ if this option is enabled.
+
+.. index:: CONFIGURE_EXECUTIVE_RAM_SIZE
+
+.. _CONFIGURE_EXECUTIVE_RAM_SIZE:
+
+CONFIGURE_EXECUTIVE_RAM_SIZE
+----------------------------
+
+CONSTANT:
+ ``CONFIGURE_EXECUTIVE_RAM_SIZE``
+
+OPTION TYPE:
+ This configuration option is an integer define.
+
+DEFAULT VALUE:
+ If this configuration option is undefined, then the RTEMS Workspace and task
+ stack space size is calculated by ``<rtems/confdefs.h>`` based on the values
+ configuration options.
+
+VALUE CONSTRAINTS:
+ The value of this configuration option shall satisfy all of the following
+ constraints:
+
+ * It shall be greater than or equal to 0.
+
+ * It shall be less than or equal to ``UINTPTR_MAX``.
+
+ * 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 RTEMS Workspace size in
+ bytes.
+
+NOTES:
+ This is an advanced configuration option. Use it only if you know exactly
+ what you are doing.
+
.. index:: CONFIGURE_EXTRA_TASK_STACKS
.. index:: memory for task tasks
@@ -156,6 +223,34 @@ NOTES:
In releases before RTEMS 5.1 the default value was
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE` instead of ``CPU_STACK_MINIMUM_SIZE``.
+.. index:: CONFIGURE_MALLOC_DIRTY
+
+.. _CONFIGURE_MALLOC_DIRTY:
+
+CONFIGURE_MALLOC_DIRTY
+----------------------
+
+CONSTANT:
+ ``CONFIGURE_MALLOC_DIRTY``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then each memory area returned
+ by C Program Heap allocator functions such as :c:func:`malloc` is dirtied
+ with a ``0xCF`` byte pattern before it is handed over to the application.
+
+NOTES:
+ The dirtying performed by this option is carried out for each successful
+ memory allocation from the C Program Heap in contrast to
+ :ref:`CONFIGURE_DIRTY_MEMORY` which dirties the memory only once during the
+ system initialization.
+
.. index:: CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
.. index:: maximum file descriptors
diff --git a/c-user/config/mpci.rst b/c-user/config/mpci.rst
index f96a703..a3b5e23 100644
--- a/c-user/config/mpci.rst
+++ b/c-user/config/mpci.rst
@@ -1,5 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
+.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
Multiprocessing Configuration
@@ -38,6 +39,42 @@ NOTES:
This has no impact unless RTEMS was built with the
``--enable-multiprocessing`` build configuration option.
+.. index:: CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK
+
+.. _CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK:
+
+CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK
+-----------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK``
+
+OPTION TYPE:
+ This configuration option is an integer define.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+VALUE CONSTRAINTS:
+ The value of this configuration option shall satisfy all of the following
+ constraints:
+
+ * It shall be greater than or equal to 0.
+
+ * It shall be less than or equal to ``UINT32_MAX``.
+
+ * 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``.
+
+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:
+ None.
+
.. index:: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
.. _CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS:
diff --git a/c-user/config/posix-api.rst b/c-user/config/posix-api.rst
index 54e8d99..0c84012 100644
--- a/c-user/config/posix-api.rst
+++ b/c-user/config/posix-api.rst
@@ -235,6 +235,51 @@ NOTES:
initialized with :c:func:`sem_init()` are not affected by this configuration
option since the storage space for these semaphores is user-provided.
+.. index:: CONFIGURE_MAXIMUM_POSIX_SHMS
+
+.. _CONFIGURE_MAXIMUM_POSIX_SHMS:
+
+CONFIGURE_MAXIMUM_POSIX_SHMS
+----------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_POSIX_SHMS``
+
+OPTION TYPE:
+ This configuration option is an integer define.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+VALUE CONSTRAINTS:
+ The value of this configuration option shall satisfy all of the following
+ constraints:
+
+ * It shall be greater than or equal to 0.
+
+ * 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``.
+
+ * It may be defined through
+ :c:func:`rtems_resource_unlimited` the enable unlimited objects for this
+ object class, if the value passed to :c:func:`rtems_resource_unlimited`
+ satisfies all other constraints of this 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:
+ This object class can be configured in unlimited allocation mode, see
+ :ref:`ConfigUnlimitedObjects`.
+
.. index:: CONFIGURE_MAXIMUM_POSIX_THREADS
.. _CONFIGURE_MAXIMUM_POSIX_THREADS:
diff --git a/c-user/config/scheduler-general.rst b/c-user/config/scheduler-general.rst
index db8e5ca..0436100 100644
--- a/c-user/config/scheduler-general.rst
+++ b/c-user/config/scheduler-general.rst
@@ -1,5 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
+.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 2010 Gedare Bloom
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
@@ -28,6 +29,83 @@ The pluggable scheduler interface also enables the user to provide their own
scheduling algorithm. If you choose to do this, you must define multiple
configuration option.
+.. index:: CONFIGURE_CBS_MAXIMUM_SERVERS
+
+.. _CONFIGURE_CBS_MAXIMUM_SERVERS:
+
+CONFIGURE_CBS_MAXIMUM_SERVERS
+-----------------------------
+
+CONSTANT:
+ ``CONFIGURE_CBS_MAXIMUM_SERVERS``
+
+OPTION TYPE:
+ This configuration option is an integer define.
+
+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:
+
+ * It shall be greater than or equal to 0.
+
+ * It shall be less than or equal to ``SIZE_MAX``.
+
+ * 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:
+ This configuration option is only evaluated if the configuration option
+ :ref:`CONFIGURE_SCHEDULER_CBS` is defined.
+
+.. index:: CONFIGURE_SCHEDULER_ASSIGNMENTS
+
+.. _CONFIGURE_SCHEDULER_ASSIGNMENTS:
+
+CONFIGURE_SCHEDULER_ASSIGNMENTS
+-------------------------------
+
+CONSTANT:
+ ``CONFIGURE_SCHEDULER_ASSIGNMENTS``
+
+OPTION TYPE:
+ This configuration option is an initializer define.
+
+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:
+
+ * It shall be a list of the following
+ macros:
+
+ * ``RTEMS_SCHEDULER_ASSIGN( processor_index, attributes )``
+
+ * :c:macro:`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:
+ This configuration option is only evaluated in SMP configurations.
+
+ This is an advanced configuration option, see
+ :ref:`ConfigurationSchedulersClustered`.
+
.. index:: CONFIGURE_SCHEDULER_CBS
.. _CONFIGURE_SCHEDULER_CBS:
@@ -346,6 +424,36 @@ NOTES:
<ConfigurationSchedulersClustered>` is present, then it is used as the
scheduler for up to 32 processors.
+.. index:: CONFIGURE_SCHEDULER_STRONG_APA
+
+.. _CONFIGURE_SCHEDULER_STRONG_APA:
+
+CONFIGURE_SCHEDULER_STRONG_APA
+------------------------------
+
+CONSTANT:
+ ``CONFIGURE_SCHEDULER_STRONG_APA``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+DESCRIPTION:
+ In case this configuration option is defined, then Strong APA algorithm is
+ made available to the application.
+
+NOTES:
+ This scheduler configuration option is an advanced configuration option.
+ Think twice before you use it.
+
+ This scheduler algorithm is only available when RTEMS is built with SMP
+ support enabled.
+
+ This scheduler algorithm is not correctly implemented. Do not use it.
+
.. index:: CONFIGURE_SCHEDULER_USER
.. _CONFIGURE_SCHEDULER_USER:
diff --git a/c-user/config/task-stack-alloc.rst b/c-user/config/task-stack-alloc.rst
index 513815c..005a643 100644
--- a/c-user/config/task-stack-alloc.rst
+++ b/c-user/config/task-stack-alloc.rst
@@ -1,5 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
+.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
Task Stack Allocator Configuration
@@ -113,3 +114,60 @@ NOTES:
- :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`
- `CONFIGURE_TASK_STACK_DEALLOCATOR`
+
+.. index:: CONFIGURE_TASK_STACK_FROM_ALLOCATOR
+.. index:: task stack allocator
+
+.. _CONFIGURE_TASK_STACK_FROM_ALLOCATOR:
+
+CONFIGURE_TASK_STACK_FROM_ALLOCATOR
+-----------------------------------
+
+CONSTANT:
+ ``CONFIGURE_TASK_STACK_FROM_ALLOCATOR``
+
+OPTION TYPE:
+ This configuration option is an initializer define.
+
+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.
+
+DESCRIPTION:
+ The value of this configuration option is used to calculate the task stack
+ space size.
+
+NOTES:
+ This configuration option may be used if a custom task stack allocator is
+ configured, see :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`.
+
+.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE
+
+.. _CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE:
+
+CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE
+------------------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE``
+
+OPTION TYPE:
+ This configuration option is a boolean feature define.
+
+DEFAULT CONFIGURATION:
+ If this configuration option is undefined, then the described feature is not
+ enabled.
+
+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:
+ This configuration option may be used if a custom task stack allocator is
+ configured, see :ref:`CONFIGURE_TASK_STACK_ALLOCATOR`.
More information about the vc
mailing list