From b77b78149acb4100a99edc2805d498a3dc8e9e0d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 9 Nov 2020 14:00:35 +0100 Subject: 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 5a335b88..119b288b 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 a85a771e..922e19a4 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 c6d62d7e..b1ac58d3 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 22a776ea..9693eb45 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 f4dc1860..0a8da1ed 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 f38381c9..6cb81349 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 22390357..08f1f5db 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 -- cgit v1.2.3