mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-18 02:02:03 +08:00
parent
41ac3da942
commit
088a1f856f
@ -25,187 +25,7 @@ Configuring a System
|
|||||||
scheduler-general
|
scheduler-general
|
||||||
scheduler-clustered
|
scheduler-clustered
|
||||||
device-driver
|
device-driver
|
||||||
|
mpci
|
||||||
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.
|
|
||||||
|
|
||||||
PCI Library Configuration
|
PCI Library Configuration
|
||||||
=========================
|
=========================
|
||||||
|
184
c-user/config/mpci.rst
Normal file
184
c-user/config/mpci.rst
Normal 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.
|
Loading…
x
Reference in New Issue
Block a user