[PATCH 4/6] c-user: Sort configuration options alphabetically
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Mar 6 15:35:43 UTC 2020
Update #3836.
---
c-user/configuring_a_system.rst | 1739 +++++++++++++++++++--------------------
1 file changed, 867 insertions(+), 872 deletions(-)
diff --git a/c-user/configuring_a_system.rst b/c-user/configuring_a_system.rst
index 08471b5..87da412 100644
--- a/c-user/configuring_a_system.rst
+++ b/c-user/configuring_a_system.rst
@@ -1060,15 +1060,15 @@ Classic API Configuration
This section defines the Classic API related system configuration parameters
supported by ``<rtems/confdefs.h>``.
-.. index:: CONFIGURE_MAXIMUM_TASKS
+.. index:: CONFIGURE_MAXIMUM_BARRIERS
-.. _CONFIGURE_MAXIMUM_TASKS:
+.. _CONFIGURE_MAXIMUM_BARRIERS:
-CONFIGURE_MAXIMUM_TASKS
------------------------
+CONFIGURE_MAXIMUM_BARRIERS
+--------------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_TASKS``
+ ``CONFIGURE_MAXIMUM_BARRIERS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1077,42 +1077,24 @@ RANGE:
Zero or positive.
DEFAULT VALUE:
- The default value is ``0``.
+ The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_TASKS`` is the maximum number of Classic API Tasks that
- can be concurrently active.
+ ``CONFIGURE_MAXIMUM_BARRIERS`` is the maximum number of Classic API
+ Barriers that can be concurrently active.
NOTES:
This object class can be configured in unlimited allocation mode.
- The calculations for the required memory in the RTEMS Workspace for tasks
- assume that each task has a minimum stack size and has floating point
- support enabled. The configuration parameter
- ``CONFIGURE_EXTRA_TASK_STACKS`` is used to specify task stack requirements
- *ABOVE* the minimum size required. See :ref:`Reserve Task/Thread Stack
- Memory Above Minimum` for more information about
- ``CONFIGURE_EXTRA_TASK_STACKS``.
-
- The maximum number of POSIX threads is specified by
- :ref:`CONFIGURE_MAXIMUM_POSIX_THREADS <CONFIGURE_MAXIMUM_POSIX_THREADS>`.
-
- A future enhancement to ``<rtems/confdefs.h>`` could be to eliminate the
- assumption that all tasks have floating point enabled. This would require
- the addition of a new configuration parameter to specify the number of
- tasks which enable floating point support.
-
-.. COMMENT: XXX - Add xref to CONFIGURE_MAXIMUM_POSIX_THREADS.
-
-.. index:: CONFIGURE_MAXIMUM_TIMERS
+.. index:: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
-.. _CONFIGURE_MAXIMUM_TIMERS:
+.. _CONFIGURE_MAXIMUM_MESSAGE_QUEUES:
-CONFIGURE_MAXIMUM_TIMERS
-------------------------
+CONFIGURE_MAXIMUM_MESSAGE_QUEUES
+--------------------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_TIMERS``
+ ``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1124,21 +1106,23 @@ DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_TIMERS`` is the maximum number of Classic API Timers
- that can be concurrently active.
+ ``CONFIGURE_MAXIMUM_MESSAGE_QUEUES`` is the maximum number of Classic API
+ Message Queues that can be concurrently active.
NOTES:
- This object class can be configured in unlimited allocation mode.
+ This object class can be configured in unlimited allocation mode. You have
+ to account for the memory used to store the messages of each message queue,
+ see :ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
-.. index:: CONFIGURE_MAXIMUM_SEMAPHORES
+.. index:: CONFIGURE_MAXIMUM_PARTITIONS
-.. _CONFIGURE_MAXIMUM_SEMAPHORES:
+.. _CONFIGURE_MAXIMUM_PARTITIONS:
-CONFIGURE_MAXIMUM_SEMAPHORES
+CONFIGURE_MAXIMUM_PARTITIONS
----------------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_SEMAPHORES``
+ ``CONFIGURE_MAXIMUM_PARTITIONS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1150,25 +1134,21 @@ DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_SEMAPHORES`` is the maximum number of Classic API
- Semaphores that can be concurrently active.
+ ``CONFIGURE_MAXIMUM_PARTITIONS`` is the maximum number of Classic API
+ Partitions that can be concurrently active.
NOTES:
This object class can be configured in unlimited allocation mode.
- In SMP configurations, the size of a Semaphore Control Block depends on the
- scheduler count (see :ref:`ConfigurationSchedulerTable`). The semaphores
- using the :ref:`MrsP` need a ceiling priority per scheduler.
-
-.. index:: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
+.. index:: CONFIGURE_MAXIMUM_PERIODS
-.. _CONFIGURE_MAXIMUM_MESSAGE_QUEUES:
+.. _CONFIGURE_MAXIMUM_PERIODS:
-CONFIGURE_MAXIMUM_MESSAGE_QUEUES
---------------------------------
+CONFIGURE_MAXIMUM_PERIODS
+-------------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``
+ ``CONFIGURE_MAXIMUM_PERIODS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1180,23 +1160,21 @@ DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_MESSAGE_QUEUES`` is the maximum number of Classic API
- Message Queues that can be concurrently active.
+ ``CONFIGURE_MAXIMUM_PERIODS`` is the maximum number of Classic API Periods
+ that can be concurrently active.
NOTES:
- This object class can be configured in unlimited allocation mode. You have
- to account for the memory used to store the messages of each message queue,
- see :ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
+ This object class can be configured in unlimited allocation mode.
-.. index:: CONFIGURE_MAXIMUM_BARRIERS
+.. index:: CONFIGURE_MAXIMUM_PORTS
-.. _CONFIGURE_MAXIMUM_BARRIERS:
+.. _CONFIGURE_MAXIMUM_PORTS:
-CONFIGURE_MAXIMUM_BARRIERS
---------------------------
+CONFIGURE_MAXIMUM_PORTS
+-----------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_BARRIERS``
+ ``CONFIGURE_MAXIMUM_PORTS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1208,21 +1186,21 @@ DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_BARRIERS`` is the maximum number of Classic API
- Barriers that can be concurrently active.
+ ``CONFIGURE_MAXIMUM_PORTS`` is the maximum number of Classic API Ports that
+ can be concurrently active.
NOTES:
This object class can be configured in unlimited allocation mode.
-.. index:: CONFIGURE_MAXIMUM_PERIODS
+.. index:: CONFIGURE_MAXIMUM_REGIONS
-.. _CONFIGURE_MAXIMUM_PERIODS:
+.. _CONFIGURE_MAXIMUM_REGIONS:
-CONFIGURE_MAXIMUM_PERIODS
+CONFIGURE_MAXIMUM_REGIONS
-------------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_PERIODS``
+ ``CONFIGURE_MAXIMUM_REGIONS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1234,21 +1212,21 @@ DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_PERIODS`` is the maximum number of Classic API Periods
+ ``CONFIGURE_MAXIMUM_REGIONS`` is the maximum number of Classic API Regions
that can be concurrently active.
NOTES:
- This object class can be configured in unlimited allocation mode.
+ None.
-.. index:: CONFIGURE_MAXIMUM_PARTITIONS
+.. index:: CONFIGURE_MAXIMUM_SEMAPHORES
-.. _CONFIGURE_MAXIMUM_PARTITIONS:
+.. _CONFIGURE_MAXIMUM_SEMAPHORES:
-CONFIGURE_MAXIMUM_PARTITIONS
+CONFIGURE_MAXIMUM_SEMAPHORES
----------------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_PARTITIONS``
+ ``CONFIGURE_MAXIMUM_SEMAPHORES``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1260,21 +1238,25 @@ DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_PARTITIONS`` is the maximum number of Classic API
- Partitions that can be concurrently active.
+ ``CONFIGURE_MAXIMUM_SEMAPHORES`` is the maximum number of Classic API
+ Semaphores that can be concurrently active.
NOTES:
This object class can be configured in unlimited allocation mode.
-.. index:: CONFIGURE_MAXIMUM_REGIONS
+ In SMP configurations, the size of a Semaphore Control Block depends on the
+ scheduler count (see :ref:`ConfigurationSchedulerTable`). The semaphores
+ using the :ref:`MrsP` need a ceiling priority per scheduler.
-.. _CONFIGURE_MAXIMUM_REGIONS:
+.. index:: CONFIGURE_MAXIMUM_TASKS
-CONFIGURE_MAXIMUM_REGIONS
--------------------------
+.. _CONFIGURE_MAXIMUM_TASKS:
+
+CONFIGURE_MAXIMUM_TASKS
+-----------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_REGIONS``
+ ``CONFIGURE_MAXIMUM_TASKS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1283,24 +1265,40 @@ RANGE:
Zero or positive.
DEFAULT VALUE:
- The default value is 0.
+ The default value is ``0``.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_REGIONS`` is the maximum number of Classic API Regions
- that can be concurrently active.
+ ``CONFIGURE_MAXIMUM_TASKS`` is the maximum number of Classic API Tasks that
+ can be concurrently active.
NOTES:
- None.
+ This object class can be configured in unlimited allocation mode.
-.. index:: CONFIGURE_MAXIMUM_PORTS
+ The calculations for the required memory in the RTEMS Workspace for tasks
+ assume that each task has a minimum stack size and has floating point
+ support enabled. The configuration parameter
+ ``CONFIGURE_EXTRA_TASK_STACKS`` is used to specify task stack requirements
+ *ABOVE* the minimum size required. See :ref:`Reserve Task/Thread Stack
+ Memory Above Minimum` for more information about
+ ``CONFIGURE_EXTRA_TASK_STACKS``.
-.. _CONFIGURE_MAXIMUM_PORTS:
+ The maximum number of POSIX threads is specified by
+ :ref:`CONFIGURE_MAXIMUM_POSIX_THREADS <CONFIGURE_MAXIMUM_POSIX_THREADS>`.
-CONFIGURE_MAXIMUM_PORTS
------------------------
+ A future enhancement to ``<rtems/confdefs.h>`` could be to eliminate the
+ assumption that all tasks have floating point enabled. This would require
+ the addition of a new configuration parameter to specify the number of
+ tasks which enable floating point support.
+
+.. index:: CONFIGURE_MAXIMUM_TIMERS
+
+.. _CONFIGURE_MAXIMUM_TIMERS:
+
+CONFIGURE_MAXIMUM_TIMERS
+------------------------
CONSTANT:
- ``CONFIGURE_MAXIMUM_PORTS``
+ ``CONFIGURE_MAXIMUM_TIMERS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -1312,8 +1310,8 @@ DEFAULT VALUE:
The default value is 0.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_PORTS`` is the maximum number of Classic API Ports that
- can be concurrently active.
+ ``CONFIGURE_MAXIMUM_TIMERS`` is the maximum number of Classic API Timers
+ that can be concurrently active.
NOTES:
This object class can be configured in unlimited allocation mode.
@@ -1351,41 +1349,57 @@ The ``<rtems/confdefs.h>`` configuration system can automatically generate an
Initialization Tasks Table named ``Initialization_tasks`` with a single entry.
The following parameters control the generation of that table.
-.. index:: CONFIGURE_RTEMS_INIT_TASKS_TABLE
+.. index:: CONFIGURE_INIT_TASK_ARGUMENTS
-.. _CONFIGURE_RTEMS_INIT_TASKS_TABLE:
+.. _CONFIGURE_INIT_TASK_ARGUMENTS:
-CONFIGURE_RTEMS_INIT_TASKS_TABLE
---------------------------------
+CONFIGURE_INIT_TASK_ARGUMENTS
+-----------------------------
CONSTANT:
- ``CONFIGURE_RTEMS_INIT_TASKS_TABLE``
+ ``CONFIGURE_INIT_TASK_ARGUMENTS``
DATA TYPE:
- Boolean feature macro.
+ RTEMS Task Argument (``rtems_task_argument``).
RANGE:
- Defined or undefined.
+ Complete range of the type.
DEFAULT VALUE:
- This is not defined by default.
+ The default value is 0.
DESCRIPTION:
- ``CONFIGURE_RTEMS_INIT_TASKS_TABLE`` is defined if the user wishes to use a
- Classic RTEMS API Initialization Task Table. The table built by
- ``<rtems/confdefs.h>`` specifies the parameters for a single task. This is
- sufficient for applications which initialization the system from a single
- task.
-
- By default, this field is not defined as the user MUST select their own API
- for initialization tasks.
+ ``CONFIGURE_INIT_TASK_ARGUMENTS`` is the task argument of the single
+ initialization task defined by the Classic API Initialization Tasks Table.
NOTES:
- The application may choose to use the initialization tasks or threads table
- from another API.
+ None.
- A compile time error will be generated if the user does not configure any
- initialization tasks or threads.
+.. index:: CONFIGURE_INIT_TASK_ATTRIBUTES
+
+.. _CONFIGURE_INIT_TASK_ATTRIBUTES:
+
+CONFIGURE_INIT_TASK_ATTRIBUTES
+------------------------------
+
+CONSTANT:
+ ``CONFIGURE_INIT_TASK_ATTRIBUTES``
+
+DATA TYPE:
+ RTEMS Attributes (``rtems_attribute``).
+
+RANGE:
+ Valid task attribute sets.
+
+DEFAULT VALUE:
+ The default value is ``RTEMS_DEFAULT_ATTRIBUTES``.
+
+DESCRIPTION:
+ ``CONFIGURE_INIT_TASK_ATTRIBUTES`` is the task attributes of the single
+ initialization task defined by the Classic API Initialization Tasks Table.
+
+NOTES:
+ None.
.. index:: CONFIGURE_INIT_TASK_ENTRY_POINT
@@ -1415,60 +1429,58 @@ NOTES:
The user must implement the function ``Init`` or the function name provided
in this configuration parameter.
-.. index:: CONFIGURE_INIT_TASK_NAME
+.. index:: CONFIGURE_INIT_TASK_INITIAL_MODES
-.. _CONFIGURE_INIT_TASK_NAME:
+.. _CONFIGURE_INIT_TASK_INITIAL_MODES:
-CONFIGURE_INIT_TASK_NAME
-------------------------
+CONFIGURE_INIT_TASK_INITIAL_MODES
+---------------------------------
CONSTANT:
- ``CONFIGURE_INIT_TASK_NAME``
+ ``CONFIGURE_INIT_TASK_INITIAL_MODES``
DATA TYPE:
- RTEMS Name (``rtems_name``).
+ RTEMS Mode (``rtems_mode``).
RANGE:
- Any value.
+ Valid task mode sets.
DEFAULT VALUE:
- The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``.
+ The default value is ``RTEMS_NO_PREEMPT``.
DESCRIPTION:
- ``CONFIGURE_INIT_TASK_NAME`` is the name of the single initialization task
- defined by the Classic API Initialization Tasks Table.
+ ``CONFIGURE_INIT_TASK_INITIAL_MODES`` is the initial execution mode of the
+ single initialization task defined by the Classic API Initialization Tasks
+ Table.
NOTES:
None.
-.. index:: CONFIGURE_INIT_TASK_STACK_SIZE
+.. index:: CONFIGURE_INIT_TASK_NAME
-.. _CONFIGURE_INIT_TASK_STACK_SIZE:
+.. _CONFIGURE_INIT_TASK_NAME:
-CONFIGURE_INIT_TASK_STACK_SIZE
-------------------------------
+CONFIGURE_INIT_TASK_NAME
+------------------------
CONSTANT:
- ``CONFIGURE_INIT_TASK_STACK_SIZE``
+ ``CONFIGURE_INIT_TASK_NAME``
DATA TYPE:
- Unsigned integer (``size_t``).
+ RTEMS Name (``rtems_name``).
RANGE:
- Zero or positive.
+ Any value.
DEFAULT VALUE:
- The default value is RTEMS_MINIMUM_STACK_SIZE.
+ The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``.
DESCRIPTION:
- ``CONFIGURE_INIT_TASK_STACK_SIZE`` is the stack size of the single
- initialization task defined by the Classic API Initialization Tasks Table.
+ ``CONFIGURE_INIT_TASK_NAME`` is the name of the single initialization task
+ defined by the Classic API Initialization Tasks Table.
NOTES:
- If the stack size specified is greater than the configured minimum, it must
- be accounted for in ``CONFIGURE_EXTRA_TASK_STACKS``. See :ref:`Reserve
- Task/Thread Stack Memory Above Minimum` for more information about
- ``CONFIGURE_EXTRA_TASK_STACKS``.
+ None.
.. index:: CONFIGURE_INIT_TASK_PRIORITY
@@ -1496,85 +1508,70 @@ DESCRIPTION:
NOTES:
None.
+.. index:: CONFIGURE_INIT_TASK_STACK_SIZE
-.. index:: CONFIGURE_INIT_TASK_ATTRIBUTES
-
-.. _CONFIGURE_INIT_TASK_ATTRIBUTES:
+.. _CONFIGURE_INIT_TASK_STACK_SIZE:
-CONFIGURE_INIT_TASK_ATTRIBUTES
+CONFIGURE_INIT_TASK_STACK_SIZE
------------------------------
CONSTANT:
- ``CONFIGURE_INIT_TASK_ATTRIBUTES``
+ ``CONFIGURE_INIT_TASK_STACK_SIZE``
DATA TYPE:
- RTEMS Attributes (``rtems_attribute``).
+ Unsigned integer (``size_t``).
RANGE:
- Valid task attribute sets.
+ Zero or positive.
DEFAULT VALUE:
- The default value is ``RTEMS_DEFAULT_ATTRIBUTES``.
+ The default value is RTEMS_MINIMUM_STACK_SIZE.
DESCRIPTION:
- ``CONFIGURE_INIT_TASK_ATTRIBUTES`` is the task attributes of the single
+ ``CONFIGURE_INIT_TASK_STACK_SIZE`` is the stack size of the single
initialization task defined by the Classic API Initialization Tasks Table.
NOTES:
- None.
+ If the stack size specified is greater than the configured minimum, it must
+ be accounted for in ``CONFIGURE_EXTRA_TASK_STACKS``. See :ref:`Reserve
+ Task/Thread Stack Memory Above Minimum` for more information about
+ ``CONFIGURE_EXTRA_TASK_STACKS``.
-.. index:: CONFIGURE_INIT_TASK_INITIAL_MODES
+.. index:: CONFIGURE_RTEMS_INIT_TASKS_TABLE
-.. _CONFIGURE_INIT_TASK_INITIAL_MODES:
+.. _CONFIGURE_RTEMS_INIT_TASKS_TABLE:
-CONFIGURE_INIT_TASK_INITIAL_MODES
----------------------------------
+CONFIGURE_RTEMS_INIT_TASKS_TABLE
+--------------------------------
CONSTANT:
- ``CONFIGURE_INIT_TASK_INITIAL_MODES``
+ ``CONFIGURE_RTEMS_INIT_TASKS_TABLE``
DATA TYPE:
- RTEMS Mode (``rtems_mode``).
+ Boolean feature macro.
RANGE:
- Valid task mode sets.
+ Defined or undefined.
DEFAULT VALUE:
- The default value is ``RTEMS_NO_PREEMPT``.
+ This is not defined by default.
DESCRIPTION:
- ``CONFIGURE_INIT_TASK_INITIAL_MODES`` is the initial execution mode of the
- single initialization task defined by the Classic API Initialization Tasks
- Table.
-
-NOTES:
- None.
-
-.. index:: CONFIGURE_INIT_TASK_ARGUMENTS
-
-.. _CONFIGURE_INIT_TASK_ARGUMENTS:
-
-CONFIGURE_INIT_TASK_ARGUMENTS
------------------------------
-
-CONSTANT:
- ``CONFIGURE_INIT_TASK_ARGUMENTS``
-
-DATA TYPE:
- RTEMS Task Argument (``rtems_task_argument``).
-
-RANGE:
- Complete range of the type.
-
-DEFAULT VALUE:
- The default value is 0.
+ ``CONFIGURE_RTEMS_INIT_TASKS_TABLE`` is defined if the user wishes to use a
+ Classic RTEMS API Initialization Task Table. The table built by
+ ``<rtems/confdefs.h>`` specifies the parameters for a single task. This is
+ sufficient for applications which initialization the system from a single
+ task.
-DESCRIPTION:
- ``CONFIGURE_INIT_TASK_ARGUMENTS`` is the task argument of the single
- initialization task defined by the Classic API Initialization Tasks Table.
+ By default, this field is not defined as the user MUST select their own API
+ for initialization tasks.
NOTES:
- None.
+ The application may choose to use the initialization tasks or threads table
+ from another API.
+
+ A compile time error will be generated if the user does not configure any
+ initialization tasks or threads.
POSIX API Configuration
=======================
@@ -1832,44 +1829,6 @@ The ``<rtems/confdefs.h>`` configuration system can automatically generate a
POSIX Initialization Threads Table named ``POSIX_Initialization_threads`` with
a single entry. The following parameters control the generation of that table.
-.. index:: CONFIGURE_POSIX_INIT_THREAD_TABLE
-
-.. _CONFIGURE_POSIX_INIT_THREAD_TABLE:
-
-CONFIGURE_POSIX_INIT_THREAD_TABLE
----------------------------------
-
-CONSTANT:
-
- ``CONFIGURE_POSIX_INIT_THREAD_TABLE``
-
-DATA TYPE:
- Boolean feature macro.
-
-RANGE:
- Defined or undefined.
-
-DEFAULT VALUE:
- This field is not defined by default, as the user MUST select their own API
- for initialization tasks.
-
-DESCRIPTION:
- ``CONFIGURE_POSIX_INIT_THREAD_TABLE`` is defined if the user wishes to use
- a POSIX API Initialization Threads Table. The table built by
- ``<rtems/confdefs.h>`` specifies the parameters for a single thread. This
- is sufficient for applications which initialization the system from a
- single task.
-
- By default, this field is not defined as the user MUST select their own API
- for initialization tasks.
-
-NOTES:
- The application may choose to use the initialization tasks or threads table
- from another API.
-
- A compile time error will be generated if the user does not configure any
- initialization tasks or threads.
-
.. index:: CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
.. _CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT:
@@ -1928,6 +1887,44 @@ NOTES:
Task/Thread Stack Memory Above Minimum` for more information about
``CONFIGURE_EXTRA_TASK_STACKS``.
+.. index:: CONFIGURE_POSIX_INIT_THREAD_TABLE
+
+.. _CONFIGURE_POSIX_INIT_THREAD_TABLE:
+
+CONFIGURE_POSIX_INIT_THREAD_TABLE
+---------------------------------
+
+CONSTANT:
+
+ ``CONFIGURE_POSIX_INIT_THREAD_TABLE``
+
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This field is not defined by default, as the user MUST select their own API
+ for initialization tasks.
+
+DESCRIPTION:
+ ``CONFIGURE_POSIX_INIT_THREAD_TABLE`` is defined if the user wishes to use
+ a POSIX API Initialization Threads Table. The table built by
+ ``<rtems/confdefs.h>`` specifies the parameters for a single thread. This
+ is sufficient for applications which initialization the system from a
+ single task.
+
+ By default, this field is not defined as the user MUST select their own API
+ for initialization tasks.
+
+NOTES:
+ The application may choose to use the initialization tasks or threads table
+ from another API.
+
+ A compile time error will be generated if the user does not configure any
+ initialization tasks or threads.
+
Task Stack Allocator Configuration
==================================
@@ -1936,30 +1933,30 @@ deallocation methods for task stacks. This can be used to place task stacks in
special areas of memory or to utilize a Memory Management Unit so that stack
overflows are detected in hardware.
-.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_INIT
+.. index:: CONFIGURE_TASK_STACK_ALLOCATOR
+.. index:: task stack allocator
-.. _CONFIGURE_TASK_STACK_ALLOCATOR_INIT:
+.. _CONFIGURE_TASK_STACK_ALLOCATOR:
-CONFIGURE_TASK_STACK_ALLOCATOR_INIT
------------------------------------
+CONFIGURE_TASK_STACK_ALLOCATOR
+------------------------------
CONSTANT:
- ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
+ ``CONFIGURE_TASK_STACK_ALLOCATOR``
DATA TYPE:
Function pointer.
RANGE:
- Undefined, NULL or valid function pointer.
+ Undefined or valid function pointer.
DEFAULT VALUE:
- The default value is NULL, which indicates that task stacks will be
- allocated from the RTEMS Workspace.
+ The default value is ``_Workspace_Allocate``, which indicates that task
+ stacks will be allocated from the RTEMS Workspace.
DESCRIPTION:
- ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT`` configures the initialization
- method for an application or BSP specific task stack allocation
- implementation.
+ ``CONFIGURE_TASK_STACK_ALLOCATOR`` may point to a user provided routine to
+ allocate task stacks.
NOTES:
A correctly configured system must configure the following to be consistent:
@@ -1970,30 +1967,30 @@ NOTES:
- ``CONFIGURE_TASK_STACK_DEALLOCATOR``
-.. index:: CONFIGURE_TASK_STACK_ALLOCATOR
-.. index:: task stack allocator
+.. index:: CONFIGURE_TASK_STACK_ALLOCATOR_INIT
-.. _CONFIGURE_TASK_STACK_ALLOCATOR:
+.. _CONFIGURE_TASK_STACK_ALLOCATOR_INIT:
-CONFIGURE_TASK_STACK_ALLOCATOR
-------------------------------
+CONFIGURE_TASK_STACK_ALLOCATOR_INIT
+-----------------------------------
CONSTANT:
- ``CONFIGURE_TASK_STACK_ALLOCATOR``
+ ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT``
DATA TYPE:
Function pointer.
RANGE:
- Undefined or valid function pointer.
+ Undefined, NULL or valid function pointer.
DEFAULT VALUE:
- The default value is ``_Workspace_Allocate``, which indicates that task
- stacks will be allocated from the RTEMS Workspace.
+ The default value is NULL, which indicates that task stacks will be
+ allocated from the RTEMS Workspace.
DESCRIPTION:
- ``CONFIGURE_TASK_STACK_ALLOCATOR`` may point to a user provided routine to
- allocate task stacks.
+ ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT`` configures the initialization
+ method for an application or BSP specific task stack allocation
+ implementation.
NOTES:
A correctly configured system must configure the following to be consistent:
@@ -2046,87 +2043,87 @@ amount of memory reserved for message queue message buffers. See
:ref:`CONFIGURE_MAXIMUM_MESSAGE_QUEUES` and
:ref:`CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES`.
-.. index:: CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE
-.. index:: memory for a single message queue's buffers
+.. index:: CONFIGURE_MESSAGE_BUFFER_MEMORY
+.. index:: configure message queue buffer memory
-.. _CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE:
+.. _CONFIGURE_MESSAGE_BUFFER_MEMORY:
-CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE
------------------------------------
+CONFIGURE_MESSAGE_BUFFER_MEMORY
+-------------------------------
CONSTANT:
- ``CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(max_messages, size_per)``
+ ``CONFIGURE_MESSAGE_BUFFER_MEMORY``
DATA TYPE:
- Unsigned integer (``size_t``).
+ integer summation macro
RANGE:
- Positive.
+ undefined (zero) or calculation resulting in a positive integer
DEFAULT VALUE:
- The default value is None.
+ This is not defined by default, and zero (0) memory is reserved.
DESCRIPTION:
- This is a helper macro which is used to assist in computing the total
- amount of memory required for message buffers. Each message queue will
- have its own configuration with maximum message size and maximum number of
- pending messages.
+ This macro is set to the number of bytes the application requires to be
+ reserved for pending Classic API Message Queue buffers.
- The interface for this macro is as follows:
+NOTES:
+ The following illustrates how the help macro
+ :ref:`CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE` can be used to assist in
+ calculating the message buffer memory required. In this example, there are
+ two message queues used in this application. The first message queue has
+ maximum of 24 pending messages with the message structure defined by the
+ type ``one_message_type``. The other message queue has maximum of 500
+ pending messages with the message structure defined by the type
+ ``other_message_type``.
.. code-block:: c
- CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(max_messages, size_per)
-
- Where ``max_messages`` is the maximum number of pending messages and
- ``size_per`` is the size in bytes of the user message.
-
-NOTES:
- This macro is only used in support of :ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
+ #define CONFIGURE_MESSAGE_BUFFER_MEMORY \
+ (CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( \
+ 24, sizeof(one_message_type) \
+ ) + \
+ CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( \
+ 500, sizeof(other_message_type) \
+ )
-.. index:: CONFIGURE_MESSAGE_BUFFER_MEMORY
-.. index:: configure message queue buffer memory
+.. index:: CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE
+.. index:: memory for a single message queue's buffers
-.. _CONFIGURE_MESSAGE_BUFFER_MEMORY:
+.. _CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE:
-CONFIGURE_MESSAGE_BUFFER_MEMORY
--------------------------------
+CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE
+-----------------------------------
CONSTANT:
- ``CONFIGURE_MESSAGE_BUFFER_MEMORY``
+ ``CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(max_messages, size_per)``
DATA TYPE:
- integer summation macro
+ Unsigned integer (``size_t``).
RANGE:
- undefined (zero) or calculation resulting in a positive integer
+ Positive.
DEFAULT VALUE:
- This is not defined by default, and zero (0) memory is reserved.
+ The default value is None.
DESCRIPTION:
- This macro is set to the number of bytes the application requires to be
- reserved for pending Classic API Message Queue buffers.
+ This is a helper macro which is used to assist in computing the total
+ amount of memory required for message buffers. Each message queue will
+ have its own configuration with maximum message size and maximum number of
+ pending messages.
-NOTES:
- The following illustrates how the help macro
- :ref:`CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE` can be used to assist in
- calculating the message buffer memory required. In this example, there are
- two message queues used in this application. The first message queue has
- maximum of 24 pending messages with the message structure defined by the
- type ``one_message_type``. The other message queue has maximum of 500
- pending messages with the message structure defined by the type
- ``other_message_type``.
+ The interface for this macro is as follows:
.. code-block:: c
- #define CONFIGURE_MESSAGE_BUFFER_MEMORY \
- (CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( \
- 24, sizeof(one_message_type) \
- ) + \
- CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( \
- 500, sizeof(other_message_type) \
- )
+ CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(max_messages, size_per)
+
+ Where ``max_messages`` is the maximum number of pending messages and
+ ``size_per`` is the size in bytes of the user message.
+
+NOTES:
+ This macro is only used in support of :ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
Filesystem Configuration
========================
@@ -2172,67 +2169,6 @@ configuration options:
* :ref:`CONFIGURE_IMFS_ENABLE_MKFIFO`
-.. index:: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
-
-.. _CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM:
-
-CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
---------------------------------------
-
-CONSTANT:
- ``CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM``
-
-DATA TYPE:
- Boolean feature macro.
-
-RANGE:
- Defined or undefined.
-
-DEFAULT VALUE:
- This is not defined by default. If no other root file system configuration
- parameters are specified, the IMFS will be used as the root file system.
-
-DESCRIPTION:
- This configuration parameter is defined if the application wishes to use
- the device-only filesytem as the root file system.
-
-NOTES:
- The device-only filesystem supports only device nodes and is smaller in
- executable code size than the full IMFS and miniIMFS.
-
- The devFS is comparable in functionality to the pseudo-filesystem name
- space provided before RTEMS release 4.5.0.
-
-.. index:: CONFIGURE_MAXIMUM_DEVICES
-
-.. _CONFIGURE_MAXIMUM_DEVICES:
-
-CONFIGURE_MAXIMUM_DEVICES
--------------------------
-
-CONSTANT:
- ``CONFIGURE_MAXIMUM_DEVICES``
-
-DATA TYPE:
- Unsigned integer (``uint32_t``).
-
-RANGE:
- Positive.
-
-DEFAULT VALUE:
- If ``BSP_MAXIMUM_DEVICES`` is defined, then the default value is
- ``BSP_MAXIMUM_DEVICES``, otherwise the default value is 4.
-
-DESCRIPTION:
- ``CONFIGURE_MAXIMUM_DEVICES`` is defined to the number of individual
- devices that may be registered in the device file system (devFS).
-
-NOTES:
- This option is specific to the device file system (devFS) and should not be
- confused with the ``CONFIGURE_MAXIMUM_DRIVERS`` option. This parameter
- only impacts the devFS and thus is only used by ``<rtems/confdefs.h>`` when
- ``CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM`` is specified.
-
.. index:: CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
.. _CONFIGURE_APPLICATION_DISABLE_FILESYSTEM:
@@ -2261,15 +2197,15 @@ DESCRIPTION:
NOTES:
None.
-.. index:: CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
+.. index:: CONFIGURE_IMFS_ENABLE_MKFIFO
-.. _CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM:
+.. _CONFIGURE_IMFS_ENABLE_MKFIFO:
-CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
------------------------------------------
+CONFIGURE_IMFS_ENABLE_MKFIFO
+----------------------------
CONSTANT:
- ``CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM``
+ ``CONFIGURE_IMFS_ENABLE_MKFIFO``
DATA TYPE:
Boolean feature macro.
@@ -2281,73 +2217,31 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the following
- configuration options will be defined as well
-
- - ``CONFIGURE_IMFS_DISABLE_CHMOD``,
-
- - ``CONFIGURE_IMFS_DISABLE_CHOWN``,
-
- - ``CONFIGURE_IMFS_DISABLE_UTIME``,
-
- - ``CONFIGURE_IMFS_DISABLE_LINK``,
-
- - ``CONFIGURE_IMFS_DISABLE_SYMLINK``,
-
- - ``CONFIGURE_IMFS_DISABLE_READLINK``,
-
- - ``CONFIGURE_IMFS_DISABLE_RENAME``, and
-
- - ``CONFIGURE_IMFS_DISABLE_UNMOUNT``.
+ In case this configuration option is defined, then the support to make FIFOs
+ is enabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
+.. index:: CONFIGURE_IMFS_DISABLE_CHMOD
-.. _CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK:
+.. _CONFIGURE_IMFS_DISABLE_CHMOD:
-CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
---------------------------------------
+CONFIGURE_IMFS_DISABLE_CHMOD
+----------------------------
CONSTANT:
- ``CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK``
+ ``CONFIGURE_IMFS_DISABLE_CHMOD``
DATA TYPE:
Boolean feature macro.
RANGE:
- Valid values for this configuration parameter are a power of two (2)
- between 16 and 512 inclusive. In other words, valid values are 16, 32, 64,
- 128, 256,and 512.
+ Defined or undefined.
DEFAULT VALUE:
- The default IMFS block size is 128 bytes.
+ This is not defined by default.
DESCRIPTION:
- This configuration parameter specifies the block size for in-memory files
- managed by the IMFS. The configured block size has two impacts. The first
- is the average amount of unused memory in the last block of each file. For
- example, when the block size is 512, on average one-half of the last block
- of each file will remain unused and the memory is wasted. In contrast, when
- the block size is 16, the average unused memory per file is only 8
- bytes. However, it requires more allocations for the same size file and
- thus more overhead per block for the dynamic memory management.
-
- Second, the block size has an impact on the maximum size file that can be
- stored in the IMFS. With smaller block size, the maximum file size is
- correspondingly smaller. The following shows the maximum file size possible
- based on the configured block size:
-
- - when the block size is 16 bytes, the maximum file size is 1,328 bytes.
-
- - when the block size is 32 bytes, the maximum file size is 18,656 bytes.
-
- - when the block size is 64 bytes, the maximum file size is 279,488 bytes.
-
- - when the block size is 128 bytes, the maximum file size is 4,329,344 bytes.
-
- - when the block size is 256 bytes, the maximum file size is 68,173,568 bytes.
-
- - when the block size is 512 bytes, the maximum file size is 1,082,195,456
- bytes.
+ In case this configuration option is defined, then the support to change
+ the mode is disabled in the root IMFS.
.. index:: CONFIGURE_IMFS_DISABLE_CHOWN
@@ -2372,15 +2266,15 @@ DESCRIPTION:
In case this configuration option is defined, then the support to change
the owner is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_CHMOD
+.. index:: CONFIGURE_IMFS_DISABLE_LINK
-.. _CONFIGURE_IMFS_DISABLE_CHMOD:
+.. _CONFIGURE_IMFS_DISABLE_LINK:
-CONFIGURE_IMFS_DISABLE_CHMOD
-----------------------------
+CONFIGURE_IMFS_DISABLE_LINK
+---------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_CHMOD``
+ ``CONFIGURE_IMFS_DISABLE_LINK``
DATA TYPE:
Boolean feature macro.
@@ -2392,18 +2286,18 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to change
- the mode is disabled in the root IMFS.
+ In case this configuration option is defined, then the support to create
+ hard links is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_UTIME
+.. index:: CONFIGURE_IMFS_DISABLE_MKNOD
-.. _CONFIGURE_IMFS_DISABLE_UTIME:
+.. _CONFIGURE_IMFS_DISABLE_MKNOD:
-CONFIGURE_IMFS_DISABLE_UTIME
+CONFIGURE_IMFS_DISABLE_MKNOD
----------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_UTIME``
+ ``CONFIGURE_IMFS_DISABLE_MKNOD``
DATA TYPE:
Boolean feature macro.
@@ -2415,18 +2309,18 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to change
- times is disabled in the root IMFS.
+ In case this configuration option is defined, then the support to make
+ directories, devices, regular files and FIFOs is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_LINK
+.. index:: CONFIGURE_IMFS_DISABLE_MKNOD_FILE
-.. _CONFIGURE_IMFS_DISABLE_LINK:
+.. _CONFIGURE_IMFS_DISABLE_MKNOD_FILE:
-CONFIGURE_IMFS_DISABLE_LINK
----------------------------
+CONFIGURE_IMFS_DISABLE_MKNOD_FILE
+---------------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_LINK``
+ ``CONFIGURE_IMFS_DISABLE_MKNOD_FILE``
DATA TYPE:
Boolean feature macro.
@@ -2438,18 +2332,18 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to create
- hard links is disabled in the root IMFS.
+ In case this configuration option is defined, then the support to make
+ regular files is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_SYMLINK
+.. index:: CONFIGURE_IMFS_DISABLE_MOUNT
-.. _CONFIGURE_IMFS_DISABLE_SYMLINK:
+.. _CONFIGURE_IMFS_DISABLE_MOUNT:
-CONFIGURE_IMFS_DISABLE_SYMLINK
-------------------------------
+CONFIGURE_IMFS_DISABLE_MOUNT
+----------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_SYMLINK``
+ ``CONFIGURE_IMFS_DISABLE_MOUNT``
DATA TYPE:
Boolean feature macro.
@@ -2461,15 +2355,39 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to create
- symbolic links is disabled in the root IMFS.
-
-.. index:: CONFIGURE_IMFS_DISABLE_READLINK
+ In case this configuration option is defined, then the support to mount
+ other file systems is disabled in the root IMFS.
-.. _CONFIGURE_IMFS_DISABLE_READLINK:
+.. index:: CONFIGURE_IMFS_DISABLE_READDIR
-CONFIGURE_IMFS_DISABLE_READLINK
--------------------------------
+.. _CONFIGURE_IMFS_DISABLE_READDIR:
+
+CONFIGURE_IMFS_DISABLE_READDIR
+------------------------------
+
+CONSTANT:
+ ``CONFIGURE_IMFS_DISABLE_READDIR``
+
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This is not defined by default.
+
+DESCRIPTION:
+ In case this configuration option is defined, then the support to read a
+ directory is disabled in the root IMFS. It is still possible to open nodes
+ in a directory.
+
+.. index:: CONFIGURE_IMFS_DISABLE_READLINK
+
+.. _CONFIGURE_IMFS_DISABLE_READLINK:
+
+CONFIGURE_IMFS_DISABLE_READLINK
+-------------------------------
CONSTANT:
``CONFIGURE_IMFS_DISABLE_READLINK``
@@ -2510,15 +2428,15 @@ DESCRIPTION:
In case this configuration option is defined, then the support to rename
nodes is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_READDIR
+.. index:: CONFIGURE_IMFS_DISABLE_RMNOD
-.. _CONFIGURE_IMFS_DISABLE_READDIR:
+.. _CONFIGURE_IMFS_DISABLE_RMNOD:
-CONFIGURE_IMFS_DISABLE_READDIR
-------------------------------
+CONFIGURE_IMFS_DISABLE_RMNOD
+----------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_READDIR``
+ ``CONFIGURE_IMFS_DISABLE_RMNOD``
DATA TYPE:
Boolean feature macro.
@@ -2530,19 +2448,18 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to read a
- directory is disabled in the root IMFS. It is still possible to open nodes
- in a directory.
+ In case this configuration option is defined, then the support to remove
+ nodes is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_MOUNT
+.. index:: CONFIGURE_IMFS_DISABLE_SYMLINK
-.. _CONFIGURE_IMFS_DISABLE_MOUNT:
+.. _CONFIGURE_IMFS_DISABLE_SYMLINK:
-CONFIGURE_IMFS_DISABLE_MOUNT
-----------------------------
+CONFIGURE_IMFS_DISABLE_SYMLINK
+------------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_MOUNT``
+ ``CONFIGURE_IMFS_DISABLE_SYMLINK``
DATA TYPE:
Boolean feature macro.
@@ -2554,8 +2471,8 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to mount
- other file systems is disabled in the root IMFS.
+ In case this configuration option is defined, then the support to create
+ symbolic links is disabled in the root IMFS.
.. index:: CONFIGURE_IMFS_DISABLE_UNMOUNT
@@ -2580,15 +2497,15 @@ DESCRIPTION:
In case this configuration option is defined, then the support to unmount
file systems is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_MKNOD
+.. index:: CONFIGURE_IMFS_DISABLE_UTIME
-.. _CONFIGURE_IMFS_DISABLE_MKNOD:
+.. _CONFIGURE_IMFS_DISABLE_UTIME:
-CONFIGURE_IMFS_DISABLE_MKNOD
+CONFIGURE_IMFS_DISABLE_UTIME
----------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_MKNOD``
+ ``CONFIGURE_IMFS_DISABLE_UTIME``
DATA TYPE:
Boolean feature macro.
@@ -2600,41 +2517,97 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to make
- directories, devices, regular files and FIFOs is disabled in the root IMFS.
+ In case this configuration option is defined, then the support to change
+ times is disabled in the root IMFS.
-.. index:: CONFIGURE_IMFS_DISABLE_MKNOD_FILE
+.. index:: CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
-.. _CONFIGURE_IMFS_DISABLE_MKNOD_FILE:
+.. _CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK:
-CONFIGURE_IMFS_DISABLE_MKNOD_FILE
----------------------------------
+CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
+--------------------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_MKNOD_FILE``
+ ``CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK``
DATA TYPE:
Boolean feature macro.
RANGE:
- Defined or undefined.
+ Valid values for this configuration parameter are a power of two (2)
+ between 16 and 512 inclusive. In other words, valid values are 16, 32, 64,
+ 128, 256,and 512.
DEFAULT VALUE:
- This is not defined by default.
+ The default IMFS block size is 128 bytes.
DESCRIPTION:
- In case this configuration option is defined, then the support to make
- regular files is disabled in the root IMFS.
+ This configuration parameter specifies the block size for in-memory files
+ managed by the IMFS. The configured block size has two impacts. The first
+ is the average amount of unused memory in the last block of each file. For
+ example, when the block size is 512, on average one-half of the last block
+ of each file will remain unused and the memory is wasted. In contrast, when
+ the block size is 16, the average unused memory per file is only 8
+ bytes. However, it requires more allocations for the same size file and
+ thus more overhead per block for the dynamic memory management.
-.. index:: CONFIGURE_IMFS_DISABLE_RMNOD
+ Second, the block size has an impact on the maximum size file that can be
+ stored in the IMFS. With smaller block size, the maximum file size is
+ correspondingly smaller. The following shows the maximum file size possible
+ based on the configured block size:
-.. _CONFIGURE_IMFS_DISABLE_RMNOD:
+ - when the block size is 16 bytes, the maximum file size is 1,328 bytes.
-CONFIGURE_IMFS_DISABLE_RMNOD
-----------------------------
+ - when the block size is 32 bytes, the maximum file size is 18,656 bytes.
+
+ - when the block size is 64 bytes, the maximum file size is 279,488 bytes.
+
+ - when the block size is 128 bytes, the maximum file size is 4,329,344 bytes.
+
+ - when the block size is 256 bytes, the maximum file size is 68,173,568 bytes.
+
+ - when the block size is 512 bytes, the maximum file size is 1,082,195,456
+ bytes.
+
+.. index:: CONFIGURE_MAXIMUM_DEVICES
+
+.. _CONFIGURE_MAXIMUM_DEVICES:
+
+CONFIGURE_MAXIMUM_DEVICES
+-------------------------
CONSTANT:
- ``CONFIGURE_IMFS_DISABLE_RMNOD``
+ ``CONFIGURE_MAXIMUM_DEVICES``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Positive.
+
+DEFAULT VALUE:
+ If ``BSP_MAXIMUM_DEVICES`` is defined, then the default value is
+ ``BSP_MAXIMUM_DEVICES``, otherwise the default value is 4.
+
+DESCRIPTION:
+ ``CONFIGURE_MAXIMUM_DEVICES`` is defined to the number of individual
+ devices that may be registered in the device file system (devFS).
+
+NOTES:
+ This option is specific to the device file system (devFS) and should not be
+ confused with the ``CONFIGURE_MAXIMUM_DRIVERS`` option. This parameter
+ only impacts the devFS and thus is only used by ``<rtems/confdefs.h>`` when
+ ``CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM`` is specified.
+
+.. index:: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
+
+.. _CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM:
+
+CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
+--------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM``
DATA TYPE:
Boolean feature macro.
@@ -2643,21 +2616,29 @@ RANGE:
Defined or undefined.
DEFAULT VALUE:
- This is not defined by default.
+ This is not defined by default. If no other root file system configuration
+ parameters are specified, the IMFS will be used as the root file system.
DESCRIPTION:
- In case this configuration option is defined, then the support to remove
- nodes is disabled in the root IMFS.
+ This configuration parameter is defined if the application wishes to use
+ the device-only filesytem as the root file system.
-.. index:: CONFIGURE_IMFS_ENABLE_MKFIFO
+NOTES:
+ The device-only filesystem supports only device nodes and is smaller in
+ executable code size than the full IMFS and miniIMFS.
-.. _CONFIGURE_IMFS_ENABLE_MKFIFO:
+ The devFS is comparable in functionality to the pseudo-filesystem name
+ space provided before RTEMS release 4.5.0.
-CONFIGURE_IMFS_ENABLE_MKFIFO
-----------------------------
+.. index:: CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
+
+.. _CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM:
+
+CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
+-----------------------------------------
CONSTANT:
- ``CONFIGURE_IMFS_ENABLE_MKFIFO``
+ ``CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM``
DATA TYPE:
Boolean feature macro.
@@ -2669,8 +2650,24 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- In case this configuration option is defined, then the support to make FIFOs
- is enabled in the root IMFS.
+ In case this configuration option is defined, then the following
+ configuration options will be defined as well
+
+ - ``CONFIGURE_IMFS_DISABLE_CHMOD``,
+
+ - ``CONFIGURE_IMFS_DISABLE_CHOWN``,
+
+ - ``CONFIGURE_IMFS_DISABLE_UTIME``,
+
+ - ``CONFIGURE_IMFS_DISABLE_LINK``,
+
+ - ``CONFIGURE_IMFS_DISABLE_SYMLINK``,
+
+ - ``CONFIGURE_IMFS_DISABLE_READLINK``,
+
+ - ``CONFIGURE_IMFS_DISABLE_RENAME``, and
+
+ - ``CONFIGURE_IMFS_DISABLE_UNMOUNT``.
Block Device Cache Configuration
================================
@@ -2730,65 +2727,65 @@ DESCRIPTION:
NOTES:
None.
-.. index:: CONFIGURE_BDBUF_BUFFER_MIN_SIZE
+.. index:: CONFIGURE_BDBUF_BUFFER_MAX_SIZE
-.. _CONFIGURE_BDBUF_BUFFER_MIN_SIZE:
+.. _CONFIGURE_BDBUF_BUFFER_MAX_SIZE:
-CONFIGURE_BDBUF_BUFFER_MIN_SIZE
+CONFIGURE_BDBUF_BUFFER_MAX_SIZE
-------------------------------
CONSTANT:
- ``CONFIGURE_BDBUF_BUFFER_MIN_SIZE``
+ ``CONFIGURE_BDBUF_BUFFER_MAX_SIZE``
DATA TYPE:
Unsigned integer (``uint32_t``).
RANGE:
- Positive.
+ It must be positive and an integral multiple of the buffer minimum size.
DEFAULT VALUE:
- The default value is 512 bytes.
+ The default value is 4096 bytes.
DESCRIPTION:
- Defines the minimum size of a buffer in bytes.
+ Defines the maximum size of a buffer in bytes.
NOTES:
None.
-.. index:: CONFIGURE_BDBUF_BUFFER_MAX_SIZE
+.. index:: CONFIGURE_BDBUF_BUFFER_MIN_SIZE
-.. _CONFIGURE_BDBUF_BUFFER_MAX_SIZE:
+.. _CONFIGURE_BDBUF_BUFFER_MIN_SIZE:
-CONFIGURE_BDBUF_BUFFER_MAX_SIZE
+CONFIGURE_BDBUF_BUFFER_MIN_SIZE
-------------------------------
CONSTANT:
- ``CONFIGURE_BDBUF_BUFFER_MAX_SIZE``
+ ``CONFIGURE_BDBUF_BUFFER_MIN_SIZE``
DATA TYPE:
Unsigned integer (``uint32_t``).
RANGE:
- It must be positive and an integral multiple of the buffer minimum size.
+ Positive.
DEFAULT VALUE:
- The default value is 4096 bytes.
+ The default value is 512 bytes.
DESCRIPTION:
- Defines the maximum size of a buffer in bytes.
+ Defines the minimum size of a buffer in bytes.
NOTES:
None.
-.. index:: CONFIGURE_SWAPOUT_SWAP_PERIOD
+.. index:: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
-.. _CONFIGURE_SWAPOUT_SWAP_PERIOD:
+.. _CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS:
-CONFIGURE_SWAPOUT_SWAP_PERIOD
------------------------------
+CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
+-------------------------------------
CONSTANT:
- ``CONFIGURE_SWAPOUT_SWAP_PERIOD``
+ ``CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -2797,23 +2794,25 @@ RANGE:
Positive.
DEFAULT VALUE:
- The default value is 250 milliseconds.
+ The default value is 0.
DESCRIPTION:
- Defines the swapout task swap period in milliseconds.
+ Defines the maximum blocks per read-ahead request.
NOTES:
- None.
+ 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.
-.. index:: CONFIGURE_SWAPOUT_BLOCK_HOLD
+.. index:: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
-.. _CONFIGURE_SWAPOUT_BLOCK_HOLD:
+.. _CONFIGURE_BDBUF_MAX_WRITE_BLOCKS:
-CONFIGURE_SWAPOUT_BLOCK_HOLD
-----------------------------
+CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
+--------------------------------
CONSTANT:
- ``CONFIGURE_SWAPOUT_BLOCK_HOLD``
+ ``CONFIGURE_BDBUF_MAX_WRITE_BLOCKS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -2822,23 +2821,23 @@ RANGE:
Positive.
DEFAULT VALUE:
- The default value is 1000 milliseconds.
+ The default value is 16.
DESCRIPTION:
- Defines the swapout task maximum block hold time in milliseconds.
+ Defines the maximum blocks per write request.
NOTES:
None.
-.. index:: CONFIGURE_SWAPOUT_TASK_PRIORITY
+.. index:: CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
-.. _CONFIGURE_SWAPOUT_TASK_PRIORITY:
+.. _CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY:
-CONFIGURE_SWAPOUT_TASK_PRIORITY
--------------------------------
+CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
+----------------------------------------
CONSTANT:
- ``CONFIGURE_SWAPOUT_TASK_PRIORITY``
+ ``CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY``
DATA TYPE:
Task priority (``rtems_task_priority``).
@@ -2850,47 +2849,45 @@ DEFAULT VALUE:
The default value is 15.
DESCRIPTION:
- Defines the swapout task priority.
+ Defines the read-ahead task priority.
NOTES:
None.
-.. index:: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
+.. index:: CONFIGURE_BDBUF_TASK_STACK_SIZE
-.. _CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS:
+.. _CONFIGURE_BDBUF_TASK_STACK_SIZE:
-CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
--------------------------------------
+CONFIGURE_BDBUF_TASK_STACK_SIZE
+-------------------------------
CONSTANT:
- ``CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS``
+ ``CONFIGURE_BDBUF_TASK_STACK_SIZE``
DATA TYPE:
- Unsigned integer (``uint32_t``).
+ Unsigned integer (``size_t``).
RANGE:
- Positive.
+ Zero or positive.
DEFAULT VALUE:
- The default value is 0.
+ The default value is RTEMS_MINIMUM_STACK_SIZE.
DESCRIPTION:
- Defines the maximum blocks per read-ahead request.
+ Defines the task stack size of the Block Device Cache tasks in bytes.
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.
+ None.
-.. index:: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
+.. index:: CONFIGURE_SWAPOUT_BLOCK_HOLD
-.. _CONFIGURE_BDBUF_MAX_WRITE_BLOCKS:
+.. _CONFIGURE_SWAPOUT_BLOCK_HOLD:
-CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
---------------------------------
+CONFIGURE_SWAPOUT_BLOCK_HOLD
+----------------------------
CONSTANT:
- ``CONFIGURE_BDBUF_MAX_WRITE_BLOCKS``
+ ``CONFIGURE_SWAPOUT_BLOCK_HOLD``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -2899,48 +2896,48 @@ RANGE:
Positive.
DEFAULT VALUE:
- The default value is 16.
+ The default value is 1000 milliseconds.
DESCRIPTION:
- Defines the maximum blocks per write request.
+ Defines the swapout task maximum block hold time in milliseconds.
NOTES:
None.
-.. index:: CONFIGURE_BDBUF_TASK_STACK_SIZE
+.. index:: CONFIGURE_SWAPOUT_SWAP_PERIOD
-.. _CONFIGURE_BDBUF_TASK_STACK_SIZE:
+.. _CONFIGURE_SWAPOUT_SWAP_PERIOD:
-CONFIGURE_BDBUF_TASK_STACK_SIZE
--------------------------------
+CONFIGURE_SWAPOUT_SWAP_PERIOD
+-----------------------------
CONSTANT:
- ``CONFIGURE_BDBUF_TASK_STACK_SIZE``
+ ``CONFIGURE_SWAPOUT_SWAP_PERIOD``
DATA TYPE:
- Unsigned integer (``size_t``).
+ Unsigned integer (``uint32_t``).
RANGE:
- Zero or positive.
+ Positive.
DEFAULT VALUE:
- The default value is RTEMS_MINIMUM_STACK_SIZE.
+ The default value is 250 milliseconds.
DESCRIPTION:
- Defines the task stack size of the Block Device Cache tasks in bytes.
+ Defines the swapout task swap period in milliseconds.
NOTES:
None.
-.. index:: CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
+.. index:: CONFIGURE_SWAPOUT_TASK_PRIORITY
-.. _CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY:
+.. _CONFIGURE_SWAPOUT_TASK_PRIORITY:
-CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
-----------------------------------------
+CONFIGURE_SWAPOUT_TASK_PRIORITY
+-------------------------------
CONSTANT:
- ``CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY``
+ ``CONFIGURE_SWAPOUT_TASK_PRIORITY``
DATA TYPE:
Task priority (``rtems_task_priority``).
@@ -2952,57 +2949,57 @@ DEFAULT VALUE:
The default value is 15.
DESCRIPTION:
- Defines the read-ahead task priority.
+ Defines the swapout task priority.
NOTES:
None.
-.. index:: CONFIGURE_SWAPOUT_WORKER_TASKS
+.. index:: CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
-.. _CONFIGURE_SWAPOUT_WORKER_TASKS:
+.. _CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY:
-CONFIGURE_SWAPOUT_WORKER_TASKS
-------------------------------
+CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
+--------------------------------------
CONSTANT:
- ``CONFIGURE_SWAPOUT_WORKER_TASKS``
+ ``CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY``
DATA TYPE:
- Unsigned integer (``size_t``).
+ Task priority (``rtems_task_priority``).
RANGE:
- Zero or positive.
+ Valid task priority.
DEFAULT VALUE:
- The default value is 0.
+ The default value is 15.
DESCRIPTION:
- Defines the swapout worker task count.
+ Defines the swapout worker task priority.
NOTES:
None.
-.. index:: CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
+.. index:: CONFIGURE_SWAPOUT_WORKER_TASKS
-.. _CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY:
+.. _CONFIGURE_SWAPOUT_WORKER_TASKS:
-CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
---------------------------------------
+CONFIGURE_SWAPOUT_WORKER_TASKS
+------------------------------
CONSTANT:
- ``CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY``
+ ``CONFIGURE_SWAPOUT_WORKER_TASKS``
DATA TYPE:
- Task priority (``rtems_task_priority``).
+ Unsigned integer (``size_t``).
RANGE:
- Valid task priority.
+ Zero or positive.
DEFAULT VALUE:
- The default value is 15.
+ The default value is 0.
DESCRIPTION:
- Defines the swapout worker task priority.
+ Defines the swapout worker task count.
NOTES:
None.
@@ -3284,32 +3281,6 @@ DESCRIPTION:
NOTES:
None.
-.. index:: CONFIGURE_IDLE_TASK_STACK_SIZE
-
-.. _CONFIGURE_IDLE_TASK_STACK_SIZE:
-
-CONFIGURE_IDLE_TASK_STACK_SIZE
-------------------------------
-
-CONSTANT:
- ``CONFIGURE_IDLE_TASK_STACK_SIZE``
-
-DATA TYPE:
- Unsigned integer (``size_t``).
-
-RANGE:
- Undefined or positive.
-
-DEFAULT VALUE:
- The default value is RTEMS_MINIMUM_STACK_SIZE.
-
-DESCRIPTION:
- ``CONFIGURE_IDLE_TASK_STACK_SIZE`` is set to the desired stack size for the
- IDLE task.
-
-NOTES:
- None.
-
.. index:: CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
.. _CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION:
@@ -3344,6 +3315,32 @@ NOTES:
The IDLE task must run at the lowest priority of all tasks in the system.
+.. index:: CONFIGURE_IDLE_TASK_STACK_SIZE
+
+.. _CONFIGURE_IDLE_TASK_STACK_SIZE:
+
+CONFIGURE_IDLE_TASK_STACK_SIZE
+------------------------------
+
+CONSTANT:
+ ``CONFIGURE_IDLE_TASK_STACK_SIZE``
+
+DATA TYPE:
+ Unsigned integer (``size_t``).
+
+RANGE:
+ Undefined or positive.
+
+DEFAULT VALUE:
+ The default value is RTEMS_MINIMUM_STACK_SIZE.
+
+DESCRIPTION:
+ ``CONFIGURE_IDLE_TASK_STACK_SIZE`` is set to the desired stack size for the
+ IDLE task.
+
+NOTES:
+ None.
+
General Scheduler Configuration
===============================
@@ -3955,38 +3952,95 @@ suitable for simple applications with no custom device drivers.
Note that network device drivers are not configured in the Device Driver Table.
-.. index:: CONFIGURE_MAXIMUM_DRIVERS
+.. index:: CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
-.. _CONFIGURE_MAXIMUM_DRIVERS:
+.. _CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER:
-CONFIGURE_MAXIMUM_DRIVERS
--------------------------
+CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+------------------------------------------------
CONSTANT:
+ ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``
- ``CONFIGURE_MAXIMUM_DRIVERS``
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This is not defined by default.
+
+DESCRIPTION:
+ ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`` is defined when the
+ application does *NOT* want the Clock Device Driver and is *NOT* using the
+ Timer Driver. The inclusion or exclusion of the Clock Driver must be
+ explicit in user applications.
+
+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.
+
+.. index:: CONFIGURE_APPLICATION_EXTRA_DRIVERS
+
+.. _CONFIGURE_APPLICATION_EXTRA_DRIVERS:
+
+CONFIGURE_APPLICATION_EXTRA_DRIVERS
+-----------------------------------
+
+CONSTANT:
+ ``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
DATA TYPE:
- Unsigned integer (``uint32_t``).
+ device driver entry structures
RANGE:
- Zero or positive.
+ Undefined or set of device driver entry structures
DEFAULT VALUE:
- This is computed by default, and is set to the number of device drivers
- configured using the ``CONFIGURE_APPLICATIONS_NEEDS_XXX_DRIVER``
- configuration parameters.
+ This is not defined by default.
DESCRIPTION:
- ``CONFIGURE_MAXIMUM_DRIVERS`` is defined as the number of device drivers
- per node.
+ ``CONFIGURE_APPLICATION_EXTRA_DRIVERS`` is defined if the application has
+ device drivers it needs to include in the Device Driver Table. This should
+ be defined to the set of device driver entries that will be placed in the
+ table at the *END* of the Device Driver Table.
NOTES:
- If the application will dynamically install device drivers, then this
- configuration parameter must be larger than the number of statically
- configured device drivers. Drivers configured using the
- ``CONFIGURE_APPLICATIONS_NEEDS_XXX_DRIVER`` configuration parameters are
- statically installed.
+ None.
+
+.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+
+.. _CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER:
+
+CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+----------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``
+
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This is not defined by default.
+
+DESCRIPTION:
+ ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`` is defined if the application
+ wishes to include the Clock Device Driver.
+
+NOTES:
+ This device driver is responsible for providing a regular interrupt which
+ invokes a clock tick directive.
+
+ If neither the Clock Driver not Benchmark Timer is enabled and the
+ configuration parameter
+ ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`` is not defined, then a
+ compile time error will occur.
.. index:: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
@@ -4029,6 +4083,92 @@ NOTES:
configuration options are mutually exclusive.
+.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
+
+.. _CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER:
+
+CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
+-----------------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER``
+
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This is not defined by default.
+
+DESCRIPTION:
+ ``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER`` is defined if the
+ application wishes to include the BSP's Frame Buffer Device Driver.
+
+NOTES:
+ Most BSPs do not include support for a Frame Buffer Device Driver. This is
+ because many boards do not include the required hardware.
+
+ If this 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
+
+.. _CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER:
+
+CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
+---------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
+
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This is not defined by default.
+
+DESCRIPTION:
+ This configuration variable is specified to enable ``/dev/null`` device driver.
+
+NOTES:
+ This device driver is supported by all BSPs.
+
+.. index:: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
+
+.. _CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER:
+
+CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
+--------------------------------------
+
+CONSTANT:
+ ``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
+
+DATA TYPE:
+ Boolean feature macro.
+
+RANGE:
+ Defined or undefined.
+
+DEFAULT VALUE:
+ This is not defined by default.
+
+DESCRIPTION:
+ ``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER`` is defined if the application
+ wishes to include the Real-Time Clock Driver.
+
+NOTES:
+ Most BSPs do not include support for a real-time clock. This is because
+ many boards do not include the required hardware.
+
+ If this 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_SIMPLE_CONSOLE_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER:
@@ -4128,15 +4268,15 @@ NOTES:
configuration options are mutually exclusive.
-.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+.. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
-.. _CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER:
+.. _CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER:
-CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-----------------------------------------
+CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
+---------------------------------------
CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``
+ ``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
DATA TYPE:
Boolean feature macro.
@@ -4148,117 +4288,22 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`` is defined if the application
- wishes to include the Clock Device Driver.
+ ``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER`` is defined if the application
+ wishes to include the Stub Device Driver.
NOTES:
- This device driver is responsible for providing a regular interrupt which
- invokes a clock tick directive.
-
- If neither the Clock Driver not Benchmark Timer is enabled and the
- configuration parameter
- ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`` is not defined, then a
- compile time error will occur.
+ This device driver simply provides entry points that return successful and
+ is primarily a test fixture. It is supported by all BSPs.
.. index:: CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER:
CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
-----------------------------------------
-
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``
-
-DATA TYPE:
- Boolean feature macro.
-
-RANGE:
- Defined or undefined.
-
-DEFAULT VALUE:
- This is not defined by default.
-
-DESCRIPTION:
- ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`` is defined if the application
- wishes to include the Timer Driver. This device driver is used to
- benchmark execution times by the RTEMS Timing Test Suites.
-
-NOTES:
- If neither the Clock Driver not Benchmark Timer is enabled and the
- configuration parameter
- ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`` is not defined, then a
- compile time error will occur.
-
-.. index:: CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
-
-.. _CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER:
-
-CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
-------------------------------------------------
-
-CONSTANT:
- ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``
-
-DATA TYPE:
- Boolean feature macro.
-
-RANGE:
- Defined or undefined.
-
-DEFAULT VALUE:
- This is not defined by default.
-
-DESCRIPTION:
- ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`` is defined when the
- application does *NOT* want the Clock Device Driver and is *NOT* using the
- Timer Driver. The inclusion or exclusion of the Clock Driver must be
- explicit in user applications.
-
-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.
-
-.. index:: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
-
-.. _CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER:
-
-CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
---------------------------------------
-
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
-
-DATA TYPE:
- Boolean feature macro.
-
-RANGE:
- Defined or undefined.
-
-DEFAULT VALUE:
- This is not defined by default.
-
-DESCRIPTION:
- ``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER`` is defined if the application
- wishes to include the Real-Time Clock Driver.
-
-NOTES:
- Most BSPs do not include support for a real-time clock. This is because
- many boards do not include the required hardware.
-
- If this 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_WATCHDOG_DRIVER
-
-.. _CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER:
-
-CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
--------------------------------------------
+----------------------------------------
CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
+ ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``
DATA TYPE:
Boolean feature macro.
@@ -4270,25 +4315,25 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- ``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER`` is defined if the
- application wishes to include the Watchdog Driver.
+ ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`` is defined if the application
+ wishes to include the Timer Driver. This device driver is used to
+ benchmark execution times by the RTEMS Timing Test Suites.
NOTES:
- Most BSPs do not include support for a watchdog device driver. This is
- because many boards do not include the required hardware.
-
- If this is defined and the BSP does not have this device driver, then the
- user will get a link time error for an undefined symbol.
+ If neither the Clock Driver not Benchmark Timer is enabled and the
+ configuration parameter
+ ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`` is not defined, then a
+ compile time error will occur.
-.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
+.. index:: CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
-.. _CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER:
+.. _CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER:
-CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
------------------------------------------------
+CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
+-------------------------------------------
CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER``
+ ``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
DATA TYPE:
Boolean feature macro.
@@ -4300,25 +4345,26 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- ``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER`` is defined if the
- application wishes to include the BSP's Frame Buffer Device Driver.
+ ``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER`` is defined if the
+ application wishes to include the Watchdog Driver.
NOTES:
- Most BSPs do not include support for a Frame Buffer Device Driver. This is
+ Most BSPs do not include support for a watchdog device driver. This is
because many boards do not include the required hardware.
If this 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_STUB_DRIVER
+.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
+.. index:: /dev/zero
-.. _CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER:
+.. _CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER:
-CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
+CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
---------------------------------------
CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
+ ``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
DATA TYPE:
Boolean feature macro.
@@ -4330,12 +4376,10 @@ DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- ``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER`` is defined if the application
- wishes to include the Stub Device Driver.
+ This configuration variable is specified to enable ``/dev/zero`` device driver.
NOTES:
- This device driver simply provides entry points that return successful and
- is primarily a test fixture. It is supported by all BSPs.
+ This device driver is supported by all BSPs.
.. index:: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
@@ -4370,87 +4414,38 @@ NOTES:
with VMEBus. The VMEBus Controller initialization is performed by a device
driver configured via this configuration parameter.
-.. COMMENT: XXX Add example
-
-.. index:: CONFIGURE_APPLICATION_EXTRA_DRIVERS
-
-.. _CONFIGURE_APPLICATION_EXTRA_DRIVERS:
-
-CONFIGURE_APPLICATION_EXTRA_DRIVERS
------------------------------------
-
-CONSTANT:
- ``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
-
-DATA TYPE:
- device driver entry structures
-
-RANGE:
- Undefined or set of device driver entry structures
-
-DEFAULT VALUE:
- This is not defined by default.
-
-DESCRIPTION:
- ``CONFIGURE_APPLICATION_EXTRA_DRIVERS`` is defined if the application has
- device drivers it needs to include in the Device Driver Table. This should
- be defined to the set of device driver entries that will be placed in the
- table at the *END* of the Device Driver Table.
-
-NOTES:
- None.
-
-.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
-.. index:: /dev/null
+.. index:: CONFIGURE_MAXIMUM_DRIVERS
-.. _CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER:
+.. _CONFIGURE_MAXIMUM_DRIVERS:
-CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
----------------------------------------
+CONFIGURE_MAXIMUM_DRIVERS
+-------------------------
CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
-
-DATA TYPE:
- Boolean feature macro.
-
-RANGE:
- Defined or undefined.
-
-DEFAULT VALUE:
- This is not defined by default.
-DESCRIPTION:
- This configuration variable is specified to enable ``/dev/null`` device driver.
-
-NOTES:
- This device driver is supported by all BSPs.
-
-.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
-.. index:: /dev/zero
-
-.. _CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER:
-
-CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
----------------------------------------
-
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
+ ``CONFIGURE_MAXIMUM_DRIVERS``
DATA TYPE:
- Boolean feature macro.
+ Unsigned integer (``uint32_t``).
RANGE:
- Defined or undefined.
+ Zero or positive.
DEFAULT VALUE:
- This is not defined by default.
+ This is computed by default, and is set to the number of device drivers
+ configured using the ``CONFIGURE_APPLICATIONS_NEEDS_XXX_DRIVER``
+ configuration parameters.
DESCRIPTION:
- This configuration variable is specified to enable ``/dev/zero`` device driver.
+ ``CONFIGURE_MAXIMUM_DRIVERS`` is defined as the number of device drivers
+ per node.
NOTES:
- This device driver is supported by all BSPs.
+ If the application will dynamically install device drivers, then this
+ configuration parameter must be larger than the number of statically
+ configured device drivers. Drivers configured using the
+ ``CONFIGURE_APPLICATIONS_NEEDS_XXX_DRIVER`` configuration parameters are
+ statically installed.
Multiprocessing Configuration
=============================
@@ -4492,15 +4487,15 @@ NOTES:
This has no impact unless RTEMS was built with the
``--enable-multiprocessing`` build configuration option.
-.. index:: CONFIGURE_MP_NODE_NUMBER
+.. index:: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
-.. _CONFIGURE_MP_NODE_NUMBER:
+.. _CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS:
-CONFIGURE_MP_NODE_NUMBER
-------------------------
+CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
+-----------------------------------
CONSTANT:
- ``CONFIGURE_MP_NODE_NUMBER``
+ ``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS``
DATA TYPE:
Unsigned integer (``uint32_t``).
@@ -4509,18 +4504,15 @@ RANGE:
Positive.
DEFAULT VALUE:
- The default value is ``NODE_NUMBER``, which is assumed to be set by the
- compilation environment.
+ The default value is 32.
DESCRIPTION:
- ``CONFIGURE_MP_NODE_NUMBER`` is the node number of this node in a
- multiprocessor system.
+ ``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS`` is the maximum number of
+ concurrently active global objects in a multiprocessor system.
NOTES:
- In the RTEMS Multiprocessing Test Suite, the node number is derived from
- the Makefile variable ``NODE_NUMBER``. The same code is compiled with the
- ``NODE_NUMBER`` set to different values. The test programs behave
- differently based upon their node number.
+ This value corresponds to the total number of objects which can be created
+ with the ``RTEMS_GLOBAL`` attribute.
.. index:: CONFIGURE_MP_MAXIMUM_NODES
@@ -4548,33 +4540,6 @@ DESCRIPTION:
NOTES:
None.
-.. index:: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
-
-.. _CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS:
-
-CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
------------------------------------
-
-CONSTANT:
- ``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS``
-
-DATA TYPE:
- Unsigned integer (``uint32_t``).
-
-RANGE:
- Positive.
-
-DEFAULT VALUE:
- The default value is 32.
-
-DESCRIPTION:
- ``CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS`` is the maximum number of
- concurrently active global objects in a multiprocessor system.
-
-NOTES:
- This value corresponds to the total number of objects which can be created
- with the ``RTEMS_GLOBAL`` attribute.
-
.. index:: CONFIGURE_MP_MAXIMUM_PROXIES
.. _CONFIGURE_MP_MAXIMUM_PROXIES:
@@ -4633,6 +4598,36 @@ NOTES:
Multiprocessor System assuming the BSP provides the proper set of
supporting methods.
+.. index:: CONFIGURE_MP_NODE_NUMBER
+
+.. _CONFIGURE_MP_NODE_NUMBER:
+
+CONFIGURE_MP_NODE_NUMBER
+------------------------
+
+CONSTANT:
+ ``CONFIGURE_MP_NODE_NUMBER``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Positive.
+
+DEFAULT VALUE:
+ The default value is ``NODE_NUMBER``, which is assumed to be set by the
+ compilation environment.
+
+DESCRIPTION:
+ ``CONFIGURE_MP_NODE_NUMBER`` is the node number of this node in a
+ multiprocessor system.
+
+NOTES:
+ In the RTEMS Multiprocessing Test Suite, the node number is derived from
+ the Makefile variable ``NODE_NUMBER``. The same code is compiled with the
+ ``NODE_NUMBER`` set to different values. The test programs behave
+ differently based upon their node number.
+
PCI Library Configuration
=========================
@@ -4688,60 +4683,60 @@ Plug & Play is not performed.
Event Recording Configuration
=============================
-.. index:: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
+.. index:: CONFIGURE_RECORD_EXTENSIONS_ENABLED
-.. _CONFIGURE_RECORD_PER_PROCESSOR_ITEMS:
+.. _CONFIGURE_RECORD_EXTENSIONS_ENABLED:
-CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
-------------------------------------
+CONFIGURE_RECORD_EXTENSIONS_ENABLED
+-----------------------------------
CONSTANT:
- ``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``
+ ``CONFIGURE_RECORD_EXTENSIONS_ENABLED``
DATA TYPE:
- Unsigned integer (``unsigned int``).
+ Boolean feature macro.
RANGE:
- A power of two greater than or equal to 16.
+ Defined or undefined.
DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- If defined, then a record item buffer of the specified item count is
- statically allocated for each configured processor
- (:ref:`CONFIGURE_MAXIMUM_PROCESSORS <CONFIGURE_MAXIMUM_PROCESSORS>`).
+ If defined and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
+ <CONFIGURE_RECORD_PER_PROCESSOR_ITEMS>` is also defined properly, then the
+ record extensions are enabled.
NOTES:
- None.
+ The record extensions capture thread create, start, restart, delete,
+ switch, begin, exitted and terminate events.
-.. index:: CONFIGURE_RECORD_EXTENSIONS_ENABLED
+.. index:: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
-.. _CONFIGURE_RECORD_EXTENSIONS_ENABLED:
+.. _CONFIGURE_RECORD_PER_PROCESSOR_ITEMS:
-CONFIGURE_RECORD_EXTENSIONS_ENABLED
------------------------------------
+CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
+------------------------------------
CONSTANT:
- ``CONFIGURE_RECORD_EXTENSIONS_ENABLED``
+ ``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``
DATA TYPE:
- Boolean feature macro.
+ Unsigned integer (``unsigned int``).
RANGE:
- Defined or undefined.
+ A power of two greater than or equal to 16.
DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
- If defined and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
- <CONFIGURE_RECORD_PER_PROCESSOR_ITEMS>` is also defined properly, then the
- record extensions are enabled.
+ If defined, then a record item buffer of the specified item count is
+ statically allocated for each configured processor
+ (:ref:`CONFIGURE_MAXIMUM_PROCESSORS <CONFIGURE_MAXIMUM_PROCESSORS>`).
NOTES:
- The record extensions capture thread create, start, restart, delete,
- switch, begin, exitted and terminate events.
+ None.
.. _ConfigAda:
--
2.16.4
More information about the devel
mailing list