diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-04-28 08:16:25 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-04-29 16:45:46 +0200 |
commit | b1f05da86f5fe5bbb923d1d61e6ddfa1604add63 (patch) | |
tree | f768370a80193e1331b7ae4f2c70dc5fc44cf050 | |
parent | content: Apply initial indent only to first block (diff) | |
download | rtems-central-b1f05da86f5fe5bbb923d1d61e6ddfa1604add63.tar.bz2 |
spec: Use explicit constraints for acfg
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 |