[PATCH 7/8] c-user: Generate multiprocessing manager docs
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Apr 21 13:50:05 UTC 2021
The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup. The documentation was
transfered to interface specification items. The documentation source
files were generated from the items by a script.
Update #3993.
---
c-user/multiprocessing/directives.rst | 78 +++++++++++++++++--------
c-user/multiprocessing/introduction.rst | 34 +++++++++--
2 files changed, 84 insertions(+), 28 deletions(-)
diff --git a/c-user/multiprocessing/directives.rst b/c-user/multiprocessing/directives.rst
index afa3244..ad7c6e2 100644
--- a/c-user/multiprocessing/directives.rst
+++ b/c-user/multiprocessing/directives.rst
@@ -1,44 +1,74 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
+.. Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 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
+
+.. _MultiprocessingManagerDirectives:
+
Directives
==========
-This section details the additional directives required to support RTEMS in a
-multiprocessor configuration. A subsection is dedicated to each of this
-manager's directives and describes the calling sequence, related constants,
-usage, and status codes.
+This section details the directives of the Multiprocessing Manager. A
+subsection is dedicated to each of this manager's directives and lists the
+calling sequence, parameters, description, return values, and notes of the
+directive.
+
+.. Generated from spec:/rtems/mp/if/announce
.. raw:: latex
- \clearpage
+ \clearpage
+
+.. index:: rtems_multiprocessing_announce()
+
+.. _InterfaceRtemsMultiprocessingAnnounce:
+
+rtems_multiprocessing_announce()
+--------------------------------
+
+Announces the arrival of a packet.
+
+.. rubric:: CALLING SEQUENCE:
+
+.. code-block:: c
+
+ void rtems_multiprocessing_announce( void );
+
+.. rubric:: DESCRIPTION:
-.. index:: announce arrival of package
-.. index:: rtems_multiprocessing_announce
+This directive informs RTEMS that a multiprocessing communications packet has
+arrived from another node. This directive is called by the user-provided MPCI,
+and is only used in multiprocessing configurations.
-.. _rtems_multiprocessing_announce:
+.. rubric:: NOTES:
-MULTIPROCESSING_ANNOUNCE - Announce the arrival of a packet
------------------------------------------------------------
+This directive is typically called from an :term:`ISR`.
-CALLING SEQUENCE:
- .. code-block:: c
+This directive does not generate activity on remote nodes.
- void rtems_multiprocessing_announce( void );
+.. rubric:: CONSTRAINTS:
-DIRECTIVE STATUS CODES:
- NONE
+The following constraints apply to this directive:
-DESCRIPTION:
- This directive informs RTEMS that a multiprocessing communications packet
- has arrived from another node. This directive is called by the
- user-provided MPCI, and is only used in multiprocessor configurations.
+* The directive may be called from within interrupt context.
-NOTES:
- This directive is typically called from an ISR.
+* The directive may be called from within device driver initialization context.
- This directive will almost certainly cause the calling task to be
- preempted.
+* The directive may be called from within task context.
- This directive does not generate activity on remote nodes.
+* The directive may unblock another task which may preempt the calling task.
diff --git a/c-user/multiprocessing/introduction.rst b/c-user/multiprocessing/introduction.rst
index 3a5edd5..742a034 100644
--- a/c-user/multiprocessing/introduction.rst
+++ b/c-user/multiprocessing/introduction.rst
@@ -1,10 +1,36 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
+.. Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 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/mp/if/group
+
+.. _MultiprocessingManagerIntroduction:
+
Introduction
============
+.. The following list was generated from:
+.. spec:/rtems/mp/if/announce
+
+The Multiprocessing Manager provides support for heterogeneous multiprocessing
+systems based on message passing in a network of multiprocessing nodes.
+
In multiprocessor real-time systems, new requirements, such as sharing data and
global resources between processors, are introduced. This requires an
efficient and reliable communications vehicle which allows all processors to
@@ -28,8 +54,8 @@ may then be accessed by any task regardless of the physical location of the
object and the accessing task. RTEMS automatically determines that the object
being accessed resides on another processor and performs the actions required
to access the desired object. Simply stated, RTEMS allows the entire system,
-both hardware and software, to be viewed logically as a single system.
-
-The directives provided by the Manager are:
+both hardware and software, to be viewed logically as a single system. The
+directives provided by the Multiprocessing Manager are:
-- :ref:`rtems_multiprocessing_announce`
+* :ref:`InterfaceRtemsMultiprocessingAnnounce` - Announces the arrival of a
+ packet.
--
2.26.2
More information about the devel
mailing list