summaryrefslogtreecommitdiffstats
path: root/c-user/config/general.rst
diff options
context:
space:
mode:
Diffstat (limited to 'c-user/config/general.rst')
-rw-r--r--c-user/config/general.rst181
1 files changed, 166 insertions, 15 deletions
diff --git a/c-user/config/general.rst b/c-user/config/general.rst
index a1f242a..61bfa1e 100644
--- a/c-user/config/general.rst
+++ b/c-user/config/general.rst
@@ -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) 2020, 2023 embedded brains GmbH & Co. KG
+.. Copyright (C) 1988, 2022 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
@@ -67,6 +67,55 @@ memory is first dirtied and then zeroed.
See also :ref:`CONFIGURE_MALLOC_DIRTY`.
+.. Generated from spec:/acfg/if/disable-bsp-settings
+
+.. raw:: latex
+
+ \clearpage
+
+.. index:: CONFIGURE_DISABLE_BSP_SETTINGS
+
+.. _CONFIGURE_DISABLE_BSP_SETTINGS:
+
+CONFIGURE_DISABLE_BSP_SETTINGS
+------------------------------
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_DISABLE_BSP_SETTINGS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the optional BSP provided
+settings listed below are disabled.
+
+The optional BSP provided default values for the following application
+configuration options are disabled:
+
+* :ref:`CONFIGURE_IDLE_TASK_BODY`
+
+* :ref:`CONFIGURE_IDLE_TASK_STACK_SIZE`
+
+* :ref:`CONFIGURE_INTERRUPT_STACK_SIZE`
+
+The optional BSP provided initial extension set is disabled (see
+:term:`initial extension sets`). The optional BSP provided
+prerequisite IO device drivers are disabled (see
+Device Driver Configuration). The optional BSP provided support for
+:c:func:`sbrk` is disabled.
+
+This configuration option provides an all or nothing choice with respect to
+the optional BSP provided settings.
+
.. Generated from spec:/acfg/if/disable-newlib-reentrancy
.. raw:: latex
@@ -129,8 +178,8 @@ This configuration option is an integer define.
.. rubric:: 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.
+stack space size is calculated by ``<rtems/confdefs.h>`` based on the
+values configuration options.
.. rubric:: DESCRIPTION:
@@ -204,6 +253,42 @@ The following constraints apply to this configuration option:
overflow an integer of type `uintptr_t
<https://en.cppreference.com/w/c/types/integer>`_.
+.. Generated from spec:/acfg/if/init
+
+.. raw:: latex
+
+ \clearpage
+
+.. index:: CONFIGURE_INIT
+
+.. _CONFIGURE_INIT:
+
+CONFIGURE_INIT
+--------------
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_INIT``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+There is no default configuration associated with this configuration option.
+If ``<rtems/confdefs.h>`` is included and this configuration option is not
+defined, then only white space is included.
+
+.. rubric:: DESCRIPTION:
+
+While this configuration option is defined, when the ``<rtems/confdefs.h>``
+is included, the system settings defined by present application configuration
+options are statically allocated and initialized. All user provided
+application configuration options defined before the include of
+``<rtems/confdefs.h>`` are evaluated. They define the actual system
+settings.
+
.. Generated from spec:/acfg/if/initial-extensions
.. raw:: latex
@@ -237,13 +322,13 @@ initial user extensions.
.. rubric:: NOTES:
The value of this configuration option is placed before the entries of
-:ref:`BSP_INITIAL_EXTENSION` and after the entries of all other initial
-user extensions.
+:c:macro:`BSP_INITIAL_EXTENSION` and 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`.
+structures of type :ref:`InterfaceRtemsExtensionsTable`.
.. Generated from spec:/acfg/if/interrupt-stack-size
@@ -269,8 +354,11 @@ This configuration option is an integer define.
.. rubric:: DEFAULT VALUE:
-The default value is :ref:`BSP_INTERRUPT_STACK_SIZE` in case it is defined,
-otherwise the default value is :c:macro:`CPU_STACK_MINIMUM_SIZE`.
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+:c:macro:`BSP_INTERRUPT_STACK_SIZE` is provided by the
+:term:`BSP`, then the default value is defined by
+:c:macro:`BSP_INTERRUPT_STACK_SIZE`, otherwise the default value is
+:c:macro:`CPU_STACK_MINIMUM_SIZE`.
.. rubric:: DESCRIPTION:
@@ -437,9 +525,9 @@ Each processor needs an IDLE task stack and interrupt stack for example.
If there are more processors available than configured, the rest will be
ignored.
-This configuration option is only evaluated in SMP configurations (e.g. RTEMS
-was built with the ``--enable-smp`` build configuration option). In all
-other configurations it has no effect.
+This configuration option is only evaluated in SMP configurations of RTEMS
+(e.g. RTEMS was built with the SMP build configuration option enabled).
+In all other configurations it has no effect.
.. rubric:: CONSTRAINTS:
@@ -450,6 +538,69 @@ The following constraints apply to this configuration option:
* The value of the configuration option shall be less than or equal to
:c:macro:`CPU_MAXIMUM_PROCESSORS`.
+.. 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:
+
+CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
+-------------------------------------------
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
+
+The default value is 0.
+
+.. rubric:: 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.
+
+.. rubric:: NOTES:
+
+This configuration option can be used to reserve space for the dynamic linking
+of modules with thread-local storage objects.
+
+If the thread-local storage size defined by the thread-local storage
+objects used by the application in the statically-linked executable is greater
+than a non-zero value of this configuration option, then a fatal error will
+occur during system initialization.
+
+Use :c:func:`RTEMS_ALIGN_UP` and
+:c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT` to adjust the size to meet the
+minimum alignment requirement of a thread-local storage area.
+
+The actual thread-local storage size is determined when the application
+executable is linked. The ``rtems-exeinfo`` command line tool included in
+the RTEMS Tools can be used to obtain the thread-local storage size and
+alignment of an application executable.
+
+.. rubric:: CONSTRAINTS:
+
+The following constraints apply to this configuration option:
+
+* The value of the configuration option shall be greater than or equal to zero.
+
+* The value of the configuration option shall be less than or equal to
+ `SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
+
+* The value of the configuration option shall be an integral multiple of
+ :c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT`.
+
.. Generated from spec:/acfg/if/max-thread-name-size
.. raw:: latex
@@ -866,7 +1017,7 @@ configured, see :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`.
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 greater than or equal to one.
* The value of the configuration option shall be less than or equal to
`UINT32_MAX <https://en.cppreference.com/w/c/types/integer>`_.
@@ -956,7 +1107,7 @@ By allowing users to declare all resources as being unlimited the user can
avoid identifying and limiting the resources used.
The object maximum of each class can be configured also individually using
-the :c:func:`rtems_resource_unlimited` macro.
+the :ref:`InterfaceRtemsResourceUnlimited` macro.
.. rubric:: CONSTRAINTS:
@@ -1039,7 +1190,7 @@ is verbose.
.. rubric:: NOTES:
You may use this feature to debug system initialization issues. The
-:c:func:`printk` function is used to print the information.
+:ref:`InterfacePrintk` function is used to print the information.
.. Generated from spec:/acfg/if/zero-workspace-automatically