c-user: Move "Multiprocessing Configuration"

Update #3836.
This commit is contained in:
Sebastian Huber 2020-03-09 08:56:56 +01:00
parent 41ac3da942
commit 088a1f856f
2 changed files with 185 additions and 181 deletions

View File

@ -25,187 +25,7 @@ Configuring a System
scheduler-general
scheduler-clustered
device-driver
Multiprocessing Configuration
=============================
This section defines the multiprocessing related system configuration
parameters supported by ``<rtems/confdefs.h>``. They are only used if RTEMS
was built with the ``--enable-multiprocessing`` build configuration option.
The multiprocessing (MPCI) support must not be confused with the SMP support.
Additionally, this class of Configuration Constants are only applicable if
``CONFIGURE_MP_APPLICATION`` is defined.
.. index:: CONFIGURE_MP_APPLICATION
.. _CONFIGURE_MP_APPLICATION:
CONFIGURE_MP_APPLICATION
------------------------
CONSTANT:
``CONFIGURE_MP_APPLICATION``
DATA TYPE:
Boolean feature macro.
RANGE:
Defined or undefined.
DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
This configuration parameter must be defined to indicate that the
application intends to be part of a multiprocessing
configuration. Additional configuration parameters are assumed to be
provided.
NOTES:
This has no impact unless RTEMS was built with the
``--enable-multiprocessing`` build configuration option.
.. 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_NODES
.. _CONFIGURE_MP_MAXIMUM_NODES:
CONFIGURE_MP_MAXIMUM_NODES
--------------------------
CONSTANT:
``CONFIGURE_MP_MAXIMUM_NODES``
DATA TYPE:
Unsigned integer (``uint32_t``).
RANGE:
Positive.
DEFAULT VALUE:
The default value is 2.
DESCRIPTION:
``CONFIGURE_MP_MAXIMUM_NODES`` is the maximum number of nodes in a
multiprocessor system.
NOTES:
None.
.. index:: CONFIGURE_MP_MAXIMUM_PROXIES
.. _CONFIGURE_MP_MAXIMUM_PROXIES:
CONFIGURE_MP_MAXIMUM_PROXIES
----------------------------
CONSTANT:
``CONFIGURE_MP_MAXIMUM_PROXIES``
DATA TYPE:
Unsigned integer (``uint32_t``).
RANGE:
Undefined or positive.
DEFAULT VALUE:
The default value is 32.
DESCRIPTION:
``CONFIGURE_MP_MAXIMUM_PROXIES`` is the maximum number of concurrently
active thread/task proxies on this node in a multiprocessor system.
NOTES:
Since a proxy is used to represent a remote task/thread which is blocking
on this node. This configuration parameter reflects the maximum number of
remote tasks/threads which can be blocked on objects on this node.
.. COMMENT: XXX - add xref to proxy discussion in MP chapter
.. index:: CONFIGURE_MP_MPCI_TABLE_POINTER
.. _CONFIGURE_MP_MPCI_TABLE_POINTER:
CONFIGURE_MP_MPCI_TABLE_POINTER
-------------------------------
CONSTANT:
``CONFIGURE_MP_MPCI_TABLE_POINTER``
DATA TYPE:
pointer to ``rtems_mpci_table``
RANGE:
undefined or valid pointer
DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
``CONFIGURE_MP_MPCI_TABLE_POINTER`` is the pointer to the MPCI
Configuration Table. The default value of this field is``&MPCI_table``.
NOTES:
RTEMS provides a Shared Memory MPCI Device Driver which can be used on any
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.
mpci
PCI Library Configuration
=========================

184
c-user/config/mpci.rst Normal file
View File

@ -0,0 +1,184 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
Multiprocessing Configuration
=============================
This section defines the multiprocessing related system configuration
parameters supported by ``<rtems/confdefs.h>``. They are only used if RTEMS
was built with the ``--enable-multiprocessing`` build configuration option.
The multiprocessing (MPCI) support must not be confused with the SMP support.
Additionally, this class of Configuration Constants are only applicable if
``CONFIGURE_MP_APPLICATION`` is defined.
.. index:: CONFIGURE_MP_APPLICATION
.. _CONFIGURE_MP_APPLICATION:
CONFIGURE_MP_APPLICATION
------------------------
CONSTANT:
``CONFIGURE_MP_APPLICATION``
DATA TYPE:
Boolean feature macro.
RANGE:
Defined or undefined.
DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
This configuration parameter must be defined to indicate that the
application intends to be part of a multiprocessing
configuration. Additional configuration parameters are assumed to be
provided.
NOTES:
This has no impact unless RTEMS was built with the
``--enable-multiprocessing`` build configuration option.
.. 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_NODES
.. _CONFIGURE_MP_MAXIMUM_NODES:
CONFIGURE_MP_MAXIMUM_NODES
--------------------------
CONSTANT:
``CONFIGURE_MP_MAXIMUM_NODES``
DATA TYPE:
Unsigned integer (``uint32_t``).
RANGE:
Positive.
DEFAULT VALUE:
The default value is 2.
DESCRIPTION:
``CONFIGURE_MP_MAXIMUM_NODES`` is the maximum number of nodes in a
multiprocessor system.
NOTES:
None.
.. index:: CONFIGURE_MP_MAXIMUM_PROXIES
.. _CONFIGURE_MP_MAXIMUM_PROXIES:
CONFIGURE_MP_MAXIMUM_PROXIES
----------------------------
CONSTANT:
``CONFIGURE_MP_MAXIMUM_PROXIES``
DATA TYPE:
Unsigned integer (``uint32_t``).
RANGE:
Undefined or positive.
DEFAULT VALUE:
The default value is 32.
DESCRIPTION:
``CONFIGURE_MP_MAXIMUM_PROXIES`` is the maximum number of concurrently
active thread/task proxies on this node in a multiprocessor system.
NOTES:
Since a proxy is used to represent a remote task/thread which is blocking
on this node. This configuration parameter reflects the maximum number of
remote tasks/threads which can be blocked on objects on this node.
.. COMMENT: XXX - add xref to proxy discussion in MP chapter
.. index:: CONFIGURE_MP_MPCI_TABLE_POINTER
.. _CONFIGURE_MP_MPCI_TABLE_POINTER:
CONFIGURE_MP_MPCI_TABLE_POINTER
-------------------------------
CONSTANT:
``CONFIGURE_MP_MPCI_TABLE_POINTER``
DATA TYPE:
pointer to ``rtems_mpci_table``
RANGE:
undefined or valid pointer
DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
``CONFIGURE_MP_MPCI_TABLE_POINTER`` is the pointer to the MPCI
Configuration Table. The default value of this field is``&MPCI_table``.
NOTES:
RTEMS provides a Shared Memory MPCI Device Driver which can be used on any
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.