From 088a1f856f6e740700bb6f2d3b2ab5ecc205e5ea Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 9 Mar 2020 08:56:56 +0100 Subject: c-user: Move "Multiprocessing Configuration" Update #3836. --- c-user/config/index.rst | 182 +---------------------------------------------- c-user/config/mpci.rst | 184 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+), 181 deletions(-) create mode 100644 c-user/config/mpci.rst diff --git a/c-user/config/index.rst b/c-user/config/index.rst index 3fafa97..1413920 100644 --- a/c-user/config/index.rst +++ b/c-user/config/index.rst @@ -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 ````. 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 ========================= diff --git a/c-user/config/mpci.rst b/c-user/config/mpci.rst new file mode 100644 index 0000000..4adffe3 --- /dev/null +++ b/c-user/config/mpci.rst @@ -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 ````. 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. -- cgit v1.2.3