summaryrefslogtreecommitdiffstats
path: root/c-user/config/classic-api.rst
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-09 08:46:12 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-12 10:15:37 +0100
commitbf995cf8d93d384926d1084378d6e0ca4b77f8f8 (patch)
tree5b91b41eddabdc7f5fb450799596238b769878d3 /c-user/config/classic-api.rst
parentc-user: Move "General System Configuration" (diff)
downloadrtems-docs-bf995cf8d93d384926d1084378d6e0ca4b77f8f8.tar.bz2
c-user: Move "Classic API Configuration"
Update #3836.
Diffstat (limited to 'c-user/config/classic-api.rst')
-rw-r--r--c-user/config/classic-api.rst291
1 files changed, 291 insertions, 0 deletions
diff --git a/c-user/config/classic-api.rst b/c-user/config/classic-api.rst
new file mode 100644
index 0000000..6c8f6ca
--- /dev/null
+++ b/c-user/config/classic-api.rst
@@ -0,0 +1,291 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+
+Classic API Configuration
+=========================
+
+This section defines the Classic API related system configuration parameters
+supported by ``<rtems/confdefs.h>``.
+
+.. index:: CONFIGURE_MAXIMUM_BARRIERS
+
+.. _CONFIGURE_MAXIMUM_BARRIERS:
+
+CONFIGURE_MAXIMUM_BARRIERS
+--------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_BARRIERS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``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.
+
+.. index:: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
+
+.. _CONFIGURE_MAXIMUM_MESSAGE_QUEUES:
+
+CONFIGURE_MAXIMUM_MESSAGE_QUEUES
+--------------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_MESSAGE_QUEUES``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+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.
+
+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`.
+
+.. index:: CONFIGURE_MAXIMUM_PARTITIONS
+
+.. _CONFIGURE_MAXIMUM_PARTITIONS:
+
+CONFIGURE_MAXIMUM_PARTITIONS
+----------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_PARTITIONS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``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.
+
+.. index:: CONFIGURE_MAXIMUM_PERIODS
+
+.. _CONFIGURE_MAXIMUM_PERIODS:
+
+CONFIGURE_MAXIMUM_PERIODS
+-------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_PERIODS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``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.
+
+.. index:: CONFIGURE_MAXIMUM_PORTS
+
+.. _CONFIGURE_MAXIMUM_PORTS:
+
+CONFIGURE_MAXIMUM_PORTS
+-----------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_PORTS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``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_REGIONS
+
+.. _CONFIGURE_MAXIMUM_REGIONS:
+
+CONFIGURE_MAXIMUM_REGIONS
+-------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_REGIONS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``CONFIGURE_MAXIMUM_REGIONS`` is the maximum number of Classic API Regions
+ that can be concurrently active.
+
+NOTES:
+ None.
+
+.. index:: CONFIGURE_MAXIMUM_SEMAPHORES
+
+.. _CONFIGURE_MAXIMUM_SEMAPHORES:
+
+CONFIGURE_MAXIMUM_SEMAPHORES
+----------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_SEMAPHORES``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``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.
+
+ 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_TASKS
+
+.. _CONFIGURE_MAXIMUM_TASKS:
+
+CONFIGURE_MAXIMUM_TASKS
+-----------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_TASKS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is ``0``.
+
+DESCRIPTION:
+ ``CONFIGURE_MAXIMUM_TASKS`` is the maximum number of Classic API Tasks 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.
+
+.. index:: CONFIGURE_MAXIMUM_TIMERS
+
+.. _CONFIGURE_MAXIMUM_TIMERS:
+
+CONFIGURE_MAXIMUM_TIMERS
+------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_TIMERS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``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.
+
+.. index:: CONFIGURE_MAXIMUM_USER_EXTENSIONS
+
+.. _CONFIGURE_MAXIMUM_USER_EXTENSIONS:
+
+CONFIGURE_MAXIMUM_USER_EXTENSIONS
+---------------------------------
+
+CONSTANT:
+ ``CONFIGURE_MAXIMUM_USER_EXTENSIONS``
+
+DATA TYPE:
+ Unsigned integer (``uint32_t``).
+
+RANGE:
+ Zero or positive.
+
+DEFAULT VALUE:
+ The default value is 0.
+
+DESCRIPTION:
+ ``CONFIGURE_MAXIMUM_USER_EXTENSIONS`` is the maximum number of Classic API
+ User Extensions that can be concurrently active.
+
+NOTES:
+ This object class can be configured in unlimited allocation mode.