summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-04-28 08:16:25 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-04-29 16:45:46 +0200
commitb1f05da86f5fe5bbb923d1d61e6ddfa1604add63 (patch)
treef768370a80193e1331b7ae4f2c70dc5fc44cf050
parentcontent: Apply initial indent only to first block (diff)
downloadrtems-central-b1f05da86f5fe5bbb923d1d61e6ddfa1604add63.tar.bz2
spec: Use explicit constraints for acfg
-rw-r--r--rtemsspec/applconfig.py112
-rw-r--r--rtemsspec/tests/spec-applconfig/c.yml6
-rw-r--r--rtemsspec/tests/spec-applconfig/e.yml2
-rw-r--r--rtemsspec/tests/spec-applconfig/f.yml2
-rw-r--r--rtemsspec/tests/spec-applconfig/h.yml3
-rw-r--r--rtemsspec/tests/spec-applconfig/i.yml5
-rw-r--r--rtemsspec/tests/spec-applconfig/j.yml4
-rw-r--r--rtemsspec/tests/spec-applconfig/k.yml4
-rw-r--r--rtemsspec/tests/spec-applconfig/l.yml7
-rw-r--r--rtemsspec/tests/spec-applconfig/m.yml2
-rw-r--r--rtemsspec/tests/spec-applconfig/max-two.yml9
-rw-r--r--rtemsspec/tests/spec-applconfig/min-0.yml8
-rw-r--r--rtemsspec/tests/spec-applconfig/min-zero.yml9
-rw-r--r--rtemsspec/tests/test_applconfig.py113
-rw-r--r--spec/acfg/constraint/clock-ticks-per-second.yml10
-rw-r--r--spec/acfg/constraint/imfs-memfile-bytes-per-block.yml11
-rw-r--r--spec/acfg/constraint/init-driver-table.yml12
-rw-r--r--spec/acfg/constraint/init-idle-task-body.yml11
-rw-r--r--spec/acfg/constraint/init-mpci-table.yml11
-rw-r--r--spec/acfg/constraint/init-posix-thread-entry-point.yml11
-rw-r--r--spec/acfg/constraint/init-task-entry-point.yml12
-rw-r--r--spec/acfg/constraint/init-task-stack-allocator-init.yml12
-rw-r--r--spec/acfg/constraint/init-task-stack-allocator.yml11
-rw-r--r--spec/acfg/constraint/init-task-stack-deallocator.yml11
-rw-r--r--spec/acfg/constraint/init-userext-table.yml11
-rw-r--r--spec/acfg/constraint/max-clock-ticks.yml11
-rw-r--r--spec/acfg/constraint/max-drivers.yml11
-rw-r--r--spec/acfg/constraint/max-obj.yml11
-rw-r--r--spec/acfg/constraint/max-priority.yml11
-rw-r--r--spec/acfg/constraint/max-processors.yml11
-rw-r--r--spec/acfg/constraint/max-size.yml11
-rw-r--r--spec/acfg/constraint/max-tasks.yml11
-rw-r--r--spec/acfg/constraint/max-uint32.yml11
-rw-r--r--spec/acfg/constraint/max-uintptr.yml11
-rw-r--r--spec/acfg/constraint/memory-size.yml (renamed from spec/acfg/if/constraint-memsz.yml)6
-rw-r--r--spec/acfg/constraint/min-16.yml11
-rw-r--r--spec/acfg/constraint/min-bsp-app.yml (renamed from spec/acfg/if/constraint-isrstackalign.yml)4
-rw-r--r--spec/acfg/constraint/min-clock-ticks.yml11
-rw-r--r--spec/acfg/constraint/min-one.yml11
-rw-r--r--spec/acfg/constraint/min-task-stack-size.yml11
-rw-r--r--spec/acfg/constraint/min-zero.yml11
-rw-r--r--spec/acfg/constraint/mpci-receive-server-stack.yml13
-rw-r--r--spec/acfg/constraint/multiple-of-bdbuf-buffer-min-size.yml11
-rw-r--r--spec/acfg/constraint/multiple-of-task-storage-alignment.yml11
-rw-r--r--spec/acfg/constraint/posix-api.yml13
-rw-r--r--spec/acfg/constraint/power-of-two.yml10
-rw-r--r--spec/acfg/constraint/scheduler-assignments-count.yml11
-rw-r--r--spec/acfg/constraint/scheduler-assignments-macros.yml15
-rw-r--r--spec/acfg/constraint/stack-space.yml (renamed from spec/acfg/if/constraint-idlestackarea.yml)6
-rw-r--r--spec/acfg/constraint/task-stack-from-alloc.yml14
-rw-r--r--spec/acfg/constraint/type-rtems-name.yml11
-rw-r--r--spec/acfg/constraint/type-task-argument.yml11
-rw-r--r--spec/acfg/constraint/unlimited-allocation-size.yml11
-rw-r--r--spec/acfg/constraint/unlimited.yml (renamed from spec/acfg/if/constraint-unlimited.yml)9
-rw-r--r--spec/acfg/constraint/use-task-storage-size.yml11
-rw-r--r--spec/acfg/constraint/valid-idle-stack-area.yml13
-rw-r--r--spec/acfg/constraint/valid-isr-stack-alignment.yml (renamed from spec/acfg/if/constraint-bspappmin.yml)4
-rw-r--r--spec/acfg/constraint/valid-isr-stack-area.yml13
-rw-r--r--spec/acfg/constraint/valid-task-attributes.yml11
-rw-r--r--spec/acfg/constraint/valid-task-modes.yml11
-rw-r--r--spec/acfg/constraint/valid-task-priority.yml (renamed from spec/acfg/if/constraint-prioclassic.yml)5
-rw-r--r--spec/acfg/constraint/wkspace.yml13
-rw-r--r--spec/acfg/if/appl-extra-drivers.yml7
-rw-r--r--spec/acfg/if/appl-prerequisite-drivers.yml7
-rw-r--r--spec/acfg/if/ata-driver-task-priority.yml3
-rw-r--r--spec/acfg/if/bdbuf-buffer-max-size.yml8
-rw-r--r--spec/acfg/if/bdbuf-buffer-min-size.yml7
-rw-r--r--spec/acfg/if/bdbuf-cache-memory-size.yml7
-rw-r--r--spec/acfg/if/bdbuf-max-read-ahead-blocks.yml7
-rw-r--r--spec/acfg/if/bdbuf-max-write-blocks.yml7
-rw-r--r--spec/acfg/if/bdbuf-read-ahead-task-priority.yml3
-rw-r--r--spec/acfg/if/bdbuf-swapout-block-hold.yml7
-rw-r--r--spec/acfg/if/bdbuf-swapout-swap-period.yml7
-rw-r--r--spec/acfg/if/bdbuf-swapout-task-priority.yml3
-rw-r--r--spec/acfg/if/bdbuf-swapout-worker-taskp-riority.yml3
-rw-r--r--spec/acfg/if/bdbuf-swapout-worker-tasks.yml7
-rw-r--r--spec/acfg/if/bdbuf-task-stack-size.yml8
-rw-r--r--spec/acfg/if/bsp-idle-task-body.yml7
-rw-r--r--spec/acfg/if/bsp-idle-task-stack-size.yml5
-rw-r--r--spec/acfg/if/bsp-initial-extension.yml7
-rw-r--r--spec/acfg/if/bsp-interrupt-stack-size.yml7
-rw-r--r--spec/acfg/if/bsp-prerequisite-drivers.yml7
-rw-r--r--spec/acfg/if/cbs-max-servers.yml9
-rw-r--r--spec/acfg/if/constraint-isrstackarea.yml12
-rw-r--r--spec/acfg/if/constraint-posix.yml13
-rw-r--r--spec/acfg/if/constraint-stackspace.yml12
-rw-r--r--spec/acfg/if/constraint-wkspace.yml12
-rw-r--r--spec/acfg/if/executive-ram-size.yml9
-rw-r--r--spec/acfg/if/extra-task-stacks.yml6
-rw-r--r--spec/acfg/if/idle-task-body.yml7
-rw-r--r--spec/acfg/if/idle-task-stack-size.yml5
-rw-r--r--spec/acfg/if/imfs-memfile-bytes-per-block.yml10
-rw-r--r--spec/acfg/if/init-task-arguments.yml7
-rw-r--r--spec/acfg/if/init-task-attributes.yml6
-rw-r--r--spec/acfg/if/init-task-construct-storage-size.yml10
-rw-r--r--spec/acfg/if/init-task-entrypoint.yml7
-rw-r--r--spec/acfg/if/init-task-initial-modes.yml6
-rw-r--r--spec/acfg/if/init-task-name.yml7
-rw-r--r--spec/acfg/if/init-task-priority.yml3
-rw-r--r--spec/acfg/if/init-task-stack-size.yml6
-rw-r--r--spec/acfg/if/initial-extensions.yml7
-rw-r--r--spec/acfg/if/interrupt-stack-size.yml7
-rw-r--r--spec/acfg/if/max-barriers.yml11
-rw-r--r--spec/acfg/if/max-drivers.yml12
-rw-r--r--spec/acfg/if/max-file-descriptors.yml9
-rw-r--r--spec/acfg/if/max-message-queues.yml11
-rw-r--r--spec/acfg/if/max-partitions.yml11
-rw-r--r--spec/acfg/if/max-periods.yml11
-rw-r--r--spec/acfg/if/max-ports.yml11
-rw-r--r--spec/acfg/if/max-posix-key-value-pairs.yml11
-rw-r--r--spec/acfg/if/max-posix-keys.yml11
-rw-r--r--spec/acfg/if/max-posix-message-queues.yml13
-rw-r--r--spec/acfg/if/max-posix-queued-signals.yml10
-rw-r--r--spec/acfg/if/max-posix-semaphores.yml13
-rw-r--r--spec/acfg/if/max-posix-shms.yml13
-rw-r--r--spec/acfg/if/max-posix-threads.yml11
-rw-r--r--spec/acfg/if/max-posix-timers.yml13
-rw-r--r--spec/acfg/if/max-priority.yml10
-rw-r--r--spec/acfg/if/max-processors.yml7
-rw-r--r--spec/acfg/if/max-regions.yml11
-rw-r--r--spec/acfg/if/max-semaphores.yml11
-rw-r--r--spec/acfg/if/max-tasks.yml13
-rw-r--r--spec/acfg/if/max-thread-local-storage-size.yml11
-rw-r--r--spec/acfg/if/max-thread-name-size.yml9
-rw-r--r--spec/acfg/if/max-timers.yml11
-rw-r--r--spec/acfg/if/max-user-extensions.yml9
-rw-r--r--spec/acfg/if/memory-overhead.yml8
-rw-r--r--spec/acfg/if/message-buffer-memory.yml8
-rw-r--r--spec/acfg/if/microseconds-per-tick.yml11
-rw-r--r--spec/acfg/if/min-posix-thread-stack-size.yml5
-rw-r--r--spec/acfg/if/min-task-stack-size.yml5
-rw-r--r--spec/acfg/if/min-tasks-with-user-provided-storage.yml7
-rw-r--r--spec/acfg/if/mp-extra-server-stack.yml15
-rw-r--r--spec/acfg/if/mp-max-global-objects.yml7
-rw-r--r--spec/acfg/if/mp-max-nodes.yml7
-rw-r--r--spec/acfg/if/mp-max-proxies.yml7
-rw-r--r--spec/acfg/if/mp-mpci-table-pointer.yml7
-rw-r--r--spec/acfg/if/mp-node-number.yml7
-rw-r--r--spec/acfg/if/posix-init-thread-entry-point.yml7
-rw-r--r--spec/acfg/if/posix-init-thread-stack-size.yml6
-rw-r--r--spec/acfg/if/record-per-processor-items.yml13
-rw-r--r--spec/acfg/if/scheduler-assignments.yml16
-rw-r--r--spec/acfg/if/scheduler-name.yml7
-rw-r--r--spec/acfg/if/task-stack-allocator-init.yml8
-rw-r--r--spec/acfg/if/task-stack-allocator.yml7
-rw-r--r--spec/acfg/if/task-stack-deallocator.yml7
-rw-r--r--spec/acfg/if/task-stack-from-alloc.yml10
-rw-r--r--spec/acfg/if/ticks-per-time-slice.yml7
-rw-r--r--spec/acfg/if/unlimited-allocation-size.yml7
-rw-r--r--spec/spec/appl-config-option-constraints.yml41
-rw-r--r--spec/spec/appl-config-option-value.yml3
-rw-r--r--spec/spec/appl-config-option.yml4
152 files changed, 887 insertions, 698 deletions
diff --git a/rtemsspec/applconfig.py b/rtemsspec/applconfig.py
index a2ef7035..ab629b9f 100644
--- a/rtemsspec/applconfig.py
+++ b/rtemsspec/applconfig.py
@@ -24,10 +24,9 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-import copy
from typing import Any, Dict, List, Optional
-from rtemsspec.content import CContent, get_value_double_colon, \
+from rtemsspec.content import Content, CContent, get_value_double_colon, \
get_value_doxygen_function, get_value_doxygen_group, get_value_hash
from rtemsspec.sphinxcontent import SphinxContent, SphinxInterfaceMapper
from rtemsspec.items import EmptyItem, Item, ItemCache, ItemGetValueContext, \
@@ -98,7 +97,9 @@ class _ContentAdaptor:
def add_option_value_constraints(self, lines: List[str]) -> None:
""" Adds a option value constraints. """
- self.content.add_definition_item("VALUE CONSTRAINTS:", lines)
+ self.content.add_definition_item("VALUE CONSTRAINTS:",
+ lines,
+ wrap=True)
def add_option_description(self, description: str) -> None:
""" Adds a option description. """
@@ -195,96 +196,31 @@ def _generate_feature(content: _ContentAdaptor, item: Item,
content.substitute(_OPTION_DEFAULT_CONFIG[option_type](item)))
-def _generate_min_max(lines: List[str], value: str, word: str) -> None:
- lines.append("The value of this configuration option shall be "
- f"{word} than or equal to {value}.")
-
-
-def _generate_set(lines: List[str], values: List[Any]) -> None:
- value_set = "{" + ", ".join([str(x) for x in values]) + "}"
- lines.append("The value of this configuration option shall be")
- lines.append(f"an element of {value_set}.")
-
-
-def _start_constraint_list(lines: List[str]) -> None:
- lines.append("The value of this configuration option shall "
- "satisfy all of the following")
- lines.append("constraints:")
-
-
-def _generate_item_min(lines: List[str], constraints: Dict[str, Any]) -> None:
- if "min" in constraints:
- value = constraints["min"]
- lines.append("")
- lines.append(f"* It shall be greater than or equal to {value}.")
-
-
-def _generate_item_max(lines: List[str], constraints: Dict[str, Any]) -> None:
- if "max" in constraints:
- value = constraints["max"]
- lines.append("")
- lines.append(f"* It shall be less than or equal to {value}.")
-
-
-def _generate_item_set(lines: List[str], constraints: Dict[str, Any]) -> None:
- if "set" in constraints:
- value_set = constraints["set"]
- lines.append("")
- lines.append(f"* It shall be an element of {value_set}.")
-
-
-def _generate_item_texts(lines: List[str], constraints: Dict[str,
- Any]) -> None:
- for text in constraints.get("texts", []):
- lines.append("")
- text = text.replace("The value of this configuration option", "It")
- text = text.strip().split("\n")
- lines.append(f"* {text[0]}")
- lines.extend([f" {x}" if x else "" for x in text[1:]])
-
-
-def _resolve_constraint_links(content: _ContentAdaptor, item: Item,
- constraints: Dict[str, Any]) -> None:
- texts = [] # type: List[str]
+def _get_constraints(content: _ContentAdaptor, item: Item) -> List[str]:
+ constraints = [] # type: List[str]
for parent in item.parents("constraint"):
content.register_license_and_copyrights_of_item(parent)
- texts.append(parent["text"])
- if texts:
- constraints.setdefault("texts", []).extend(reversed(texts))
+ constraints.append(content.substitute(parent["text"]))
+ return constraints
+
+
+_THE_VALUE = "The value of the application configuration option"
def _generate_constraint(content: _ContentAdaptor, item: Item) -> None:
- constraints = copy.deepcopy(item["constraints"])
- _resolve_constraint_links(content, item, constraints)
- lines = [] # type: List[str]
- count = len(constraints)
- if count == 1:
- if "min" in constraints:
- _generate_min_max(lines, constraints["min"], "greater")
- elif "max" in constraints:
- _generate_min_max(lines, constraints["max"], "less")
- elif "set" in constraints:
- _generate_set(lines, constraints["set"])
- elif "texts" in constraints:
- if len(constraints["texts"]) == 1:
- lines.extend(constraints["texts"][0].strip().split("\n"))
- else:
- _start_constraint_list(lines)
- _generate_item_texts(lines, constraints)
- elif count == 2 and "min" in constraints and "max" in constraints:
- minimum = constraints["min"]
- maximum = constraints["max"]
- lines.append("The value of this configuration option shall be "
- f"greater than or equal to {minimum}")
- lines.append(f"and less than or equal to {maximum}.")
- else:
- _start_constraint_list(lines)
- _generate_item_min(lines, constraints)
- _generate_item_max(lines, constraints)
- _generate_item_set(lines, constraints)
- _generate_item_texts(lines, constraints)
- content.add_option_value_constraints(
- [content.substitute(line) for line in lines])
+ constraints = _get_constraints(content, item)
+ if len(constraints) > 1:
+ constraint_list = Content("BSD-2-Clause", False)
+ prologue = """The value of this configuration option shall satisfy all
+of the following constraints:"""
+ constraint_list.add_list([
+ constraint.replace(_THE_VALUE, "It") for constraint in constraints
+ ], prologue)
+ constraints = constraint_list.lines
+ elif constraints:
+ constraints[0] = constraints[0].replace(
+ _THE_VALUE, "The value of this configuration option")
+ content.add_option_value_constraints(constraints)
def _generate_initializer_or_integer(content: _ContentAdaptor, item: Item,
diff --git a/rtemsspec/tests/spec-applconfig/c.yml b/rtemsspec/tests/spec-applconfig/c.yml
index 61a645c4..0934eb87 100644
--- a/rtemsspec/tests/spec-applconfig/c.yml
+++ b/rtemsspec/tests/spec-applconfig/c.yml
@@ -1,11 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 99
- min: -1
- texts:
- - custom c 1
- - custom c 2
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 13
diff --git a/rtemsspec/tests/spec-applconfig/e.yml b/rtemsspec/tests/spec-applconfig/e.yml
index 77686aca..3b56a7d1 100644
--- a/rtemsspec/tests/spec-applconfig/e.yml
+++ b/rtemsspec/tests/spec-applconfig/e.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: -2
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 7
diff --git a/rtemsspec/tests/spec-applconfig/f.yml b/rtemsspec/tests/spec-applconfig/f.yml
index 9fdb0b26..67f4f0c8 100644
--- a/rtemsspec/tests/spec-applconfig/f.yml
+++ b/rtemsspec/tests/spec-applconfig/f.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 2
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 1
diff --git a/rtemsspec/tests/spec-applconfig/h.yml b/rtemsspec/tests/spec-applconfig/h.yml
index 513b49ab..21afe1cd 100644
--- a/rtemsspec/tests/spec-applconfig/h.yml
+++ b/rtemsspec/tests/spec-applconfig/h.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - custom h
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 1
diff --git a/rtemsspec/tests/spec-applconfig/i.yml b/rtemsspec/tests/spec-applconfig/i.yml
index 6d875ac0..473425d5 100644
--- a/rtemsspec/tests/spec-applconfig/i.yml
+++ b/rtemsspec/tests/spec-applconfig/i.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- set:
- - 1
- - 2
- - 3
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 1
diff --git a/rtemsspec/tests/spec-applconfig/j.yml b/rtemsspec/tests/spec-applconfig/j.yml
index 093c9cc4..824d76fa 100644
--- a/rtemsspec/tests/spec-applconfig/j.yml
+++ b/rtemsspec/tests/spec-applconfig/j.yml
@@ -1,9 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- set:
- - 1
- - 2
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: Foo bar.
diff --git a/rtemsspec/tests/spec-applconfig/k.yml b/rtemsspec/tests/spec-applconfig/k.yml
index 6900d41c..5c930448 100644
--- a/rtemsspec/tests/spec-applconfig/k.yml
+++ b/rtemsspec/tests/spec-applconfig/k.yml
@@ -1,9 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - custom k 1
- - custom k 2
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 1
diff --git a/rtemsspec/tests/spec-applconfig/l.yml b/rtemsspec/tests/spec-applconfig/l.yml
index 1506dddc..c0d5fe60 100644
--- a/rtemsspec/tests/spec-applconfig/l.yml
+++ b/rtemsspec/tests/spec-applconfig/l.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- max: 2
- min: 0
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 1
@@ -13,6 +10,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: g
+- role: constraint
+ uid: min-zero
+- role: constraint
+ uid: max-two
name: l
notes: null
type: interface
diff --git a/rtemsspec/tests/spec-applconfig/m.yml b/rtemsspec/tests/spec-applconfig/m.yml
index 267f6bc4..43c9276a 100644
--- a/rtemsspec/tests/spec-applconfig/m.yml
+++ b/rtemsspec/tests/spec-applconfig/m.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- some: garbage
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 1
diff --git a/rtemsspec/tests/spec-applconfig/max-two.yml b/rtemsspec/tests/spec-applconfig/max-two.yml
new file mode 100644
index 00000000..90d9f07a
--- /dev/null
+++ b/rtemsspec/tests/spec-applconfig/max-two.yml
@@ -0,0 +1,9 @@
+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: []
+text: |
+ The value of the application configuration option shall be less than or
+ equal to two.
+type: constraint
diff --git a/rtemsspec/tests/spec-applconfig/min-0.yml b/rtemsspec/tests/spec-applconfig/min-0.yml
new file mode 100644
index 00000000..ad846d17
--- /dev/null
+++ b/rtemsspec/tests/spec-applconfig/min-0.yml
@@ -0,0 +1,8 @@
+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: []
+text: |
+ The value of the application configuration option shall be greater than or equal to 0.
+type: constraint
diff --git a/rtemsspec/tests/spec-applconfig/min-zero.yml b/rtemsspec/tests/spec-applconfig/min-zero.yml
new file mode 100644
index 00000000..ead33846
--- /dev/null
+++ b/rtemsspec/tests/spec-applconfig/min-zero.yml
@@ -0,0 +1,9 @@
+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: []
+text: |
+ The value of the application configuration option shall be greater than or
+ equal to zero.
+type: constraint
diff --git a/rtemsspec/tests/test_applconfig.py b/rtemsspec/tests/test_applconfig.py
index 1e53e83d..f01410c3 100644
--- a/rtemsspec/tests/test_applconfig.py
+++ b/rtemsspec/tests/test_applconfig.py
@@ -46,7 +46,7 @@ def test_applconfig(tmpdir):
with open(g_rst, "r") as src:
content = """.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
@@ -131,8 +131,7 @@ OPTION TYPE:
This configuration option is a boolean feature define.
DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is \
-not
+ If this configuration option is undefined, then the described feature is not
enabled.
DESCRIPTION:
@@ -160,18 +159,7 @@ DEFAULT VALUE:
The default value is 13.
VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
-
- * It shall be greater than or equal to -1.
-
- * It shall be less than or equal to 99.
-
- * custom c 1
-
- * custom c 2
-
- * constraint d
+ constraint d
DESCRIPTION:
description c
@@ -197,10 +185,6 @@ OPTION TYPE:
DEFAULT VALUE:
The default value is 7.
-VALUE CONSTRAINTS:
- The value of this configuration option shall be greater than or equal to \
--2.
-
DESCRIPTION:
description e
@@ -225,9 +209,6 @@ OPTION TYPE:
DEFAULT VALUE:
The default value is 1.
-VALUE CONSTRAINTS:
- The value of this configuration option shall be less than or equal to 2.
-
DESCRIPTION:
description f
@@ -252,9 +233,6 @@ OPTION TYPE:
DEFAULT VALUE:
The default value is 1.
-VALUE CONSTRAINTS:
- custom h
-
DESCRIPTION:
description h
@@ -279,10 +257,6 @@ OPTION TYPE:
DEFAULT VALUE:
The default value is 1.
-VALUE CONSTRAINTS:
- The value of this configuration option shall be
- an element of {1, 2, 3}.
-
DESCRIPTION:
description i
@@ -308,12 +282,7 @@ DEFAULT VALUE:
Foo bar.
VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
-
- * It shall be an element of [1, 2].
-
- * constraint d
+ constraint d
DESCRIPTION:
description j
@@ -339,14 +308,6 @@ OPTION TYPE:
DEFAULT VALUE:
The default value is 1.
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
-
- * custom k 1
-
- * custom k 2
-
DESCRIPTION:
description k
@@ -372,8 +333,12 @@ DEFAULT VALUE:
The default value is 1.
VALUE CONSTRAINTS:
- The value of this configuration option shall be greater than or equal to 0
- and less than or equal to 2.
+ The value of this configuration option shall satisfy all of the following
+ constraints:
+
+ * It shall be greater than or equal to zero.
+
+ * It shall be less than or equal to two.
DESCRIPTION:
description l
@@ -410,7 +375,7 @@ NOTES:
content = """/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ * Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -532,20 +497,7 @@ NOTES:
* The default value is 13.
*
* @par Value Constraints
- * @parblock
- * The value of this configuration option shall satisfy all of the following
- * constraints:
- *
- * * It shall be greater than or equal to -1.
- *
- * * It shall be less than or equal to 99.
- *
- * * custom c 1
- *
- * * custom c 2
- *
- * * constraint d
- * @endparblock
+ * constraint d
*
* @par Notes
* notes c
@@ -561,9 +513,6 @@ NOTES:
*
* @par Default Value
* The default value is 7.
- *
- * @par Value Constraints
- * The value of this configuration option shall be greater than or equal to -2.
*/
#define e
@@ -576,9 +525,6 @@ NOTES:
*
* @par Default Value
* The default value is 1.
- *
- * @par Value Constraints
- * The value of this configuration option shall be less than or equal to 2.
*/
#define f
@@ -591,9 +537,6 @@ NOTES:
*
* @par Default Value
* The default value is 1.
- *
- * @par Value Constraints
- * custom h
*/
#define h
@@ -606,9 +549,6 @@ NOTES:
*
* @par Default Value
* The default value is 1.
- *
- * @par Value Constraints
- * The value of this configuration option shall be an element of {1, 2, 3}.
*/
#define i
@@ -623,14 +563,7 @@ NOTES:
* Foo bar.
*
* @par Value Constraints
- * @parblock
- * The value of this configuration option shall satisfy all of the following
- * constraints:
- *
- * * It shall be an element of [1, 2].
- *
- * * constraint d
- * @endparblock
+ * constraint d
*/
#define j
@@ -643,16 +576,6 @@ NOTES:
*
* @par Default Value
* The default value is 1.
- *
- * @par Value Constraints
- * @parblock
- * The value of this configuration option shall satisfy all of the following
- * constraints:
- *
- * * custom k 1
- *
- * * custom k 2
- * @endparblock
*/
#define k
@@ -667,8 +590,14 @@ NOTES:
* The default value is 1.
*
* @par Value Constraints
- * The value of this configuration option shall be greater than or equal to 0
- * and less than or equal to 2.
+ * @parblock
+ * The value of this configuration option shall satisfy all of the following
+ * constraints:
+ *
+ * * It shall be greater than or equal to zero.
+ *
+ * * It shall be less than or equal to two.
+ * @endparblock
*/
#define l
diff --git a/spec/acfg/constraint/clock-ticks-per-second.yml b/spec/acfg/constraint/clock-ticks-per-second.yml
new file mode 100644
index 00000000..c04789a6
--- /dev/null
+++ b/spec/acfg/constraint/clock-ticks-per-second.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The resulting clock ticks per second should be an integer.
+type: constraint
diff --git a/spec/acfg/constraint/imfs-memfile-bytes-per-block.yml b/spec/acfg/constraint/imfs-memfile-bytes-per-block.yml
new file mode 100644
index 00000000..2bb25af1
--- /dev/null
+++ b/spec/acfg/constraint/imfs-memfile-bytes-per-block.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 value of the application configuration option shall be equal to 16, 32,
+ 64, 128, 256, or 512.
+type: constraint
diff --git a/spec/acfg/constraint/init-driver-table.yml b/spec/acfg/constraint/init-driver-table.yml
new file mode 100644
index 00000000..71b38bf4
--- /dev/null
+++ b/spec/acfg/constraint/init-driver-table.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a list of
+ initializers for structures of type
+ ${/rtems/io/if/driver-address-table:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/init-idle-task-body.yml b/spec/acfg/constraint/init-idle-task-body.yml
new file mode 100644
index 00000000..6a11ac88
--- /dev/null
+++ b/spec/acfg/constraint/init-idle-task-body.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined to a valid
+ function pointer of the type ``void *( *idle_body )( uintptr_t )``.
+type: constraint
diff --git a/spec/acfg/constraint/init-mpci-table.yml b/spec/acfg/constraint/init-mpci-table.yml
new file mode 100644
index 00000000..9f9c1455
--- /dev/null
+++ b/spec/acfg/constraint/init-mpci-table.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a pointer to
+ ${/rtems/type/if/mpci-table:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/init-posix-thread-entry-point.yml b/spec/acfg/constraint/init-posix-thread-entry-point.yml
new file mode 100644
index 00000000..f93a3aed
--- /dev/null
+++ b/spec/acfg/constraint/init-posix-thread-entry-point.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined to a valid
+ function pointer of the type ``void *( *entry_point )( void * )``.
+type: constraint
diff --git a/spec/acfg/constraint/init-task-entry-point.yml b/spec/acfg/constraint/init-task-entry-point.yml
new file mode 100644
index 00000000..335bb89d
--- /dev/null
+++ b/spec/acfg/constraint/init-task-entry-point.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined to a valid
+ function pointer of the type
+ ``void ( *entry_point )( rtems_task_argument )``.
+type: constraint
diff --git a/spec/acfg/constraint/init-task-stack-allocator-init.yml b/spec/acfg/constraint/init-task-stack-allocator-init.yml
new file mode 100644
index 00000000..52105d18
--- /dev/null
+++ b/spec/acfg/constraint/init-task-stack-allocator-init.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined to a valid
+ function pointer of the type ``void ( *initialize )( size_t )`` or to
+ ${/c/if/null:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/init-task-stack-allocator.yml b/spec/acfg/constraint/init-task-stack-allocator.yml
new file mode 100644
index 00000000..01f50301
--- /dev/null
+++ b/spec/acfg/constraint/init-task-stack-allocator.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined to a valid
+ function pointer of the type ``void *( *allocate )( size_t )``.
+type: constraint
diff --git a/spec/acfg/constraint/init-task-stack-deallocator.yml b/spec/acfg/constraint/init-task-stack-deallocator.yml
new file mode 100644
index 00000000..37b4fe9b
--- /dev/null
+++ b/spec/acfg/constraint/init-task-stack-deallocator.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined to a valid
+ function pointer of the type ``void ( *deallocate )( void * )``.
+type: constraint
diff --git a/spec/acfg/constraint/init-userext-table.yml b/spec/acfg/constraint/init-userext-table.yml
new file mode 100644
index 00000000..a2d810e0
--- /dev/null
+++ b/spec/acfg/constraint/init-userext-table.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a list of
+ initializers for structures of type ${/rtems/userext/if/table:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/max-clock-ticks.yml b/spec/acfg/constraint/max-clock-ticks.yml
new file mode 100644
index 00000000..1af539f3
--- /dev/null
+++ b/spec/acfg/constraint/max-clock-ticks.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be less than or equal
+ to a value defined by the ${/glossary/clock-driver:/term}.
+type: constraint
diff --git a/spec/acfg/constraint/max-drivers.yml b/spec/acfg/constraint/max-drivers.yml
new file mode 100644
index 00000000..de644d3f
--- /dev/null
+++ b/spec/acfg/constraint/max-drivers.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be greater than or
+ equal than the number of statically configured device drivers.
+type: constraint
diff --git a/spec/acfg/constraint/max-obj.yml b/spec/acfg/constraint/max-obj.yml
new file mode 100644
index 00000000..562040e4
--- /dev/null
+++ b/spec/acfg/constraint/max-obj.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 value of the application configuration option shall be less than or equal
+ to 65535.
+type: constraint
diff --git a/spec/acfg/constraint/max-priority.yml b/spec/acfg/constraint/max-priority.yml
new file mode 100644
index 00000000..f76648d5
--- /dev/null
+++ b/spec/acfg/constraint/max-priority.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 value of the application configuration option shall be equal to 3, 7, 31,
+ 63, 127, or 255.
+type: constraint
diff --git a/spec/acfg/constraint/max-processors.yml b/spec/acfg/constraint/max-processors.yml
new file mode 100644
index 00000000..c951e38a
--- /dev/null
+++ b/spec/acfg/constraint/max-processors.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 value of the application configuration option shall be less than or
+ equal to ${/score/cpu/if/maximum-processors:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/max-size.yml b/spec/acfg/constraint/max-size.yml
new file mode 100644
index 00000000..0866a2b8
--- /dev/null
+++ b/spec/acfg/constraint/max-size.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 value of the application configuration option shall be less than or
+ equal to ${/c/if/size_max:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/max-tasks.yml b/spec/acfg/constraint/max-tasks.yml
new file mode 100644
index 00000000..e5eeea67
--- /dev/null
+++ b/spec/acfg/constraint/max-tasks.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 value of the application configuration option shall be less than or
+ equal to ${../if/max-tasks:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/max-uint32.yml b/spec/acfg/constraint/max-uint32.yml
new file mode 100644
index 00000000..d84b1cc1
--- /dev/null
+++ b/spec/acfg/constraint/max-uint32.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 value of the application configuration option shall be less than or
+ equal to ${/c/if/uint32_max:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/max-uintptr.yml b/spec/acfg/constraint/max-uintptr.yml
new file mode 100644
index 00000000..73f06aca
--- /dev/null
+++ b/spec/acfg/constraint/max-uintptr.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 value of the application configuration option shall be less than or
+ equal to ${/c/if/uintptr_max:/name}.
+type: constraint
diff --git a/spec/acfg/if/constraint-memsz.yml b/spec/acfg/constraint/memory-size.yml
index b3a2204e..01dfa83b 100644
--- a/spec/acfg/if/constraint-memsz.yml
+++ b/spec/acfg/constraint/memory-size.yml
@@ -6,7 +6,7 @@ links: []
rationale: null
scope: user
text: |
- The value of this configuration option shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+ The value of the application configuration option shall be less than or equal
+ to a BSP-specific and application-specific value which depends on the size of
+ the memory available to the application.
type: constraint
diff --git a/spec/acfg/constraint/min-16.yml b/spec/acfg/constraint/min-16.yml
new file mode 100644
index 00000000..8108362f
--- /dev/null
+++ b/spec/acfg/constraint/min-16.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 value of the application configuration option shall be greater than or
+ equal to 16.
+type: constraint
diff --git a/spec/acfg/if/constraint-isrstackalign.yml b/spec/acfg/constraint/min-bsp-app.yml
index 0282dfc3..d60beebf 100644
--- a/spec/acfg/if/constraint-isrstackalign.yml
+++ b/spec/acfg/constraint/min-bsp-app.yml
@@ -6,6 +6,6 @@ links: []
rationale: null
scope: user
text: |
- The value of this configuration option shall be aligned according to
- ${/score/cpu/if/interrupt-stack-alignment:/name}.
+ The value of the application configuration option shall be greater than or
+ equal to a BSP-specific and application-specific minimum value.
type: constraint
diff --git a/spec/acfg/constraint/min-clock-ticks.yml b/spec/acfg/constraint/min-clock-ticks.yml
new file mode 100644
index 00000000..f4aeff50
--- /dev/null
+++ b/spec/acfg/constraint/min-clock-ticks.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be greater than or
+ equal to a value defined by the ${/glossary/clock-driver:/term}.
+type: constraint
diff --git a/spec/acfg/constraint/min-one.yml b/spec/acfg/constraint/min-one.yml
new file mode 100644
index 00000000..68180d04
--- /dev/null
+++ b/spec/acfg/constraint/min-one.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 value of the application configuration option shall be greater than or
+ equal to one.
+type: constraint
diff --git a/spec/acfg/constraint/min-task-stack-size.yml b/spec/acfg/constraint/min-task-stack-size.yml
new file mode 100644
index 00000000..d8f47225
--- /dev/null
+++ b/spec/acfg/constraint/min-task-stack-size.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 value of the application configuration option shall be greater than or
+ equal to ${../if/min-task-stack-size:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/min-zero.yml b/spec/acfg/constraint/min-zero.yml
new file mode 100644
index 00000000..4bd0c476
--- /dev/null
+++ b/spec/acfg/constraint/min-zero.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 value of the application configuration option shall be greater than or
+ equal to zero.
+type: constraint
diff --git a/spec/acfg/constraint/mpci-receive-server-stack.yml b/spec/acfg/constraint/mpci-receive-server-stack.yml
new file mode 100644
index 00000000..dfa410e4
--- /dev/null
+++ b/spec/acfg/constraint/mpci-receive-server-stack.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be small enough so
+ that the MPCI receive server stack area calculation carried out by
+ ``<rtems/confdefs.h>`` does not overflow an integer of type
+ ${/c/if/size_t:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/multiple-of-bdbuf-buffer-min-size.yml b/spec/acfg/constraint/multiple-of-bdbuf-buffer-min-size.yml
new file mode 100644
index 00000000..f0d1f515
--- /dev/null
+++ b/spec/acfg/constraint/multiple-of-bdbuf-buffer-min-size.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be an integral
+ multiple of ${bdbuf-buffer-min-size:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/multiple-of-task-storage-alignment.yml b/spec/acfg/constraint/multiple-of-task-storage-alignment.yml
new file mode 100644
index 00000000..4190bd18
--- /dev/null
+++ b/spec/acfg/constraint/multiple-of-task-storage-alignment.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be an integral
+ multiple of ${/rtems/task/if/storage-alignment:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/posix-api.yml b/spec/acfg/constraint/posix-api.yml
new file mode 100644
index 00000000..34cf9326
--- /dev/null
+++ b/spec/acfg/constraint/posix-api.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be zero if the POSIX
+ API is not enabled (e.g. RTEMS was built without the
+ ``RTEMS_POSIX_API = True`` build configuration option). Otherwise a compile
+ time error in the configuration file will occur.
+type: constraint
diff --git a/spec/acfg/constraint/power-of-two.yml b/spec/acfg/constraint/power-of-two.yml
new file mode 100644
index 00000000..9c39295f
--- /dev/null
+++ b/spec/acfg/constraint/power-of-two.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a power of two.
+type: constraint
diff --git a/spec/acfg/constraint/scheduler-assignments-count.yml b/spec/acfg/constraint/scheduler-assignments-count.yml
new file mode 100644
index 00000000..eeab70ee
--- /dev/null
+++ b/spec/acfg/constraint/scheduler-assignments-count.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a list of exactly
+ ${../if/max-processors:/name} elements.
+type: constraint
diff --git a/spec/acfg/constraint/scheduler-assignments-macros.yml b/spec/acfg/constraint/scheduler-assignments-macros.yml
new file mode 100644
index 00000000..85603941
--- /dev/null
+++ b/spec/acfg/constraint/scheduler-assignments-macros.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a list of the
+ following macros:
+
+ * ``RTEMS_SCHEDULER_ASSIGN( processor_index, attributes )``
+
+ * ``RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER``
+type: constraint
diff --git a/spec/acfg/if/constraint-idlestackarea.yml b/spec/acfg/constraint/stack-space.yml
index 93301fc5..950f6ece 100644
--- a/spec/acfg/if/constraint-idlestackarea.yml
+++ b/spec/acfg/constraint/stack-space.yml
@@ -6,7 +6,7 @@ links: []
rationale: null
scope: user
text: |
- The value of this configuration option shall be small enough so that the IDLE
- task stack area calculation carried out by ``<rtems/confdefs.h>`` does not
- overflow an integer of type ${/c/if/size_t:/name}.
+ The value of the application configuration option shall be small enough so
+ that the task stack space calculation carried out by ``<rtems/confdefs.h>``
+ does not overflow an integer of type ${/c/if/uintptr_t:/name}.
type: constraint
diff --git a/spec/acfg/constraint/task-stack-from-alloc.yml b/spec/acfg/constraint/task-stack-from-alloc.yml
new file mode 100644
index 00000000..47e43532
--- /dev/null
+++ b/spec/acfg/constraint/task-stack-from-alloc.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined to a macro
+ which accepts exactly one parameter and returns an unsigned integer. The
+ parameter will be an allocation size and the macro shall return this size
+ plus the overhead of the allocator to manage an allocation request for this
+ size.
+type: constraint
diff --git a/spec/acfg/constraint/type-rtems-name.yml b/spec/acfg/constraint/type-rtems-name.yml
new file mode 100644
index 00000000..6d274c66
--- /dev/null
+++ b/spec/acfg/constraint/type-rtems-name.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be convertible to an
+ integer of type ${/rtems/type/if/name:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/type-task-argument.yml b/spec/acfg/constraint/type-task-argument.yml
new file mode 100644
index 00000000..8d448ced
--- /dev/null
+++ b/spec/acfg/constraint/type-task-argument.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be convertible to an
+ integer of type ${/rtems/task/if/argument:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/unlimited-allocation-size.yml b/spec/acfg/constraint/unlimited-allocation-size.yml
new file mode 100644
index 00000000..aed45852
--- /dev/null
+++ b/spec/acfg/constraint/unlimited-allocation-size.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall meet the constraints
+ of all object classes to which it is applied.
+type: constraint
diff --git a/spec/acfg/if/constraint-unlimited.yml b/spec/acfg/constraint/unlimited.yml
index c0ca1f4f..d9da9b22 100644
--- a/spec/acfg/if/constraint-unlimited.yml
+++ b/spec/acfg/constraint/unlimited.yml
@@ -6,8 +6,9 @@ links: []
rationale: null
scope: user
text: |
- The value of this configuration option may be defined through
- ${/rtems/config/if/resource-unlimited:/name} the enable unlimited objects for this
- object class, if the value passed to ${/rtems/config/if/resource-unlimited:/name}
- satisfies all other constraints of this configuration option.
+ The value of the application configuration option may be defined through
+ ${/rtems/config/if/resource-unlimited:/name} the enable unlimited objects for
+ the object class, if the value passed to
+ ${/rtems/config/if/resource-unlimited:/name} satisfies all other constraints
+ of the configuration option.
type: constraint
diff --git a/spec/acfg/constraint/use-task-storage-size.yml b/spec/acfg/constraint/use-task-storage-size.yml
new file mode 100644
index 00000000..861d937d
--- /dev/null
+++ b/spec/acfg/constraint/use-task-storage-size.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be defined using
+ ${/rtems/task/if/storage-size:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/valid-idle-stack-area.yml b/spec/acfg/constraint/valid-idle-stack-area.yml
new file mode 100644
index 00000000..42bec622
--- /dev/null
+++ b/spec/acfg/constraint/valid-idle-stack-area.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be small enough so
+ that the IDLE task stack area calculation carried out by
+ ``<rtems/confdefs.h>`` does not overflow an integer of type
+ ${/c/if/size_t:/name}.
+type: constraint
diff --git a/spec/acfg/if/constraint-bspappmin.yml b/spec/acfg/constraint/valid-isr-stack-alignment.yml
index 0cebb9b6..f821d167 100644
--- a/spec/acfg/if/constraint-bspappmin.yml
+++ b/spec/acfg/constraint/valid-isr-stack-alignment.yml
@@ -6,6 +6,6 @@ links: []
rationale: null
scope: user
text: |
- The value of this configuration option shall be greater than or equal to a
- BSP-specific and application-specific minimum value.
+ The value of the application configuration option shall be aligned according
+ to ${/score/cpu/if/interrupt-stack-alignment:/name}.
type: constraint
diff --git a/spec/acfg/constraint/valid-isr-stack-area.yml b/spec/acfg/constraint/valid-isr-stack-area.yml
new file mode 100644
index 00000000..9bbd5f0a
--- /dev/null
+++ b/spec/acfg/constraint/valid-isr-stack-area.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be small enough so
+ that the interrupt stack area calculation carried out by
+ ``<rtems/confdefs.h>`` does not overflow an integer of type
+ ${/c/if/size_t:/name}.
+type: constraint
diff --git a/spec/acfg/constraint/valid-task-attributes.yml b/spec/acfg/constraint/valid-task-attributes.yml
new file mode 100644
index 00000000..6a748785
--- /dev/null
+++ b/spec/acfg/constraint/valid-task-attributes.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a valid task
+ attribute set.
+type: constraint
diff --git a/spec/acfg/constraint/valid-task-modes.yml b/spec/acfg/constraint/valid-task-modes.yml
new file mode 100644
index 00000000..5255e0f1
--- /dev/null
+++ b/spec/acfg/constraint/valid-task-modes.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be a valid task
+ mode set.
+type: constraint
diff --git a/spec/acfg/if/constraint-prioclassic.yml b/spec/acfg/constraint/valid-task-priority.yml
index dead5852..f3d96d6d 100644
--- a/spec/acfg/if/constraint-prioclassic.yml
+++ b/spec/acfg/constraint/valid-task-priority.yml
@@ -6,6 +6,7 @@ links: []
rationale: null
scope: user
text: |
- The value of this configuration option shall be a valid Classic API task
- priority. The set of valid task priorities is scheduler-specific.
+ The value of the application configuration option shall be a valid Classic
+ API task priority. The set of valid task priorities depends on the scheduler
+ configuration.
type: constraint
diff --git a/spec/acfg/constraint/wkspace.yml b/spec/acfg/constraint/wkspace.yml
new file mode 100644
index 00000000..c206ddc3
--- /dev/null
+++ b/spec/acfg/constraint/wkspace.yml
@@ -0,0 +1,13 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links: []
+rationale: null
+scope: user
+text: |
+ The value of the application configuration option shall be small enough so
+ that the RTEMS Workspace size calculation carried out by
+ ``<rtems/confdefs.h>`` does not overflow an integer of type
+ ${/c/if/uintptr_t:/name}.
+type: constraint
diff --git a/spec/acfg/if/appl-extra-drivers.yml b/spec/acfg/if/appl-extra-drivers.yml
index 23e2d4c7..e9b5c075 100644
--- a/spec/acfg/if/appl-extra-drivers.yml
+++ b/spec/acfg/if/appl-extra-drivers.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a list of initializers for
- structures of type ${/rtems/io/if/driver-address-table:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -18,6 +13,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-devdrv
+- role: constraint
+ uid: ../constraint/init-driver-table
name: CONFIGURE_APPLICATION_EXTRA_DRIVERS
notes: |
The value of this configuration option is placed after the entries of other
diff --git a/spec/acfg/if/appl-prerequisite-drivers.yml b/spec/acfg/if/appl-prerequisite-drivers.yml
index 13f98c9e..e9662f03 100644
--- a/spec/acfg/if/appl-prerequisite-drivers.yml
+++ b/spec/acfg/if/appl-prerequisite-drivers.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a list of initializers for
- structures of type ${/rtems/io/if/driver-address-table:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -18,6 +13,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-devdrv
+- role: constraint
+ uid: ../constraint/init-driver-table
name: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
notes: |
The value of this configuration option is placed after the entries defined by
diff --git a/spec/acfg/if/ata-driver-task-priority.yml b/spec/acfg/if/ata-driver-task-priority.yml
index f277c07b..686285f6 100644
--- a/spec/acfg/if/ata-driver-task-priority.yml
+++ b/spec/acfg/if/ata-driver-task-priority.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 140
@@ -13,7 +12,7 @@ links:
- role: appl-config-group-member
uid: group-devdrv
- role: constraint
- uid: constraint-prioclassic
+ uid: ../constraint/valid-task-priority
name: CONFIGURE_ATA_DRIVER_TASK_PRIORITY
notes: |
This configuration option is only evaluated if the configuration option
diff --git a/spec/acfg/if/bdbuf-buffer-max-size.yml b/spec/acfg/if/bdbuf-buffer-max-size.yml
index 1c6a4115..c27e155c 100644
--- a/spec/acfg/if/bdbuf-buffer-max-size.yml
+++ b/spec/acfg/if/bdbuf-buffer-max-size.yml
@@ -1,9 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: 0
- texts:
- - It shall be an integral multiple of ${bdbuf-buffer-min-size:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 4096
@@ -16,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/multiple-of-bdbuf-buffer-min-size
name: CONFIGURE_BDBUF_BUFFER_MAX_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-buffer-min-size.yml b/spec/acfg/if/bdbuf-buffer-min-size.yml
index 767a58f4..ebbfdc28 100644
--- a/spec/acfg/if/bdbuf-buffer-min-size.yml
+++ b/spec/acfg/if/bdbuf-buffer-min-size.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 512
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_BDBUF_BUFFER_MIN_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-cache-memory-size.yml b/spec/acfg/if/bdbuf-cache-memory-size.yml
index 9c9e52c1..72636465 100644
--- a/spec/acfg/if/bdbuf-cache-memory-size.yml
+++ b/spec/acfg/if/bdbuf-cache-memory-size.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/size_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 32768
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-size
name: CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-max-read-ahead-blocks.yml b/spec/acfg/if/bdbuf-max-read-ahead-blocks.yml
index 32db192e..15964b08 100644
--- a/spec/acfg/if/bdbuf-max-read-ahead-blocks.yml
+++ b/spec/acfg/if/bdbuf-max-read-ahead-blocks.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
notes: |
A value of 0 disables the read-ahead task (default). The read-ahead task
diff --git a/spec/acfg/if/bdbuf-max-write-blocks.yml b/spec/acfg/if/bdbuf-max-write-blocks.yml
index a85bcb1f..502280f7 100644
--- a/spec/acfg/if/bdbuf-max-write-blocks.yml
+++ b/spec/acfg/if/bdbuf-max-write-blocks.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 16
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-read-ahead-task-priority.yml b/spec/acfg/if/bdbuf-read-ahead-task-priority.yml
index 34ed8993..4f2cf752 100644
--- a/spec/acfg/if/bdbuf-read-ahead-task-priority.yml
+++ b/spec/acfg/if/bdbuf-read-ahead-task-priority.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 15
@@ -13,7 +12,7 @@ links:
- role: appl-config-group-member
uid: group-bdbuf
- role: constraint
- uid: constraint-prioclassic
+ uid: ../constraint/valid-task-priority
name: CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-swapout-block-hold.yml b/spec/acfg/if/bdbuf-swapout-block-hold.yml
index 5a2d5eb3..20c98ab6 100644
--- a/spec/acfg/if/bdbuf-swapout-block-hold.yml
+++ b/spec/acfg/if/bdbuf-swapout-block-hold.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 1000
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_SWAPOUT_BLOCK_HOLD
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-swapout-swap-period.yml b/spec/acfg/if/bdbuf-swapout-swap-period.yml
index 1d679570..af4ed205 100644
--- a/spec/acfg/if/bdbuf-swapout-swap-period.yml
+++ b/spec/acfg/if/bdbuf-swapout-swap-period.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 250
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_SWAPOUT_SWAP_PERIOD
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-swapout-task-priority.yml b/spec/acfg/if/bdbuf-swapout-task-priority.yml
index 82a5dd09..d4334b0b 100644
--- a/spec/acfg/if/bdbuf-swapout-task-priority.yml
+++ b/spec/acfg/if/bdbuf-swapout-task-priority.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 15
@@ -13,7 +12,7 @@ links:
- role: appl-config-group-member
uid: group-bdbuf
- role: constraint
- uid: constraint-prioclassic
+ uid: ../constraint/valid-task-priority
name: CONFIGURE_SWAPOUT_TASK_PRIORITY
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-swapout-worker-taskp-riority.yml b/spec/acfg/if/bdbuf-swapout-worker-taskp-riority.yml
index fa942af0..ac2d8b4f 100644
--- a/spec/acfg/if/bdbuf-swapout-worker-taskp-riority.yml
+++ b/spec/acfg/if/bdbuf-swapout-worker-taskp-riority.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 15
@@ -14,7 +13,7 @@ links:
- role: appl-config-group-member
uid: group-bdbuf
- role: constraint
- uid: constraint-prioclassic
+ uid: ../constraint/valid-task-priority
name: CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-swapout-worker-tasks.yml b/spec/acfg/if/bdbuf-swapout-worker-tasks.yml
index 5d1a0799..730b5941 100644
--- a/spec/acfg/if/bdbuf-swapout-worker-tasks.yml
+++ b/spec/acfg/if/bdbuf-swapout-worker-tasks.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -14,6 +11,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bdbuf
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_SWAPOUT_WORKER_TASKS
notes: null
text: ''
diff --git a/spec/acfg/if/bdbuf-task-stack-size.yml b/spec/acfg/if/bdbuf-task-stack-size.yml
index 7d9727f3..fa9d9197 100644
--- a/spec/acfg/if/bdbuf-task-stack-size.yml
+++ b/spec/acfg/if/bdbuf-task-stack-size.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: ${min-task-stack-size:/name}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: ${/rtems/task/if/minimum-stack-size:/name}
@@ -15,9 +13,11 @@ links:
- role: appl-config-group-member
uid: group-bdbuf
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/min-task-stack-size
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/stack-space
name: CONFIGURE_BDBUF_TASK_STACK_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/bsp-idle-task-body.yml b/spec/acfg/if/bsp-idle-task-body.yml
index ff8cd034..f346dc41 100644
--- a/spec/acfg/if/bsp-idle-task-body.yml
+++ b/spec/acfg/if/bsp-idle-task-body.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void *( *idle_body )( uintptr_t )``.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -24,6 +19,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bsp
+- role: constraint
+ uid: ../constraint/init-idle-task-body
name: BSP_IDLE_TASK_BODY
notes: |
As it has knowledge of the specific CPU model, system controller logic, and
diff --git a/spec/acfg/if/bsp-idle-task-stack-size.yml b/spec/acfg/if/bsp-idle-task-stack-size.yml
index 63e9111e..73f71f55 100644
--- a/spec/acfg/if/bsp-idle-task-stack-size.yml
+++ b/spec/acfg/if/bsp-idle-task-stack-size.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -21,9 +20,9 @@ links:
- role: appl-config-group-member
uid: group-bsp
- role: constraint
- uid: constraint-idlestackarea
+ uid: ../constraint/min-bsp-app
- role: constraint
- uid: constraint-bspappmin
+ uid: ../constraint/valid-idle-stack-area
name: BSP_IDLE_TASK_STACK_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/bsp-initial-extension.yml b/spec/acfg/if/bsp-initial-extension.yml
index 9fb2b3ab..7c82c913 100644
--- a/spec/acfg/if/bsp-initial-extension.yml
+++ b/spec/acfg/if/bsp-initial-extension.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a list of initializers for
- structures of type ${/rtems/userext/if/table:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -24,6 +19,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bsp
+- role: constraint
+ uid: ../constraint/init-userext-table
name: BSP_INITIAL_EXTENSION
notes: |
The value of this configuration option is placed after the entries of all
diff --git a/spec/acfg/if/bsp-interrupt-stack-size.yml b/spec/acfg/if/bsp-interrupt-stack-size.yml
index 82edfaa1..23296228 100644
--- a/spec/acfg/if/bsp-interrupt-stack-size.yml
+++ b/spec/acfg/if/bsp-interrupt-stack-size.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -21,11 +20,11 @@ links:
- role: appl-config-group-member
uid: group-bsp
- role: constraint
- uid: constraint-isrstackalign
+ uid: ../constraint/min-bsp-app
- role: constraint
- uid: constraint-isrstackarea
+ uid: ../constraint/valid-isr-stack-area
- role: constraint
- uid: constraint-bspappmin
+ uid: ../constraint/valid-isr-stack-alignment
name: BSP_INTERRUPT_STACK_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/bsp-prerequisite-drivers.yml b/spec/acfg/if/bsp-prerequisite-drivers.yml
index b9c5fb1f..93af0f0c 100644
--- a/spec/acfg/if/bsp-prerequisite-drivers.yml
+++ b/spec/acfg/if/bsp-prerequisite-drivers.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a list of initializers for
- structures of type ${/rtems/userext/if/table:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -24,6 +19,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-bsp
+- role: constraint
+ uid: ../constraint/init-userext-table
name: CONFIGURE_BSP_PREREQUISITE_DRIVERS
notes: |
The value of this configuration option is placed before the entries of all
diff --git a/spec/acfg/if/cbs-max-servers.yml b/spec/acfg/if/cbs-max-servers.yml
index 41eda107..b96646a0 100644
--- a/spec/acfg/if/cbs-max-servers.yml
+++ b/spec/acfg/if/cbs-max-servers.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/size_max:/name}
- min: 0
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: ${max-tasks:/name}
@@ -16,7 +13,11 @@ links:
- role: appl-config-group-member
uid: group-schedgeneral
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-size
+- role: constraint
+ uid: ../constraint/memory-size
name: CONFIGURE_CBS_MAXIMUM_SERVERS
notes: |
This configuration option is only evaluated if the configuration option
diff --git a/spec/acfg/if/constraint-isrstackarea.yml b/spec/acfg/if/constraint-isrstackarea.yml
deleted file mode 100644
index 12821341..00000000
--- a/spec/acfg/if/constraint-isrstackarea.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links: []
-rationale: null
-scope: user
-text: |
- The value of this configuration option shall be small enough so that the
- interrupt stack area calculation carried out by ``<rtems/confdefs.h>`` does
- not overflow an integer of type ${/c/if/size_t:/name}.
-type: constraint
diff --git a/spec/acfg/if/constraint-posix.yml b/spec/acfg/if/constraint-posix.yml
deleted file mode 100644
index fa76c0a3..00000000
--- a/spec/acfg/if/constraint-posix.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links: []
-rationale: null
-scope: user
-text: |
- The value of this configuration option shall be zero if the POSIX API is not
- enabled (e.g. RTEMS was built without the ``--enable-posix`` build
- configuration option). Otherwise a compile time error in the configuration
- file will occur.
-type: constraint
diff --git a/spec/acfg/if/constraint-stackspace.yml b/spec/acfg/if/constraint-stackspace.yml
deleted file mode 100644
index e1110ab4..00000000
--- a/spec/acfg/if/constraint-stackspace.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links: []
-rationale: null
-scope: user
-text: |
- The value of this configuration option shall be small enough so that the task
- stack space calculation carried out by ``<rtems/confdefs.h>`` does not
- overflow an integer of type ${/c/if/uintptr_t:/name}.
-type: constraint
diff --git a/spec/acfg/if/constraint-wkspace.yml b/spec/acfg/if/constraint-wkspace.yml
deleted file mode 100644
index 826721cc..00000000
--- a/spec/acfg/if/constraint-wkspace.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links: []
-rationale: null
-scope: user
-text: |
- The value of this configuration option shall be small enough so that the
- RTEMS Workspace size calculation carried out by ``<rtems/confdefs.h>`` does
- not overflow an integer of type ${/c/if/uintptr_t:/name}.
-type: constraint
diff --git a/spec/acfg/if/executive-ram-size.yml b/spec/acfg/if/executive-ram-size.yml
index 89f4f960..509c8393 100644
--- a/spec/acfg/if/executive-ram-size.yml
+++ b/spec/acfg/if/executive-ram-size.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uintptr_max:/name}
- min: 0
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: |
@@ -19,7 +16,11 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uintptr
+- role: constraint
+ uid: ../constraint/memory-size
name: CONFIGURE_EXECUTIVE_RAM_SIZE
notes: |
This is an advanced configuration option. Use it only if you know exactly
diff --git a/spec/acfg/if/extra-task-stacks.yml b/spec/acfg/if/extra-task-stacks.yml
index c9d16774..8cdf9095 100644
--- a/spec/acfg/if/extra-task-stacks.yml
+++ b/spec/acfg/if/extra-task-stacks.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -17,7 +15,9 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/stack-space
name: CONFIGURE_EXTRA_TASK_STACKS
notes: |
This parameter is very important. If the application creates tasks with
diff --git a/spec/acfg/if/idle-task-body.yml b/spec/acfg/if/idle-task-body.yml
index 82fc7a4f..5526e1f3 100644
--- a/spec/acfg/if/idle-task-body.yml
+++ b/spec/acfg/if/idle-task-body.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void *( *idle_body )( uintptr_t )``.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -18,6 +13,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-idle
+- role: constraint
+ uid: ../constraint/init-idle-task-body
name: CONFIGURE_IDLE_TASK_BODY
notes: |
IDLE threads shall not block. A blocking IDLE thread results in undefined
diff --git a/spec/acfg/if/idle-task-stack-size.yml b/spec/acfg/if/idle-task-stack-size.yml
index 9053a93b..0f52eb46 100644
--- a/spec/acfg/if/idle-task-stack-size.yml
+++ b/spec/acfg/if/idle-task-stack-size.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: ${min-task-stack-size:/name}
@@ -14,9 +13,9 @@ links:
- role: appl-config-group-member
uid: group-idle
- role: constraint
- uid: constraint-idlestackarea
+ uid: ../constraint/min-bsp-app
- role: constraint
- uid: constraint-bspappmin
+ uid: ../constraint/valid-idle-stack-area
name: CONFIGURE_IDLE_TASK_STACK_SIZE
notes: |
In SMP configurations, there is one IDLE task per configured processor, see
diff --git a/spec/acfg/if/imfs-memfile-bytes-per-block.yml b/spec/acfg/if/imfs-memfile-bytes-per-block.yml
index 7f7ed899..10e08523 100644
--- a/spec/acfg/if/imfs-memfile-bytes-per-block.yml
+++ b/spec/acfg/if/imfs-memfile-bytes-per-block.yml
@@ -1,13 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- set:
- - 16
- - 32
- - 64
- - 128
- - 256
- - 512
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 128
@@ -20,6 +12,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-filesystem
+- role: constraint
+ uid: ../constraint/imfs-memfile-bytes-per-block
name: CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
notes: |
The configured block size has two impacts. The first is the average amount of
diff --git a/spec/acfg/if/init-task-arguments.yml b/spec/acfg/if/init-task-arguments.yml
index 07fea7e9..f8060a8a 100644
--- a/spec/acfg/if/init-task-arguments.yml
+++ b/spec/acfg/if/init-task-arguments.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a valid integer of type
- ${/rtems/task/if/argument:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -17,6 +12,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classicinit
+- role: constraint
+ uid: ../constraint/type-task-argument
name: CONFIGURE_INIT_TASK_ARGUMENTS
notes: null
text: ''
diff --git a/spec/acfg/if/init-task-attributes.yml b/spec/acfg/if/init-task-attributes.yml
index 606c221b..40d9b31b 100644
--- a/spec/acfg/if/init-task-attributes.yml
+++ b/spec/acfg/if/init-task-attributes.yml
@@ -1,9 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a valid task attribute set.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: ${/rtems/attr/if/default:/name}
@@ -16,6 +12,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classicinit
+- role: constraint
+ uid: ../constraint/valid-task-attributes
name: CONFIGURE_INIT_TASK_ATTRIBUTES
notes: null
text: ''
diff --git a/spec/acfg/if/init-task-construct-storage-size.yml b/spec/acfg/if/init-task-construct-storage-size.yml
index d01a094b..c72bf944 100644
--- a/spec/acfg/if/init-task-construct-storage-size.yml
+++ b/spec/acfg/if/init-task-construct-storage-size.yml
@@ -1,11 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: ${min-task-stack-size:/name}
- texts:
- - |
- The value of this configuration option shall be defined using
- ${/rtems/task/if/storage-size:/name}.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: |
@@ -21,6 +15,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classicinit
+- role: constraint
+ uid: ../constraint/min-task-stack-size
+- role: constraint
+ uid: ../constraint/use-task-storage-size
name: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
notes: |
If this configuration option is specified, then
diff --git a/spec/acfg/if/init-task-entrypoint.yml b/spec/acfg/if/init-task-entrypoint.yml
index 2b5813dc..826daa70 100644
--- a/spec/acfg/if/init-task-entrypoint.yml
+++ b/spec/acfg/if/init-task-entrypoint.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void ( *entry_point )( rtems_task_argument )``.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -18,6 +13,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classicinit
+- role: constraint
+ uid: ../constraint/init-task-entry-point
name: CONFIGURE_INIT_TASK_ENTRY_POINT
notes: |
The application shall provide the function referenced by this configuration
diff --git a/spec/acfg/if/init-task-initial-modes.yml b/spec/acfg/if/init-task-initial-modes.yml
index 407a1810..c7a775d3 100644
--- a/spec/acfg/if/init-task-initial-modes.yml
+++ b/spec/acfg/if/init-task-initial-modes.yml
@@ -1,9 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a valid task mode set.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -18,6 +14,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classicinit
+- role: constraint
+ uid: ../constraint/valid-task-modes
name: CONFIGURE_INIT_TASK_INITIAL_MODES
notes: null
text: ''
diff --git a/spec/acfg/if/init-task-name.yml b/spec/acfg/if/init-task-name.yml
index 81056b0c..00a3a18a 100644
--- a/spec/acfg/if/init-task-name.yml
+++ b/spec/acfg/if/init-task-name.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a valid integer of type
- ${/rtems/type/if/name:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -18,6 +13,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classicinit
+- role: constraint
+ uid: ../constraint/type-rtems-name
name: CONFIGURE_INIT_TASK_NAME
notes: |
Use ${/rtems/object/if/build-name:/name} to define the task name.
diff --git a/spec/acfg/if/init-task-priority.yml b/spec/acfg/if/init-task-priority.yml
index f5da6b4f..861cc7fe 100644
--- a/spec/acfg/if/init-task-priority.yml
+++ b/spec/acfg/if/init-task-priority.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 1
@@ -14,7 +13,7 @@ links:
- role: appl-config-group-member
uid: group-classicinit
- role: constraint
- uid: constraint-prioclassic
+ uid: ../constraint/valid-task-priority
name: CONFIGURE_INIT_TASK_PRIORITY
notes: null
text: ''
diff --git a/spec/acfg/if/init-task-stack-size.yml b/spec/acfg/if/init-task-stack-size.yml
index ba0a8275..e75604c1 100644
--- a/spec/acfg/if/init-task-stack-size.yml
+++ b/spec/acfg/if/init-task-stack-size.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: ${min-task-stack-size:/name}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: ${min-task-stack-size:/name}
@@ -15,7 +13,9 @@ links:
- role: appl-config-group-member
uid: group-classicinit
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/min-task-stack-size
+- role: constraint
+ uid: ../constraint/stack-space
name: CONFIGURE_INIT_TASK_STACK_SIZE
notes: |
The
diff --git a/spec/acfg/if/initial-extensions.yml b/spec/acfg/if/initial-extensions.yml
index 76af433c..ca7860a9 100644
--- a/spec/acfg/if/initial-extensions.yml
+++ b/spec/acfg/if/initial-extensions.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a list of initializers for
- structures of type ${/rtems/userext/if/table:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -18,6 +13,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-general
+- role: constraint
+ uid: ../constraint/init-userext-table
name: CONFIGURE_INITIAL_EXTENSIONS
notes: |
The value of this configuration option is placed before the entries of
diff --git a/spec/acfg/if/interrupt-stack-size.yml b/spec/acfg/if/interrupt-stack-size.yml
index 75209b5c..556edd84 100644
--- a/spec/acfg/if/interrupt-stack-size.yml
+++ b/spec/acfg/if/interrupt-stack-size.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -17,11 +16,11 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-isrstackalign
+ uid: ../constraint/min-bsp-app
- role: constraint
- uid: constraint-isrstackarea
+ uid: ../constraint/valid-isr-stack-area
- role: constraint
- uid: constraint-bspappmin
+ uid: ../constraint/valid-isr-stack-alignment
name: CONFIGURE_INTERRUPT_STACK_SIZE
notes: |
There is one interrupt stack available for each configured processor
diff --git a/spec/acfg/if/max-barriers.yml b/spec/acfg/if/max-barriers.yml
index 129e552e..876a64d3 100644
--- a/spec/acfg/if/max-barriers.yml
+++ b/spec/acfg/if/max-barriers.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_BARRIERS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-drivers.yml b/spec/acfg/if/max-drivers.yml
index 244419c2..b4d55e98 100644
--- a/spec/acfg/if/max-drivers.yml
+++ b/spec/acfg/if/max-drivers.yml
@@ -1,11 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/size_max:/name}
- texts:
- - |
- It shall be greater than or equal than the number of statically configured
- device drivers.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -55,7 +49,11 @@ links:
- role: appl-config-group-member
uid: group-devdrv
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-size
+- role: constraint
+ uid: ../constraint/max-drivers
+- role: constraint
+ uid: ../constraint/memory-size
name: CONFIGURE_MAXIMUM_DRIVERS
notes: |
If the application will dynamically install device drivers, then the
diff --git a/spec/acfg/if/max-file-descriptors.yml b/spec/acfg/if/max-file-descriptors.yml
index ceb6260a..496000a8 100644
--- a/spec/acfg/if/max-file-descriptors.yml
+++ b/spec/acfg/if/max-file-descriptors.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/size_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 3
@@ -17,7 +14,11 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-size
+- role: constraint
+ uid: ../constraint/memory-size
name: CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
notes: |
The default value of three file descriptors allows RTEMS to support standard
diff --git a/spec/acfg/if/max-message-queues.yml b/spec/acfg/if/max-message-queues.yml
index ad471a5c..c06b0d20 100644
--- a/spec/acfg/if/max-message-queues.yml
+++ b/spec/acfg/if/max-message-queues.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-partitions.yml b/spec/acfg/if/max-partitions.yml
index ef151f1c..b1db17fc 100644
--- a/spec/acfg/if/max-partitions.yml
+++ b/spec/acfg/if/max-partitions.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_PARTITIONS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-periods.yml b/spec/acfg/if/max-periods.yml
index 008236dc..5b2fede5 100644
--- a/spec/acfg/if/max-periods.yml
+++ b/spec/acfg/if/max-periods.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_PERIODS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-ports.yml b/spec/acfg/if/max-ports.yml
index a9617ed8..60ea76e9 100644
--- a/spec/acfg/if/max-ports.yml
+++ b/spec/acfg/if/max-ports.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_PORTS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-posix-key-value-pairs.yml b/spec/acfg/if/max-posix-key-value-pairs.yml
index 73d967c5..55ca4984 100644
--- a/spec/acfg/if/max-posix-key-value-pairs.yml
+++ b/spec/acfg/if/max-posix-key-value-pairs.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -20,9 +17,13 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-posix-keys.yml b/spec/acfg/if/max-posix-keys.yml
index 82308c31..b867f8ee 100644
--- a/spec/acfg/if/max-posix-keys.yml
+++ b/spec/acfg/if/max-posix-keys.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_POSIX_KEYS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-posix-message-queues.yml b/spec/acfg/if/max-posix-message-queues.yml
index 1028f6c8..5c37d937 100644
--- a/spec/acfg/if/max-posix-message-queues.yml
+++ b/spec/acfg/if/max-posix-message-queues.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,11 +13,15 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-wkspace
+ uid: ../constraint/max-obj
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/wkspace
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-posix-queued-signals.yml b/spec/acfg/if/max-posix-queued-signals.yml
index 541c8ffd..9915ea05 100644
--- a/spec/acfg/if/max-posix-queued-signals.yml
+++ b/spec/acfg/if/max-posix-queued-signals.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -15,11 +13,13 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-posix
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-wkspace
+ uid: ../constraint/memory-size
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/wkspace
+- role: constraint
+ uid: ../constraint/posix-api
name: CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
notes: |
Unlimited objects are not available for queued signals.
diff --git a/spec/acfg/if/max-posix-semaphores.yml b/spec/acfg/if/max-posix-semaphores.yml
index af37f8f6..6fc99016 100644
--- a/spec/acfg/if/max-posix-semaphores.yml
+++ b/spec/acfg/if/max-posix-semaphores.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,11 +13,15 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-wkspace
+ uid: ../constraint/max-obj
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/wkspace
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-posix-shms.yml b/spec/acfg/if/max-posix-shms.yml
index f3087fe4..439b1d76 100644
--- a/spec/acfg/if/max-posix-shms.yml
+++ b/spec/acfg/if/max-posix-shms.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 0
@@ -16,11 +13,15 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-wkspace
+ uid: ../constraint/max-obj
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/wkspace
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_POSIX_SHMS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-posix-threads.yml b/spec/acfg/if/max-posix-threads.yml
index aba1ba9b..1deb802f 100644
--- a/spec/acfg/if/max-posix-threads.yml
+++ b/spec/acfg/if/max-posix-threads.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/stack-space
name: CONFIGURE_MAXIMUM_POSIX_THREADS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-posix-timers.yml b/spec/acfg/if/max-posix-timers.yml
index 4830bdb7..b1e501fb 100644
--- a/spec/acfg/if/max-posix-timers.yml
+++ b/spec/acfg/if/max-posix-timers.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,11 +13,15 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-posix
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/max-obj
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
+- role: constraint
+ uid: ../constraint/posix-api
name: CONFIGURE_MAXIMUM_POSIX_TIMERS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-priority.yml b/spec/acfg/if/max-priority.yml
index 8f561f30..320303d9 100644
--- a/spec/acfg/if/max-priority.yml
+++ b/spec/acfg/if/max-priority.yml
@@ -1,13 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- set:
- - 3
- - 7
- - 31
- - 63
- - 127
- - 255
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 255
@@ -36,6 +28,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-schedgeneral
+- role: constraint
+ uid: ../constraint/max-priority
name: CONFIGURE_MAXIMUM_PRIORITY
notes: |
The numerically greatest priority is the logically lowest priority in the
diff --git a/spec/acfg/if/max-processors.yml b/spec/acfg/if/max-processors.yml
index ff4d5d41..05c095bb 100644
--- a/spec/acfg/if/max-processors.yml
+++ b/spec/acfg/if/max-processors.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/score/cpu/if/maximum-processors:/name}
- min: 1
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 1
@@ -18,6 +15,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-general
+- role: constraint
+ uid: ../constraint/min-one
+- role: constraint
+ uid: ../constraint/max-processors
name: CONFIGURE_MAXIMUM_PROCESSORS
notes: |
If there are more processors available than configured, the rest will be
diff --git a/spec/acfg/if/max-regions.yml b/spec/acfg/if/max-regions.yml
index 38b63072..90d49e93 100644
--- a/spec/acfg/if/max-regions.yml
+++ b/spec/acfg/if/max-regions.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_REGIONS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-semaphores.yml b/spec/acfg/if/max-semaphores.yml
index 4bb560c8..abaa2367 100644
--- a/spec/acfg/if/max-semaphores.yml
+++ b/spec/acfg/if/max-semaphores.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_SEMAPHORES
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-tasks.yml b/spec/acfg/if/max-tasks.yml
index 86f97695..85ad7d3e 100644
--- a/spec/acfg/if/max-tasks.yml
+++ b/spec/acfg/if/max-tasks.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,11 +13,15 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/max-obj
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/stack-space
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_TASKS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-thread-local-storage-size.yml b/spec/acfg/if/max-thread-local-storage-size.yml
index 02892926..ce996f8b 100644
--- a/spec/acfg/if/max-thread-local-storage-size.yml
+++ b/spec/acfg/if/max-thread-local-storage-size.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/size_max:/name}
- min: 0
- texts:
- - It shall be an integral multiple of ${/rtems/task/if/storage-alignment:/name}.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 0
@@ -19,6 +14,12 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classic
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-size
+- role: constraint
+ uid: ../constraint/multiple-of-task-storage-alignment
name: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
notes: |
This configuration option can be used to reserve space for the dynamic linking
diff --git a/spec/acfg/if/max-thread-name-size.yml b/spec/acfg/if/max-thread-name-size.yml
index 6ce4ac2a..dc1f02c2 100644
--- a/spec/acfg/if/max-thread-name-size.yml
+++ b/spec/acfg/if/max-thread-name-size.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/size_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 16
@@ -17,7 +14,11 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-size
+- role: constraint
+ uid: ../constraint/memory-size
name: CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
notes: |
The default value was chosen for Linux compatibility, see
diff --git a/spec/acfg/if/max-timers.yml b/spec/acfg/if/max-timers.yml
index 5cc6783c..aa94a846 100644
--- a/spec/acfg/if/max-timers.yml
+++ b/spec/acfg/if/max-timers.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +13,13 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-unlimited
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/unlimited
name: CONFIGURE_MAXIMUM_TIMERS
notes: |
This object class can be configured in unlimited allocation mode, see
diff --git a/spec/acfg/if/max-user-extensions.yml b/spec/acfg/if/max-user-extensions.yml
index c3b46807..d2f4db6a 100644
--- a/spec/acfg/if/max-user-extensions.yml
+++ b/spec/acfg/if/max-user-extensions.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: 65535
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,7 +13,11 @@ links:
- role: appl-config-group-member
uid: group-classic
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-obj
+- role: constraint
+ uid: ../constraint/memory-size
name: CONFIGURE_MAXIMUM_USER_EXTENSIONS
notes: |
This object class cannot be configured in unlimited allocation mode.
diff --git a/spec/acfg/if/memory-overhead.yml b/spec/acfg/if/memory-overhead.yml
index 39061e26..f189adea 100644
--- a/spec/acfg/if/memory-overhead.yml
+++ b/spec/acfg/if/memory-overhead.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -16,9 +14,11 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-wkspace
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/wkspace
name: CONFIGURE_MEMORY_OVERHEAD
notes: |
This configuration option should only be used when it is suspected that a bug
diff --git a/spec/acfg/if/message-buffer-memory.yml b/spec/acfg/if/message-buffer-memory.yml
index fcdd762d..16e248bc 100644
--- a/spec/acfg/if/message-buffer-memory.yml
+++ b/spec/acfg/if/message-buffer-memory.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 0
@@ -18,9 +16,11 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-wkspace
+ uid: ../constraint/min-zero
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/memory-size
+- role: constraint
+ uid: ../constraint/wkspace
name: CONFIGURE_MESSAGE_BUFFER_MEMORY
notes: |
The configuration options ${max-message-queues:/name} and
diff --git a/spec/acfg/if/microseconds-per-tick.yml b/spec/acfg/if/microseconds-per-tick.yml
index 07060869..eddc4507 100644
--- a/spec/acfg/if/microseconds-per-tick.yml
+++ b/spec/acfg/if/microseconds-per-tick.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - It shall be greater than or equal to a Clock Driver specific value.
- - It shall be less than or equal to a Clock Driver specific value.
- - The resulting clock ticks per second should be an integer.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 10000
@@ -34,6 +29,12 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-general
+- role: constraint
+ uid: ../constraint/min-clock-ticks
+- role: constraint
+ uid: ../constraint/max-clock-ticks
+- role: constraint
+ uid: ../constraint/clock-ticks-per-second
name: CONFIGURE_MICROSECONDS_PER_TICK
notes: |
This configuration option has no impact if the Clock Driver is not
diff --git a/spec/acfg/if/min-posix-thread-stack-size.yml b/spec/acfg/if/min-posix-thread-stack-size.yml
index 8b3d364f..52cdd6df 100644
--- a/spec/acfg/if/min-posix-thread-stack-size.yml
+++ b/spec/acfg/if/min-posix-thread-stack-size.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -17,9 +16,9 @@ links:
- role: appl-config-group-member
uid: group-posix
- role: constraint
- uid: constraint-bspappmin
+ uid: ../constraint/stack-space
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/min-bsp-app
name: CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/min-task-stack-size.yml b/spec/acfg/if/min-task-stack-size.yml
index 2bce8e46..aa603d30 100644
--- a/spec/acfg/if/min-task-stack-size.yml
+++ b/spec/acfg/if/min-task-stack-size.yml
@@ -1,6 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints: {}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: ${/score/cpu/if/stack-minimum-size:/name}
@@ -15,9 +14,9 @@ links:
- role: appl-config-group-member
uid: group-general
- role: constraint
- uid: constraint-bspappmin
+ uid: ../constraint/stack-space
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/min-bsp-app
name: CONFIGURE_MINIMUM_TASK_STACK_SIZE
notes: |
Adjusting this parameter should be done with caution. Examining the actual
diff --git a/spec/acfg/if/min-tasks-with-user-provided-storage.yml b/spec/acfg/if/min-tasks-with-user-provided-storage.yml
index 84d39f17..981f7ddb 100644
--- a/spec/acfg/if/min-tasks-with-user-provided-storage.yml
+++ b/spec/acfg/if/min-tasks-with-user-provided-storage.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${max-tasks:/name}
- min: 0
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 0
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classic
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-tasks
name: CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE
notes: |
By default, the calculation for the required memory in the RTEMS Workspace
diff --git a/spec/acfg/if/mp-extra-server-stack.yml b/spec/acfg/if/mp-extra-server-stack.yml
index 6f515fbd..c46552df 100644
--- a/spec/acfg/if/mp-extra-server-stack.yml
+++ b/spec/acfg/if/mp-extra-server-stack.yml
@@ -1,14 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
- texts:
- - |
- The value of this configuration option shall be small enough so that the
- MPCI receive server stack area calculation carried out by
- ``<rtems/confdefs.h>`` does not overflow an integer of type
- ${/c/if/size_t:/name}.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 0
@@ -22,6 +13,12 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-mpci
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
+- role: constraint
+ uid: ../constraint/mpci-receive-server-stack
name: CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK
notes: |
This configuration option is only evaluated if
diff --git a/spec/acfg/if/mp-max-global-objects.yml b/spec/acfg/if/mp-max-global-objects.yml
index faa1badb..3ba9c752 100644
--- a/spec/acfg/if/mp-max-global-objects.yml
+++ b/spec/acfg/if/mp-max-global-objects.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 32
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-mpci
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS
notes: |
This value corresponds to the total number of objects which can be created
diff --git a/spec/acfg/if/mp-max-nodes.yml b/spec/acfg/if/mp-max-nodes.yml
index 077c5b1e..f7c0ba82 100644
--- a/spec/acfg/if/mp-max-nodes.yml
+++ b/spec/acfg/if/mp-max-nodes.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 2
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-mpci
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_MP_MAXIMUM_NODES
notes: |
This configuration option is only evaluated if
diff --git a/spec/acfg/if/mp-max-proxies.yml b/spec/acfg/if/mp-max-proxies.yml
index 71f63ba9..32c801a3 100644
--- a/spec/acfg/if/mp-max-proxies.yml
+++ b/spec/acfg/if/mp-max-proxies.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 32
@@ -16,6 +13,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-mpci
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_MP_MAXIMUM_PROXIES
notes: |
Since a proxy is used to represent a remote task/thread which is blocking
diff --git a/spec/acfg/if/mp-mpci-table-pointer.yml b/spec/acfg/if/mp-mpci-table-pointer.yml
index 2cbfafd2..fec233e2 100644
--- a/spec/acfg/if/mp-mpci-table-pointer.yml
+++ b/spec/acfg/if/mp-mpci-table-pointer.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a pointer to
- ${/rtems/type/if/mpci-table:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: '``&MPCI_table``'
@@ -17,6 +12,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-mpci
+- role: constraint
+ uid: ../constraint/init-mpci-table
name: CONFIGURE_MP_MPCI_TABLE_POINTER
notes: |
RTEMS provides a Shared Memory MPCI Device Driver which can be used on any
diff --git a/spec/acfg/if/mp-node-number.yml b/spec/acfg/if/mp-node-number.yml
index fd68310d..0eef8bd5 100644
--- a/spec/acfg/if/mp-node-number.yml
+++ b/spec/acfg/if/mp-node-number.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: '``NODE_NUMBER``'
@@ -15,6 +12,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-mpci
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_MP_NODE_NUMBER
notes: |
In the RTEMS Multiprocessing Test Suite, the node number is derived from
diff --git a/spec/acfg/if/posix-init-thread-entry-point.yml b/spec/acfg/if/posix-init-thread-entry-point.yml
index fca4e899..4f1b0a83 100644
--- a/spec/acfg/if/posix-init-thread-entry-point.yml
+++ b/spec/acfg/if/posix-init-thread-entry-point.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void *( *entry_point )( void * )``.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: '``POSIX_Init``'
@@ -17,6 +12,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-posixinit
+- role: constraint
+ uid: ../constraint/init-posix-thread-entry-point
name: CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
notes: |
The application shall provide the function referenced by this configuration
diff --git a/spec/acfg/if/posix-init-thread-stack-size.yml b/spec/acfg/if/posix-init-thread-stack-size.yml
index b3be22e1..64962e4e 100644
--- a/spec/acfg/if/posix-init-thread-stack-size.yml
+++ b/spec/acfg/if/posix-init-thread-stack-size.yml
@@ -1,7 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- min: ${min-task-stack-size:/name}
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: ${min-posix-thread-stack-size:/name}
@@ -15,7 +13,9 @@ links:
- role: appl-config-group-member
uid: group-posixinit
- role: constraint
- uid: constraint-stackspace
+ uid: ../constraint/min-task-stack-size
+- role: constraint
+ uid: ../constraint/stack-space
name: CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
notes: null
text: ''
diff --git a/spec/acfg/if/record-per-processor-items.yml b/spec/acfg/if/record-per-processor-items.yml
index 4f655e7e..cc98a3a3 100644
--- a/spec/acfg/if/record-per-processor-items.yml
+++ b/spec/acfg/if/record-per-processor-items.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/size_max:/name}
- min: 16
- texts:
- - It shall be a power of two.
copyrights:
- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 0
@@ -18,7 +13,13 @@ links:
- role: appl-config-group-member
uid: group-eventrecord
- role: constraint
- uid: constraint-memsz
+ uid: ../constraint/min-16
+- role: constraint
+ uid: ../constraint/max-size
+- role: constraint
+ uid: ../constraint/power-of-two
+- role: constraint
+ uid: ../constraint/memory-size
name: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
notes: |
The event record buffers are statically allocated for each configured
diff --git a/spec/acfg/if/scheduler-assignments.yml b/spec/acfg/if/scheduler-assignments.yml
index 51ca9a4b..3419c026 100644
--- a/spec/acfg/if/scheduler-assignments.yml
+++ b/spec/acfg/if/scheduler-assignments.yml
@@ -1,17 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a list of the following
- macros:
-
- * ``RTEMS_SCHEDULER_ASSIGN( processor_index, attributes )``
-
- * ``RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER``
- - |
- The value of this configuration option shall be a list of exactly
- ${max-processors:/name} elements.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: |
@@ -26,6 +14,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-schedgeneral
+- role: constraint
+ uid: ../constraint/scheduler-assignments-macros
+- role: constraint
+ uid: ../constraint/scheduler-assignments-count
name: CONFIGURE_SCHEDULER_ASSIGNMENTS
notes: |
This configuration option is only evaluated in SMP configurations.
diff --git a/spec/acfg/if/scheduler-name.yml b/spec/acfg/if/scheduler-name.yml
index 22493868..d5cbe687 100644
--- a/spec/acfg/if/scheduler-name.yml
+++ b/spec/acfg/if/scheduler-name.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - |
- The value of this configuration option shall be a valid integer of type
- ${/rtems/type/if/name:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -34,6 +29,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-schedgeneral
+- role: constraint
+ uid: ../constraint/type-rtems-name
name: CONFIGURE_SCHEDULER_NAME
notes: |
This scheduler configuration option is an advanced configuration option.
diff --git a/spec/acfg/if/task-stack-allocator-init.yml b/spec/acfg/if/task-stack-allocator-init.yml
index 27d86c09..045a7585 100644
--- a/spec/acfg/if/task-stack-allocator-init.yml
+++ b/spec/acfg/if/task-stack-allocator-init.yml
@@ -1,11 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void ( *initialize )( size_t )`` or to
- ${/c/if/null:/name}.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: ${/c/if/null:/name}
@@ -18,6 +12,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-stackalloc
+- role: constraint
+ uid: ../constraint/init-task-stack-allocator-init
name: CONFIGURE_TASK_STACK_ALLOCATOR_INIT
notes: |
A correctly configured system shall configure the following to be consistent:
diff --git a/spec/acfg/if/task-stack-allocator.yml b/spec/acfg/if/task-stack-allocator.yml
index fe877091..75c17c2d 100644
--- a/spec/acfg/if/task-stack-allocator.yml
+++ b/spec/acfg/if/task-stack-allocator.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void *( *allocate )( size_t )``.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -20,6 +15,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-stackalloc
+- role: constraint
+ uid: ../constraint/init-task-stack-allocator
name: CONFIGURE_TASK_STACK_ALLOCATOR
notes: |
A correctly configured system shall configure the following to be consistent:
diff --git a/spec/acfg/if/task-stack-deallocator.yml b/spec/acfg/if/task-stack-deallocator.yml
index d18d158f..d80fe7b8 100644
--- a/spec/acfg/if/task-stack-deallocator.yml
+++ b/spec/acfg/if/task-stack-deallocator.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a valid function
- pointer of the type ``void ( *deallocate )( void * )``.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
@@ -20,6 +15,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-stackalloc
+- role: constraint
+ uid: ../constraint/init-task-stack-deallocator
name: CONFIGURE_TASK_STACK_DEALLOCATOR
notes: |
A correctly configured system shall configure the following to be consistent:
diff --git a/spec/acfg/if/task-stack-from-alloc.yml b/spec/acfg/if/task-stack-from-alloc.yml
index 7b3e6c31..e962af9b 100644
--- a/spec/acfg/if/task-stack-from-alloc.yml
+++ b/spec/acfg/if/task-stack-from-alloc.yml
@@ -1,13 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
-constraints:
- texts:
- - |
- The value of this configuration option shall be defined to a macro which
- accepts exactly one parameter and returns an unsigned integer. The
- parameter will be an allocation size and the macro shall return this size
- plus the overhead of the allocator to manage an allocation request for this
- size.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: |
@@ -22,6 +14,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-stackalloc
+- role: constraint
+ uid: ../constraint/task-stack-from-alloc
name: CONFIGURE_TASK_STACK_FROM_ALLOCATOR
notes: |
This configuration option may be used if a custom task stack allocator is
diff --git a/spec/acfg/if/ticks-per-time-slice.yml b/spec/acfg/if/ticks-per-time-slice.yml
index 81f6483e..4972e6df 100644
--- a/spec/acfg/if/ticks-per-time-slice.yml
+++ b/spec/acfg/if/ticks-per-time-slice.yml
@@ -1,8 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- max: ${/c/if/uint32_max:/name}
- min: 0
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 50
@@ -16,6 +13,10 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-general
+- role: constraint
+ uid: ../constraint/min-zero
+- role: constraint
+ uid: ../constraint/max-uint32
name: CONFIGURE_TICKS_PER_TIMESLICE
notes: |
This configuration option has no impact if the Clock Driver is not
diff --git a/spec/acfg/if/unlimited-allocation-size.yml b/spec/acfg/if/unlimited-allocation-size.yml
index f206c5b9..4f44b875 100644
--- a/spec/acfg/if/unlimited-allocation-size.yml
+++ b/spec/acfg/if/unlimited-allocation-size.yml
@@ -1,10 +1,5 @@
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
-constraints:
- texts:
- - |
- The value of this configuration option shall meet the constraints of all
- object classes to which it is applied.
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: 8
@@ -19,6 +14,8 @@ interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-general
+- role: constraint
+ uid: ../constraint/unlimited-allocation-size
name: CONFIGURE_UNLIMITED_ALLOCATION_SIZE
notes: |
By allowing users to declare all resources as being unlimited the user can
diff --git a/spec/spec/appl-config-option-constraints.yml b/spec/spec/appl-config-option-constraints.yml
deleted file mode 100644
index 0fde7a94..00000000
--- a/spec/spec/appl-config-option-constraints.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links:
-- role: spec-member
- uid: root
-spec-description: null
-spec-example: null
-spec-info:
- dict:
- attributes:
- max:
- description: |
- It shall be the maximum value of the application configuration
- option.
- spec-type: int-or-str
- min:
- description: |
- It shall be the minimum value of the application configuration
- option.
- spec-type: int-or-str
- set:
- description: |
- It shall be the set of valid values for the application configuration
- option.
- spec-type: list-int-or-str
- texts:
- description: |
- It shall be a list of constraints specific to this application
- configuration option. For general constraints, use a link with the
- ${constraint-role:/spec-name} to a constraint item.
- spec-type: requirement-text-list
- description: |
- This set of attributes defines application configuration option
- constraints. Additional constraints can be added through the links of
- the item using the ${constraint-role:/spec-name}.
- mandatory-attributes: none
-spec-name: Application Configuration Option Constraint Set
-spec-type: appl-config-option-constraints
-type: spec
diff --git a/spec/spec/appl-config-option-value.yml b/spec/spec/appl-config-option-value.yml
index e7503187..c7b6eef1 100644
--- a/spec/spec/appl-config-option-value.yml
+++ b/spec/spec/appl-config-option-value.yml
@@ -18,9 +18,6 @@ spec-example: null
spec-info:
dict:
attributes:
- constraints:
- description: null
- spec-type: appl-config-option-constraints
default-value:
description: |
It shall describe the default value of the application configuration
diff --git a/spec/spec/appl-config-option.yml b/spec/spec/appl-config-option.yml
index e7fe7602..b0a4592a 100644
--- a/spec/spec/appl-config-option.yml
+++ b/spec/spec/appl-config-option.yml
@@ -19,9 +19,7 @@ spec-info:
It shall be the application configuration option type.
spec-type: name
description:
- description: |
- The ${appl-config-option-value:/spec-name} items have an
- attribute for constraints.
+ description: null
spec-type: interface-description
name:
description: null