diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-01-20 14:03:47 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-02-03 06:26:37 +0100 |
commit | 08e62a0ffce611295810f6861c76d6db75419528 (patch) | |
tree | 4baac30fa23883c071b0ab1b7344deb8c49eca27 | |
parent | content: Discard empty Doxygen blocks (diff) | |
download | rtems-central-08e62a0ffce611295810f6861c76d6db75419528.tar.bz2 |
spec: Add constraints
-rw-r--r-- | spec/constraint/clock-tick.yml | 12 | ||||
-rw-r--r-- | spec/constraint/directive-ctx-any.yml | 10 | ||||
-rw-r--r-- | spec/constraint/directive-ctx-const.yml | 12 | ||||
-rw-r--r-- | spec/constraint/directive-ctx-devinit.yml | 10 | ||||
-rw-r--r-- | spec/constraint/directive-ctx-fatal.yml | 10 | ||||
-rw-r--r-- | spec/constraint/directive-ctx-isr-local.yml | 11 | ||||
-rw-r--r-- | spec/constraint/directive-ctx-isr.yml | 10 | ||||
-rw-r--r-- | spec/constraint/directive-ctx-task.yml | 10 | ||||
-rw-r--r-- | spec/constraint/directive-may-preempt.yml | 11 | ||||
-rw-r--r-- | spec/constraint/directive-no-preempt-local.yml | 11 | ||||
-rw-r--r-- | spec/constraint/directive-no-preempt.yml | 10 | ||||
-rw-r--r-- | spec/constraint/directive-remote.yml | 12 | ||||
-rw-r--r-- | spec/constraint/obj-unlimited-alloc.yml | 12 | ||||
-rw-r--r-- | spec/constraint/obj-unlimited-free.yml | 11 | ||||
-rw-r--r-- | spec/constraint/object-allocator.yml | 11 | ||||
-rw-r--r-- | spec/rtems/constraint/delete-by-any-task.yml | 11 | ||||
-rw-r--r-- | spec/rtems/constraint/directive-ctx-isr-no-wait.yml | 11 | ||||
-rw-r--r-- | spec/rtems/constraint/mp-max-global-objects.yml | 12 |
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 |