[rtems-central commit] spec: Use constraints for timer manager

Sebastian Huber sebh at rtems.org
Wed Feb 3 05:28:01 UTC 2021


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Jan 25 18:08:01 2021 +0100

spec: Use constraints for timer manager

---

 spec/rtems/timer/if/cancel.yml            | 18 ++++++++++++------
 spec/rtems/timer/if/fire-after.yml        | 11 +++++++++--
 spec/rtems/timer/if/fire-when.yml         | 11 +++++++++--
 spec/rtems/timer/if/get-information.yml   | 11 +++++++++--
 spec/rtems/timer/if/initiate-server.yml   | 13 ++++++++++---
 spec/rtems/timer/if/reset.yml             | 10 ++++++++--
 spec/rtems/timer/if/server-fire-after.yml | 11 +++++++++--
 spec/rtems/timer/if/server-fire-when.yml  | 11 +++++++++--
 8 files changed, 75 insertions(+), 21 deletions(-)

diff --git a/spec/rtems/timer/if/cancel.yml b/spec/rtems/timer/if/cancel.yml
index a582c33..13fe834 100644
--- a/spec/rtems/timer/if/cancel.yml
+++ b/spec/rtems/timer/if/cancel.yml
@@ -13,10 +13,9 @@ definition:
     return: ${../../status/if/code:/name}
   variants: []
 description: |
-  This directive cancels the timer specified in the ${.:/params[0]/name}
-  parameter.  This timer will be reinitiated by the next invocation of
-  ${reset:/name}, ${fire-after:/name}, or ${fire-when:/name} with the same
-  timer identifier.
+  This directive cancels the timer specified by ${.:/params[0]/name}.  This
+  timer will be reinitiated by the next invocation of ${reset:/name},
+  ${fire-after:/name}, or ${fire-when:/name} with the same timer identifier.
 enabled-by: true
 index-entries:
 - cancel a timer
@@ -26,9 +25,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/directive-ctx-isr
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: /constraint/directive-no-preempt
 name: rtems_timer_cancel
-notes: |
-  This directive will not cause the running task to be preempted.
+notes: null
 params:
 - description: is the timer identifier.
   dir: null
diff --git a/spec/rtems/timer/if/fire-after.yml b/spec/rtems/timer/if/fire-after.yml
index 6364789..0113c46 100644
--- a/spec/rtems/timer/if/fire-after.yml
+++ b/spec/rtems/timer/if/fire-after.yml
@@ -31,9 +31,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/directive-ctx-isr
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: /constraint/directive-no-preempt
 name: rtems_timer_fire_after
-notes: |
-  This directive will not cause the running task to be preempted.
+notes: null
 params:
 - description: is the timer identifier.
   dir: null
diff --git a/spec/rtems/timer/if/fire-when.yml b/spec/rtems/timer/if/fire-when.yml
index a6fde1c..220865c 100644
--- a/spec/rtems/timer/if/fire-when.yml
+++ b/spec/rtems/timer/if/fire-when.yml
@@ -31,9 +31,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/directive-ctx-isr
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: /constraint/directive-no-preempt
 name: rtems_timer_fire_when
-notes: |
-  This directive will not cause the running task to be preempted.
+notes: null
 params:
 - description: is the timer identifier.
   dir: null
diff --git a/spec/rtems/timer/if/get-information.yml b/spec/rtems/timer/if/get-information.yml
index b4a414e..a69032e 100644
--- a/spec/rtems/timer/if/get-information.yml
+++ b/spec/rtems/timer/if/get-information.yml
@@ -23,9 +23,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/directive-ctx-isr
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: /constraint/directive-no-preempt
 name: rtems_timer_get_information
-notes: |
-  This directive will not cause the running task to be preempted.
+notes: null
 params:
 - description: is the timer identifier.
   dir: null
diff --git a/spec/rtems/timer/if/initiate-server.yml b/spec/rtems/timer/if/initiate-server.yml
index 0f58d53..82d9516 100644
--- a/spec/rtems/timer/if/initiate-server.yml
+++ b/spec/rtems/timer/if/initiate-server.yml
@@ -27,11 +27,18 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/object-allocator
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: ../constraint/max
+- role: constraint
+  uid: /constraint/obj-unlimited-alloc
 name: rtems_timer_initiate_server
 notes: |
-  This directive may cause the calling task to be preempted due to an obtain
-  and release of the object allocator mutex.
-
   The Timer Server task is created using the ${../../task/if/create:/name}
   directive and must be accounted for when configuring the system.
 params:
diff --git a/spec/rtems/timer/if/reset.yml b/spec/rtems/timer/if/reset.yml
index 6bbac0f..08de21f 100644
--- a/spec/rtems/timer/if/reset.yml
+++ b/spec/rtems/timer/if/reset.yml
@@ -28,10 +28,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/directive-ctx-isr
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: /constraint/directive-no-preempt
 name: rtems_timer_reset
 notes: |
-  This directive will not cause the running task to be preempted.
-
   If the timer has not been used or the last usage of this timer was by a
   ${fire-when:/name} or ${server-fire-when:/name} directive, then the
   ${../../status/if/not-defined:/name} error is returned.
diff --git a/spec/rtems/timer/if/server-fire-after.yml b/spec/rtems/timer/if/server-fire-after.yml
index 086ce8d..a32c701 100644
--- a/spec/rtems/timer/if/server-fire-after.yml
+++ b/spec/rtems/timer/if/server-fire-after.yml
@@ -31,9 +31,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/directive-ctx-isr
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: /constraint/directive-no-preempt
 name: rtems_timer_server_fire_after
-notes: |
-  This directive will not cause the running task to be preempted.
+notes: null
 params:
 - description: is the timer identifier.
   dir: null
diff --git a/spec/rtems/timer/if/server-fire-when.yml b/spec/rtems/timer/if/server-fire-when.yml
index 037283b..98ec5d5 100644
--- a/spec/rtems/timer/if/server-fire-when.yml
+++ b/spec/rtems/timer/if/server-fire-when.yml
@@ -31,9 +31,16 @@ links:
   uid: header
 - role: interface-ingroup
   uid: group
+- role: constraint
+  uid: /constraint/directive-ctx-isr
+- role: constraint
+  uid: /constraint/directive-ctx-devinit
+- role: constraint
+  uid: /constraint/directive-ctx-task
+- role: constraint
+  uid: /constraint/directive-no-preempt
 name: rtems_timer_server_fire_when
-notes: |
-  This directive will not cause the running task to be preempted.
+notes: null
 params:
 - description: is the timer identifier.
   dir: null



More information about the vc mailing list