summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-01-20 14:03:47 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-02-03 06:26:37 +0100
commit08e62a0ffce611295810f6861c76d6db75419528 (patch)
tree4baac30fa23883c071b0ab1b7344deb8c49eca27
parentcontent: Discard empty Doxygen blocks (diff)
downloadrtems-central-08e62a0ffce611295810f6861c76d6db75419528.tar.bz2
spec: Add constraints
-rw-r--r--spec/constraint/clock-tick.yml12
-rw-r--r--spec/constraint/directive-ctx-any.yml10
-rw-r--r--spec/constraint/directive-ctx-const.yml12
-rw-r--r--spec/constraint/directive-ctx-devinit.yml10
-rw-r--r--spec/constraint/directive-ctx-fatal.yml10
-rw-r--r--spec/constraint/directive-ctx-isr-local.yml11
-rw-r--r--spec/constraint/directive-ctx-isr.yml10
-rw-r--r--spec/constraint/directive-ctx-task.yml10
-rw-r--r--spec/constraint/directive-may-preempt.yml11
-rw-r--r--spec/constraint/directive-no-preempt-local.yml11
-rw-r--r--spec/constraint/directive-no-preempt.yml10
-rw-r--r--spec/constraint/directive-remote.yml12
-rw-r--r--spec/constraint/obj-unlimited-alloc.yml12
-rw-r--r--spec/constraint/obj-unlimited-free.yml11
-rw-r--r--spec/constraint/object-allocator.yml11
-rw-r--r--spec/rtems/constraint/delete-by-any-task.yml11
-rw-r--r--spec/rtems/constraint/directive-ctx-isr-no-wait.yml11
-rw-r--r--spec/rtems/constraint/mp-max-global-objects.yml12
18 files changed, 197 insertions, 0 deletions
diff --git a/spec/constraint/clock-tick.yml b/spec/constraint/clock-tick.yml
new file mode 100644
index 00000000..797bf7c5
--- /dev/null
+++ b/spec/constraint/clock-tick.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The timeout functionality of the directive requires a clock tick. Clock
+ ticks are provided by the clock driver, see
+ ${/acfg/if/appl-needs-clock-driver:/name} application configuration option.
+type: constraint
diff --git a/spec/constraint/directive-ctx-any.yml b/spec/constraint/directive-ctx-any.yml
new file mode 100644
index 00000000..d2026b6e
--- /dev/null
+++ b/spec/constraint/directive-ctx-any.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may be called from within any runtime context.
+type: constraint
diff --git a/spec/constraint/directive-ctx-const.yml b/spec/constraint/directive-ctx-const.yml
new file mode 100644
index 00000000..98669342
--- /dev/null
+++ b/spec/constraint/directive-ctx-const.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive is implemented by a macro and may be called from within C/C++
+ constant expressions. In addition, a function implementation of the
+ directive exists for bindings to other programming languages.
+type: constraint
diff --git a/spec/constraint/directive-ctx-devinit.yml b/spec/constraint/directive-ctx-devinit.yml
new file mode 100644
index 00000000..1522864c
--- /dev/null
+++ b/spec/constraint/directive-ctx-devinit.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may be called from within device driver initialization context.
+type: constraint
diff --git a/spec/constraint/directive-ctx-fatal.yml b/spec/constraint/directive-ctx-fatal.yml
new file mode 100644
index 00000000..3e4a2a48
--- /dev/null
+++ b/spec/constraint/directive-ctx-fatal.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may be called from within fatal context.
+type: constraint
diff --git a/spec/constraint/directive-ctx-isr-local.yml b/spec/constraint/directive-ctx-isr-local.yml
new file mode 100644
index 00000000..170b10b6
--- /dev/null
+++ b/spec/constraint/directive-ctx-isr-local.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ When the directive operates on a local object, the directive may be called
+ from within interrupt context.
+type: constraint
diff --git a/spec/constraint/directive-ctx-isr.yml b/spec/constraint/directive-ctx-isr.yml
new file mode 100644
index 00000000..c1645eb3
--- /dev/null
+++ b/spec/constraint/directive-ctx-isr.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may be called from within interrupt context.
+type: constraint
diff --git a/spec/constraint/directive-ctx-task.yml b/spec/constraint/directive-ctx-task.yml
new file mode 100644
index 00000000..c2f8716e
--- /dev/null
+++ b/spec/constraint/directive-ctx-task.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may be called from within task context.
+type: constraint
diff --git a/spec/constraint/directive-may-preempt.yml b/spec/constraint/directive-may-preempt.yml
new file mode 100644
index 00000000..73f3209b
--- /dev/null
+++ b/spec/constraint/directive-may-preempt.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may be unblock other tasks. One of the unblocked tasks may
+ preempt the calling task.
+type: constraint
diff --git a/spec/constraint/directive-no-preempt-local.yml b/spec/constraint/directive-no-preempt-local.yml
new file mode 100644
index 00000000..0a444da5
--- /dev/null
+++ b/spec/constraint/directive-no-preempt-local.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ When the directive operates on a local object, the directive will not cause
+ the calling task to be preempted.
+type: constraint
diff --git a/spec/constraint/directive-no-preempt.yml b/spec/constraint/directive-no-preempt.yml
new file mode 100644
index 00000000..847913c0
--- /dev/null
+++ b/spec/constraint/directive-no-preempt.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive will not cause the calling task to be preempted.
+type: constraint
diff --git a/spec/constraint/directive-remote.yml b/spec/constraint/directive-remote.yml
new file mode 100644
index 00000000..61f25ad7
--- /dev/null
+++ b/spec/constraint/directive-remote.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ When the directive operates on a remote object, the directive sends a message
+ to the remote node and waits for a reply. This will preempt the calling
+ task.
+type: constraint
diff --git a/spec/constraint/obj-unlimited-alloc.yml b/spec/constraint/obj-unlimited-alloc.yml
new file mode 100644
index 00000000..8e5ede34
--- /dev/null
+++ b/spec/constraint/obj-unlimited-alloc.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ Where the object class corresponding to the directive is configured to use
+ unlimited objects, the directive may allocate memory from the RTEMS
+ Workspace.
+type: constraint
diff --git a/spec/constraint/obj-unlimited-free.yml b/spec/constraint/obj-unlimited-free.yml
new file mode 100644
index 00000000..c65584e4
--- /dev/null
+++ b/spec/constraint/obj-unlimited-free.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ Where the object class corresponding to the directive is configured to use
+ unlimited objects, the directive may free memory to the RTEMS Workspace.
+type: constraint
diff --git a/spec/constraint/object-allocator.yml b/spec/constraint/object-allocator.yml
new file mode 100644
index 00000000..297ef55e
--- /dev/null
+++ b/spec/constraint/object-allocator.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may obtain and release the object allocator mutex. This may
+ cause the calling task to be preempted.
+type: constraint
diff --git a/spec/rtems/constraint/delete-by-any-task.yml b/spec/rtems/constraint/delete-by-any-task.yml
new file mode 100644
index 00000000..2fa1bd16
--- /dev/null
+++ b/spec/rtems/constraint/delete-by-any-task.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The calling task does not have to be the task that created the object. Any
+ local task that knows the object identifier can delete the object.
+type: constraint
diff --git a/spec/rtems/constraint/directive-ctx-isr-no-wait.yml b/spec/rtems/constraint/directive-ctx-isr-no-wait.yml
new file mode 100644
index 00000000..d34ad688
--- /dev/null
+++ b/spec/rtems/constraint/directive-ctx-isr-no-wait.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The directive may be called from within interrupt context if the
+ ${../option/if/no-wait:/name} option is set.
+type: constraint
diff --git a/spec/rtems/constraint/mp-max-global-objects.yml b/spec/rtems/constraint/mp-max-global-objects.yml
new file mode 100644
index 00000000..f2bf0011
--- /dev/null
+++ b/spec/rtems/constraint/mp-max-global-objects.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The number of global objects available to the application is configured
+ through the ${/acfg/if/mp-max-global-objects:/name} application configuration
+ option.
+type: constraint