c-user: Add application config info directives

Close #4267.
Close #4269.
This commit is contained in:
Sebastian Huber 2022-09-09 16:31:59 +02:00
parent 4fddb23a8f
commit 0fc5c0336d
13 changed files with 1832 additions and 96 deletions

View File

@ -73,8 +73,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-message-queues
@ -127,8 +127,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-partitions
@ -179,8 +179,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-periods
@ -231,8 +231,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-ports
@ -283,8 +283,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-regions
@ -335,8 +335,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-semaphores
@ -391,8 +391,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-tasks
@ -461,8 +461,8 @@ The following constraints apply to this configuration option:
<https://en.cppreference.com/w/c/types/integer>`_.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-thread-local-storage-size
@ -576,8 +576,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-user-extensions
@ -654,15 +654,15 @@ The default value is 0.
.. rubric:: DESCRIPTION:
The value of this configuration option defines the minimum count of Classic
API Tasks which are constructed by :c:func:`rtems_task_construct`.
API Tasks which are constructed by :ref:`InterfaceRtemsTaskConstruct`.
.. rubric:: NOTES:
By default, the calculation for the required memory in the RTEMS Workspace
for tasks assumes that all Classic API Tasks are created by
:c:func:`rtems_task_create`. This configuration option can be used to
:ref:`InterfaceRtemsTaskCreate`. This configuration option can be used to
reduce the required memory for the system-provided task storage areas since
tasks constructed by :c:func:`rtems_task_construct` use a user-provided
tasks constructed by :ref:`InterfaceRtemsTaskConstruct` use a user-provided
task storage area.
.. rubric:: CONSTRAINTS:

View File

@ -135,8 +135,8 @@ If this configuration option is specified, then
``<rtems/confdefs.h>`` for the Classic API initialization task,
* the Classic API initialization task is constructed by
:c:func:`rtems_task_construct` instead of using
:c:func:`rtems_task_create`,
:ref:`InterfaceRtemsTaskConstruct` instead of using
:ref:`InterfaceRtemsTaskCreate`,
* the maximum thread-local storage size defined by
:ref:`CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE` is used for the Classic API
@ -164,7 +164,7 @@ The following constraints apply to this configuration option:
:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
* The value of the configuration option shall be defined using
:c:func:`RTEMS_TASK_STORAGE_SIZE`.
:ref:`InterfaceRTEMSTASKSTORAGESIZE`.
.. Generated from spec:/acfg/if/init-task-entrypoint
@ -273,7 +273,7 @@ initialization task.
.. rubric:: NOTES:
Use :c:func:`rtems_build_name` to define the task name.
Use :ref:`InterfaceRtemsBuildName` to define the task name.
.. rubric:: CONSTRAINTS:

View File

@ -237,7 +237,7 @@ The Console Driver is responsible for providing the :file:`/dev/console`
device file. This device is used to initialize the standard input, output,
and error file descriptors.
BSPs should be constructed in a manner that allows :c:func:`printk` to work
BSPs should be constructed in a manner that allows :ref:`InterfacePrintk` to work
properly without the need for the Console Driver to be configured.
The
@ -439,9 +439,9 @@ This device driver is responsible for providing the :file:`/dev/console`
device file. This device is used to initialize the standard input, output,
and error file descriptors.
This device driver reads via :c:func:`getchark`.
This device driver reads via :ref:`InterfaceGetchark`.
This device driver writes via :c:func:`rtems_putc`.
This device driver writes via :ref:`InterfaceRtemsPutc`.
The Termios framework is not used. There is no support to change device
settings, e.g. baud, stop bits, parity, etc.
@ -493,14 +493,14 @@ This device driver is responsible for providing the :file:`/dev/console`
device file. This device is used to initialize the standard input, output,
and error file descriptors.
This device driver reads via :c:func:`getchark`.
This device driver reads via :ref:`InterfaceGetchark`.
This device driver writes into a write buffer. The count of characters
written into the write buffer is returned. It might be less than the
requested count, in case the write buffer is full. The write is
non-blocking and may be called from interrupt context. A dedicated task
reads from the write buffer and outputs the characters via
:c:func:`rtems_putc`. This task runs with the least important priority.
:ref:`InterfaceRtemsPutc`. This task runs with the least important priority.
The write buffer size is 2047 characters and it is not configurable.
Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain the

1550
c-user/config/directives.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1008,7 +1008,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:
@ -1091,7 +1091,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

View File

@ -10,6 +10,7 @@ Configuring a System
.. toctree::
introduction
intro
general
device-driver
@ -29,4 +30,5 @@ Configuring a System
mpci
libpci
ada
directives
obsolete

View File

@ -3,49 +3,6 @@
.. Copyright (C) 2012 Gedare Bloom
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
Introduction
============
RTEMS must be configured for an application. This configuration encompasses a
variety of information including the length of each clock tick, the maximum
number of each information RTEMS object that can be created, the application
initialization tasks, the task scheduling algorithm to be used, and the device
drivers in the application.
Although this information is contained in data structures that are used by
RTEMS at system initialization time, the data structures themselves must not be
generated by hand. RTEMS provides a set of macros system which provides a
simple standard mechanism to automate the generation of these structures.
.. index:: confdefs.h
.. index:: <rtems/confdefs.h>
The RTEMS header file ``<rtems/confdefs.h>`` is at the core of the automatic
generation of system configuration. It is based on the idea of setting macros
which define configuration parameters of interest to the application and
defaulting or calculating all others. This variety of macros can automatically
produce all of the configuration data required for an RTEMS application.
.. sidebar: Trivia:
The term ``confdefs`` is shorthand for a *Configuration Defaults*.
As a general rule, application developers only specify values for the
configuration parameters of interest to them. They define what resources or
features they require. In most cases, when a parameter is not specified, it
defaults to zero (0) instances, a standards compliant value, or disabled as
appropriate. For example, by default there will be 256 task priority levels but
this can be lowered by the application. This number of priority levels is
required to be compliant with the RTEID/ORKID standards upon which the Classic
API is based. There are similar cases where the default is selected to be
compliant with the POSIX standard.
For each configuration parameter in the configuration tables, the macro
corresponding to that field is discussed. The RTEMS Maintainers expect that all
systems can be easily configured using the ``<rtems/confdefs.h>`` mechanism and
that using this mechanism will avoid internal RTEMS configuration changes
impacting applications.
Default Value Selection Philosophy
==================================

View File

@ -0,0 +1,227 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
.. Copyright (C) 2009, 2021 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2021 On-Line Applications Research Corporation (OAR)
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
.. worded better please post a report or patch to an RTEMS mailing list
.. or raise a bug report:
..
.. https://www.rtems.org/bugs.html
..
.. For information on updating and regenerating please refer to the How-To
.. section in the Software Requirements Engineering chapter of the
.. RTEMS Software Engineering manual. The manual is provided as a part of
.. a release. For development sources please refer to the online
.. documentation at:
..
.. https://docs.rtems.org
.. Generated from spec:/rtems/config/if/group
.. _ApplicationConfigurationInformationIntroduction:
Introduction
============
.. The following list was generated from:
.. spec:/rtems/config/if/get-build-label
.. spec:/rtems/config/if/get-copyright-notice
.. spec:/rtems/config/if/get-target-hash
.. spec:/rtems/config/if/get-version-string
.. spec:/rtems/config/if/get-do-zero-of-workspace
.. spec:/rtems/config/if/get-idle-task-stack-size
.. spec:/rtems/config/if/get-idle-task
.. spec:/rtems/config/if/get-interrupt-stack-size
.. spec:/rtems/config/if/get-maximum-barriers
.. spec:/rtems/config/if/get-maximum-extensions
.. spec:/rtems/config/if/get-maximum-message-queues
.. spec:/rtems/config/if/get-maximum-partitions
.. spec:/rtems/config/if/get-maximum-periods
.. spec:/rtems/config/if/get-maximum-ports
.. spec:/rtems/config/if/get-maximum-processors
.. spec:/rtems/config/if/get-maximum-regions
.. spec:/rtems/config/if/get-maximum-semaphores
.. spec:/rtems/config/if/get-maximum-tasks
.. spec:/rtems/config/if/get-maximum-timers
.. spec:/rtems/config/if/get-microseconds-per-tick
.. spec:/rtems/config/if/get-milliseconds-per-tick
.. spec:/rtems/config/if/get-nanoseconds-per-tick
.. spec:/rtems/config/if/get-number-of-initial-extensions
.. spec:/rtems/config/if/get-stack-allocate-for-idle-hook
.. spec:/rtems/config/if/get-stack-allocate-hook
.. spec:/rtems/config/if/get-stack-allocate-init-hook
.. spec:/rtems/config/if/get-stack-allocator-avoids-work-space
.. spec:/rtems/config/if/get-stack-free-hook
.. spec:/rtems/config/if/get-stack-space-size
.. spec:/rtems/config/if/get-ticks-per-timeslice
.. spec:/rtems/config/if/get-unified-work-area
.. spec:/rtems/config/if/get-user-extension-table
.. spec:/rtems/config/if/get-user-multiprocessing-table
.. spec:/rtems/config/if/get-work-space-size
.. spec:/rtems/config/if/get-api-configuration
.. spec:/rtems/config/if/resource-is-unlimited
.. spec:/rtems/config/if/resource-maximum-per-allocation
.. spec:/rtems/config/if/resource-unlimited
The application configuration information group provides an API to get the
configuration of an application.
RTEMS must be configured for an application. This configuration encompasses a
variety of information including the length of each clock tick, the maximum
number of each information RTEMS object that can be created, the application
initialization tasks, the task scheduling algorithm to be used, and the device
drivers in the application.
Although this information is contained in data structures that are used by
RTEMS at system initialization time, the data structures themselves must not be
generated by hand. RTEMS provides a set of macros system which provides a
simple standard mechanism to automate the generation of these structures.
The RTEMS header file ``<rtems/confdefs.h>`` is at the core of the automatic
generation of system configuration. It is based on the idea of setting macros
which define configuration parameters of interest to the application and
defaulting or calculating all others. This variety of macros can automatically
produce all of the configuration data required for an RTEMS application. The
term ``confdefs`` is shorthand for a *Configuration Defaults*.
As a general rule, application developers only specify values for the
configuration parameters of interest to them. They define what resources or
features they require. In most cases, when a parameter is not specified, it
defaults to zero (0) instances, a standards compliant value, or disabled as
appropriate. For example, by default there will be 256 task priority levels but
this can be lowered by the application. This number of priority levels is
required to be compliant with the RTEID/ORKID standards upon which the Classic
API is based. There are similar cases where the default is selected to be
compliant with the POSIX standard.
For each configuration parameter in the configuration tables, the macro
corresponding to that field is discussed. The RTEMS Maintainers expect that all
systems can be easily configured using the ``<rtems/confdefs.h>`` mechanism and
that using this mechanism will avoid internal RTEMS configuration changes
impacting applications.
Some application configuration settings and other system parameters can be
queried by the application. The directives provided by the Application
Configuration Information are:
* :ref:`InterfaceRtemsGetBuildLabel` - Gets the RTEMS build label.
* :ref:`InterfaceRtemsGetCopyrightNotice` - Gets the RTEMS copyright notice.
* :ref:`InterfaceRtemsGetTargetHash` - Gets the RTEMS target hash.
* :ref:`InterfaceRtemsGetVersionString` - Gets the RTEMS version string.
* :ref:`InterfaceRtemsConfigurationGetDoZeroOfWorkspace` - Indicates if the
RTEMS Workspace is configured to be zeroed during system initialization for
this application.
* :ref:`InterfaceRtemsConfigurationGetIdleTaskStackSize` - Gets the IDLE task
stack size in bytes of this application.
* :ref:`InterfaceRtemsConfigurationGetIdleTask` - Gets the IDLE task body of
this application.
* :ref:`InterfaceRtemsConfigurationGetInterruptStackSize` - Gets the interrupt
stack size in bytes of this application.
* :ref:`InterfaceRtemsConfigurationGetMaximumBarriers` - Gets the resource
number of :ref:`RTEMSAPIClassicBarrier` objects configured for this
application.
* :ref:`InterfaceRtemsConfigurationGetMaximumExtensions` - Gets the resource
number of :ref:`RTEMSAPIClassicUserExt` objects configured for this
application.
* :ref:`InterfaceRtemsConfigurationGetMaximumMessageQueues` - Gets the resource
number of :ref:`RTEMSAPIClassicMessage` objects configured for this
application.
* :ref:`InterfaceRtemsConfigurationGetMaximumPartitions` - Gets the resource
number of :ref:`RTEMSAPIClassicPart` objects configured for this application.
* :ref:`InterfaceRtemsConfigurationGetMaximumPeriods` - Gets the resource
number of :ref:`RTEMSAPIClassicRatemon` objects configured for this
application.
* :ref:`InterfaceRtemsConfigurationGetMaximumPorts` - Gets the resource number
of :ref:`RTEMSAPIClassicDPMem` objects configured for this application.
* :ref:`InterfaceRtemsConfigurationGetMaximumProcessors` - Gets the maximum
number of processors configured for this application.
* :ref:`InterfaceRtemsConfigurationGetMaximumRegions` - Gets the resource
number of :ref:`RTEMSAPIClassicRegion` objects configured for this
application.
* :ref:`InterfaceRtemsConfigurationGetMaximumSemaphores` - Gets the resource
number of :ref:`RTEMSAPIClassicSem` objects configured for this application.
* :ref:`InterfaceRtemsConfigurationGetMaximumTasks` - Gets the resource number
of :ref:`RTEMSAPIClassicTasks` objects configured for this application.
* :ref:`InterfaceRtemsConfigurationGetMaximumTimers` - Gets the resource number
of :ref:`RTEMSAPIClassicTimer` objects configured for this application.
* :ref:`InterfaceRtemsConfigurationGetMicrosecondsPerTick` - Gets the number of
microseconds per clock tick configured for this application.
* :ref:`InterfaceRtemsConfigurationGetMillisecondsPerTick` - Gets the number of
milliseconds per clock tick configured for this application.
* :ref:`InterfaceRtemsConfigurationGetNanosecondsPerTick` - Gets the number of
microseconds per clock tick configured for this application.
* :ref:`InterfaceRtemsConfigurationGetNumberOfInitialExtensions` - Gets the
number of initial extensions configured for this application.
* :ref:`InterfaceRtemsConfigurationGetStackAllocateForIdleHook` - Gets the task
stack allocator allocate hook used to allocate the stack of each :term:`IDLE
task` configured for this application.
* :ref:`InterfaceRtemsConfigurationGetStackAllocateHook` - Gets the task stack
allocator allocate hook configured for this application.
* :ref:`InterfaceRtemsConfigurationGetStackAllocateInitHook` - Gets the task
stack allocator initialization hook configured for this application.
* :ref:`InterfaceRtemsConfigurationGetStackAllocatorAvoidsWorkSpace` -
Indicates if the task stack allocator is configured to avoid the RTEMS
Workspace for this application.
* :ref:`InterfaceRtemsConfigurationGetStackFreeHook` - Gets the task stack
allocator free hook configured for this application.
* :ref:`InterfaceRtemsConfigurationGetStackSpaceSize` - Gets the configured
size in bytes of the memory space used to allocate thread stacks for this
application.
* :ref:`InterfaceRtemsConfigurationGetTicksPerTimeslice` - Gets the clock ticks
per timeslice configured for this application.
* :ref:`InterfaceRtemsConfigurationGetUnifiedWorkArea` - Indicates if the RTEMS
Workspace and C Program Heap are configured to be unified for this
application.
* :ref:`InterfaceRtemsConfigurationGetUserExtensionTable` - Gets the initial
extensions table configured for this application.
* :ref:`InterfaceRtemsConfigurationGetUserMultiprocessingTable` - Gets the MPCI
configuration table configured for this application.
* :ref:`InterfaceRtemsConfigurationGetWorkSpaceSize` - Gets the RTEMS Workspace
size in bytes configured for this application.
* :ref:`InterfaceRtemsConfigurationGetRtemsApiConfiguration` - Gets the Classic
API Configuration Table of this application.
* :ref:`InterfaceRtemsResourceIsUnlimited` - Indicates if the resource is
unlimited.
* :ref:`InterfaceRtemsResourceMaximumPerAllocation` - Gets the maximum number
per allocation of a resource number.
* :ref:`InterfaceRtemsResourceUnlimited` - Augments the resource number so that
it indicates an unlimited resource.

View File

@ -76,8 +76,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-posix-key-value-pairs
@ -134,8 +134,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-posix-message-queues
@ -193,8 +193,8 @@ The following constraints apply to this configuration option:
<https://en.cppreference.com/w/c/types/integer>`_.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-posix-queued-signals
@ -312,8 +312,8 @@ The following constraints apply to this configuration option:
<https://en.cppreference.com/w/c/types/integer>`_.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-posix-shms
@ -369,8 +369,8 @@ The following constraints apply to this configuration option:
<https://en.cppreference.com/w/c/types/integer>`_.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
.. Generated from spec:/acfg/if/max-posix-threads
@ -486,8 +486,8 @@ The following constraints apply to this configuration option:
memory available to the application.
* The value of the configuration option may be defined through
:c:func:`rtems_resource_unlimited` the enable unlimited objects for the
object class, if the value passed to :c:func:`rtems_resource_unlimited`
:ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
satisfies all other constraints of the configuration option.
* The value of the configuration option shall be zero if the POSIX API is not

View File

@ -407,9 +407,9 @@ scheduler.
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
Schedulers can be identified via :c:func:`rtems_scheduler_ident`.
Schedulers can be identified via :ref:`InterfaceRtemsSchedulerIdent`.
Use :c:func:`rtems_build_name` to define the scheduler name.
Use :ref:`InterfaceRtemsBuildName` to define the scheduler name.
.. rubric:: CONSTRAINTS:
@ -749,7 +749,7 @@ The following constraints apply to this configuration option:
The ``obj_name`` macro parameter shall be the scheduler object name. It is
recommended to define the scheduler object name through
:c:func:`rtems_build_name`.
:ref:`InterfaceRtemsBuildName`.
* Where the system was build with SMP support enabled, the table shall have one
or more entries, otherwise it shall have exactly one entry.

View File

@ -256,7 +256,7 @@ Glossary
dynamic extension sets
The dynamic extension sets are a list of :term:`user extensions`. The list
is defined by the system services used by the application and directive calls
such as :c:func:`rtems_extension_create`. See also
such as :ref:`InterfaceRtemsExtensionCreate`. See also
:term:`initial extension sets`.
EARS
@ -425,7 +425,7 @@ Glossary
The home scheduler of a :term:`task` is a :term:`scheduler` which is an
:term:`eligible scheduler` and which is assigned to the task during its
initialization or explicitly via a directive call such as
:c:func:`rtems_task_set_scheduler`.
:ref:`InterfaceRtemsTaskSetScheduler`.
homogeneous
A multiprocessor computer system composed of a single type of processor.
@ -776,8 +776,8 @@ Glossary
Each :term:`task` has exactly one real priority. The real priority is
always with respect to the :term:`home scheduler` of a task. It is defined
during task initialization. It may be changed by directives such as
:c:func:`rtems_task_set_priority` and
:c:func:`rtems_task_set_scheduler`. The real priority is the foundation
:ref:`InterfaceRtemsTaskSetPriority` and
:ref:`InterfaceRtemsTaskSetScheduler`. The real priority is the foundation
of the :term:`current priority`.
real-time

View File

@ -7,7 +7,7 @@
.. index:: counting semaphores
.. index:: mutual exclusion
.. _RTEMSAPIClassicSemaphore:
.. _RTEMSAPIClassicSem:
Semaphore Manager
*****************

View File

@ -4,7 +4,7 @@
.. index:: tasks
.. _RTEMSAPIClassicTask:
.. _RTEMSAPIClassicTasks:
Task Manager
************