[rtems-central commit] spec: Review Partition Manager API

Sebastian Huber sebh at rtems.org
Mon Nov 9 13:00:52 UTC 2020


Module:    rtems-central
Branch:    master
Commit:    b77b78149acb4100a99edc2805d498a3dc8e9e0d
Changeset: http://git.rtems.org/rtems-central/commit/?id=b77b78149acb4100a99edc2805d498a3dc8e9e0d

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Nov  9 14:00:35 2020 +0100

spec: Review Partition Manager API

---

 spec/rtems/part/if/create.yml        | 11 ++++++++---
 spec/rtems/part/if/delete.yml        |  2 +-
 spec/rtems/part/if/get-buffer.yml    |  9 +++++----
 spec/rtems/part/if/group.yml         | 10 ++++++++++
 spec/rtems/part/if/header.yml        |  3 ++-
 spec/rtems/part/if/ident.yml         |  4 ++--
 spec/rtems/part/if/return-buffer.yml |  6 +++---
 7 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/spec/rtems/part/if/create.yml b/spec/rtems/part/if/create.yml
index 5a335b8..119b288 100644
--- a/spec/rtems/part/if/create.yml
+++ b/spec/rtems/part/if/create.yml
@@ -25,9 +25,9 @@ description: |
   returned in ``${.:/params[5]/name}``.  This partition identifier is used to
   access the partition with other partition related directives.
 
-  The attribute set is built through a *bitwise or* of the attribute constants
-  described below.  Attributes not mentioned below are not evaluated by this
-  directive and have no effect.
+  The **attribute set** specified in ``${.:/params[4]/name}`` is built through
+  a *bitwise or* of the attribute constants described below.  Attributes not
+  mentioned below are not evaluated by this directive and have no effect.
 
   The partition can have **local** or **global** scope in a multiprocessing
   network (this attribute does not refer to SMP systems).
@@ -139,4 +139,9 @@ return:
       The ``${.:/params[1]/name}`` parameter was not on a pointer size
       boundary.
     value: ${../../status/if/invalid-address:/name}
+  - description: |
+      There was no inactive object available to create a new partition.  The
+      number of partitions available to the application is configured through
+      the ${/acfg/if/max-partitions:/name} configuration option.
+    value: ${../../status/if/too-many:/name}
 type: interface
diff --git a/spec/rtems/part/if/delete.yml b/spec/rtems/part/if/delete.yml
index a85a771..922e19a 100644
--- a/spec/rtems/part/if/delete.yml
+++ b/spec/rtems/part/if/delete.yml
@@ -1,6 +1,6 @@
 SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
 brief: |
-  Deletes the specified partition.
+  Deletes the partition.
 copyrights:
 - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
 - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
diff --git a/spec/rtems/part/if/get-buffer.yml b/spec/rtems/part/if/get-buffer.yml
index c6d62d7..b1ac58d 100644
--- a/spec/rtems/part/if/get-buffer.yml
+++ b/spec/rtems/part/if/get-buffer.yml
@@ -1,6 +1,6 @@
 SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
 brief: |
-  Tries to get a buffer from the specified partition.
+  Tries to get a buffer from the partition.
 copyrights:
 - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
 - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
@@ -31,13 +31,14 @@ name: rtems_partition_get_buffer
 notes: |
   This directive will not cause the running task to be preempted.
 
-  All buffers begin on a four byte boundary.
+  The buffer start alignment is determined by the memory area and buffer size
+  used to create the partition.
 
   A task cannot wait on a buffer to become available.
 
   Getting a buffer from a global partition which does not reside on the local
   node will generate a request telling the remote node to allocate a buffer
-  from the specified partition.
+  from the partition.
 params:
 - description: is the partition identifier.
   dir: null
@@ -60,6 +61,6 @@ return:
       The ``${.:/params[1]/name}`` parameter was ${/c/if/null:/name}.
     value: ${../../status/if/invalid-address:/name}
   - description: |
-      There was no free buffer available to return.
+      There was no free buffer available to allocate and return.
     value: ${../../status/if/unsatisfied:/name}
 type: interface
diff --git a/spec/rtems/part/if/group.yml b/spec/rtems/part/if/group.yml
index 22a776e..9693eb4 100644
--- a/spec/rtems/part/if/group.yml
+++ b/spec/rtems/part/if/group.yml
@@ -15,6 +15,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: ../../if/group
+- role: placement-order
+  uid: create
+- role: placement-order
+  uid: ident
+- role: placement-order
+  uid: delete
+- role: placement-order
+  uid: get-buffer
+- role: placement-order
+  uid: return-buffer
 name: Partition Manager
 text: |
   The Classic API shall provide an interface to the Partition Manager.
diff --git a/spec/rtems/part/if/header.yml b/spec/rtems/part/if/header.yml
index f4dc186..0a8da1e 100644
--- a/spec/rtems/part/if/header.yml
+++ b/spec/rtems/part/if/header.yml
@@ -1,5 +1,6 @@
 SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-brief: This header file defines the Partition Manager API.
+brief: |
+  This header file provides the Partition Manager API.
 copyrights:
 - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
 enabled-by: true
diff --git a/spec/rtems/part/if/ident.yml b/spec/rtems/part/if/ident.yml
index f38381c..6cb8134 100644
--- a/spec/rtems/part/if/ident.yml
+++ b/spec/rtems/part/if/ident.yml
@@ -1,6 +1,6 @@
 SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
 brief: |
-  Identifies a partition object by the specified object name.
+  Identifies a partition by the object name.
 copyrights:
 - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
 - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
@@ -15,7 +15,7 @@ definition:
     return: ${../../status/if/code:/name}
   variants: []
 description: |
-  This directive obtains the partition identifier associated with the partition
+  This directive obtains a partition identifier associated with the partition
   name specified in ``${.:/params[0]/name}``.
 
   The node to search is specified in ``${.:/params[1]/name}``.  It shall be
diff --git a/spec/rtems/part/if/return-buffer.yml b/spec/rtems/part/if/return-buffer.yml
index 2239035..08f1f5d 100644
--- a/spec/rtems/part/if/return-buffer.yml
+++ b/spec/rtems/part/if/return-buffer.yml
@@ -1,6 +1,6 @@
 SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
 brief: |
-  Returns a buffer to the specified partition.
+  Returns the buffer to the partition.
 copyrights:
 - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
 - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
@@ -31,7 +31,7 @@ notes: |
 
   Returning a buffer to a global partition which does not reside on the local
   node will generate a request telling the remote node to return the buffer to
-  the specified partition.
+  the partition.
 
   Returning a buffer multiple times is an error.  It will corrupt the internal
   state of the partition.
@@ -52,7 +52,7 @@ return:
       There was no partition with the specified identifier.
     value: ${../../status/if/invalid-id:/name}
   - description: |
-      The buffer referenced by ``${.:/params[1]/name}`` was no in the specified
+      The buffer referenced by ``${.:/params[1]/name}`` was not in the
       partition.
     value: ${../../status/if/invalid-address:/name}
 type: interface



More information about the vc mailing list