diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-25 13:54:17 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-03-02 15:21:13 +0100 |
commit | c0ac12a4b8c572caaa5034c3926ed0549fb6fbee (patch) | |
tree | bad000b1835723fda40a5f7c3d8c87e1df044408 | |
download | rtems-central-c0ac12a4b8c572caaa5034c3926ed0549fb6fbee.tar.bz2 |
Initial import
239 files changed, 5260 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..b4bd5187 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.coverage +env +.mypy_cache +__pycache__ +spec.pickle diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..a340c3de --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "external/rtems"] + path = external/rtems + url = git://git.rtems.org/rtems.git +[submodule "external/rtems-docs"] + path = external/rtems-docs + url = git://git.rtems.org/rtems-docs.git diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..4c8f15a6 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +all: *.py rtemsqual/*.py | check-env + coverage run -m pytest tests + yapf -i $^ tests/*.py + flake8 $^ + mypy $^ + pylint $^ + +check-env: + test -n "$$VIRTUAL_ENV" + +coverage-report: + coverage report -m --omit 'env/*' + +.PONY: env + +env: + python3 -m venv env + . env/bin/activate + pip install --upgrade pip + pip install -r requirements.txt diff --git a/README.md b/README.md new file mode 100644 index 00000000..5a8329aa --- /dev/null +++ b/README.md @@ -0,0 +1,156 @@ +# RTEMS Specification Items and Qualification Tools + +This repository contains a prototype of the RTEMS specification and tools to +generate content from the specification. It demonstrates the use of Python +development tools such as yapf, flake8, mypy, pylint, pytest, and coverage. + +## Repository Overview + +* env - contains the Python environment (created by `make env`) + +* spec - contains the specification items + +* rtemsqual - contains the `rtemsqual` Python package + +* tests - contains Python unit tests + +* external - contains Git submodules + + * rtems - contains the RTEMS sources as a Git submodule + + * rtems-docs - contains the RTEMS documentation sources as a Git submodule + +* `rtems_spec_to_x.py` - a command line tool to generate content from the + specification + +## Getting Started + +Run +``` +git submodule init +git submodule update +``` +to initialize the Git submodules. Run +``` +make env +``` +to set up the Python environment. Activate the Python environment afterwards +with +``` +. env/bin/activate +``` + +## Specification Items + +The +[specification items](https://docs.rtems.org/branches/master/eng/req-eng.html#specification-items) +are located in the `spec` directory. You can use doorstop to work with them, +e.g. +``` +$ doorstop +building tree... +loading documents... +validating items... + +RTEMS +│ +└── RTEMS-GLOS + │ + └── RTEMS-GLOS-TERM +``` + +## Specification-To-X Tool + +The command line tool `rtems_spec_to_x.py` generates content from the +specification. The tool is configured by the `config.ini` configuration file. +This is a prototype implementation. It demonstrates the generation of a +project-wide glossary (`external/rtems-docs/c-user/glossary.rst`) and +document-specific glossaries (`external/rtems-docs/eng/glossary.rst`) from +glossary specification items (glossary groups and terms in `spec/glos`). + +Example: +``` +$ ./rtems_spec_to_x.py +$ git status +On branch master +Your branch is up to date with 'origin/master'. + +nothing to commit, working tree clean +$ sed -i 's/Binary/Boom/' spec/glos/term/RTEMS-GLOS-TERM-ABI.yml +$ ./rtems_spec_to_x.py +$ git status +On branch master +Your branch is up to date with 'origin/master'. + +Changes not staged for commit: + (use "git add <file>..." to update what will be committed) + (use "git checkout -- <file>..." to discard changes in working directory) + (commit or discard the untracked or modified content in submodules) + + modified: external/rtems-docs (modified content) + modified: spec/glos/term/RTEMS-GLOS-TERM-ABI.yml + +no changes added to commit (use "git add" and/or "git commit -a") +$ cd external/rtems-docs +$ git diff +diff --git a/c-user/glossary.rst b/c-user/glossary.rst +index d0996e8..dfac60c 100644 +--- a/c-user/glossary.rst ++++ b/c-user/glossary.rst +@@ -10,7 +10,7 @@ Glossary + :sorted: + + ABI +- An acronym for Application Binary Interface. ++ An acronym for Application Boom Interface. + + active + A term used to describe an object which has been created by an +diff --git a/eng/glossary.rst b/eng/glossary.rst +index c58e67f..ac2c8f8 100644 +--- a/eng/glossary.rst ++++ b/eng/glossary.rst +@@ -9,7 +9,7 @@ Glossary + :sorted: + + ABI +- An acronym for Application Binary Interface. ++ An acronym for Application Boom Interface. + + API + An acronym for Application Programming Interface. +``` + +## Unit Tests and Static Analysers + +Run the unit tests and static analysers with: +``` +make +``` +You can get a coverage report with: +``` +$ make coverage-report +coverage report -m --omit 'env/*' +Name Stmts Miss Cover Missing +------------------------------------------------------ +rtemsqual/__init__.py 5 0 100% +rtemsqual/content.py 120 0 100% +rtemsqual/glossary.py 73 0 100% +rtemsqual/items.py 93 0 100% +tests/test_content.py 114 0 100% +tests/test_glossary.py 33 0 100% +tests/test_items.py 47 0 100% +------------------------------------------------------ +TOTAL 485 0 100% +``` + +## Contributing + +Please read +[Support and Contributing](https://docs.rtems.org/branches/master/user/support/index.html). + +## License + +This project is licensed under the +[BSD-2-Clause](https://spdx.org/licenses/BSD-2-Clause.html) or +[CC-BY-SA-4.0](https://spdx.org/licenses/CC-BY-SA-4.0.html). diff --git a/config.ini b/config.ini new file mode 100644 index 00000000..adad3585 --- /dev/null +++ b/config.ini @@ -0,0 +1,12 @@ +spec: + cache-file: spec.pickle + paths: + - spec +glossary: + project-groups: + - RTEMS-GLOS-GENERAL + project-target: external/rtems-docs/c-user/glossary.rst + documents: + - rest-source-paths: + - external/rtems-docs/eng + target: external/rtems-docs/eng/glossary.rst diff --git a/external/rtems b/external/rtems new file mode 160000 +Subproject fd8c87a8cf0a309a58dd89221607db028f14739 diff --git a/external/rtems-docs b/external/rtems-docs new file mode 160000 +Subproject 7d05a3d801e0d44de250abc174e35daae3d4e47 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..da07e2f6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,28 @@ +astroid==2.3.3 +attrs==19.3.0 +coverage==5.0.3 +entrypoints==0.3 +flake8==3.7.9 +importlib-metadata==1.5.0 +isort==4.3.21 +lazy-object-proxy==1.4.3 +mccabe==0.6.1 +more-itertools==8.2.0 +mypy==0.761 +mypy-extensions==0.4.3 +packaging==20.1 +pluggy==0.13.1 +py==1.8.1 +pycodestyle==2.5.0 +pyflakes==2.1.1 +pylint==2.4.4 +pyparsing==2.4.6 +pytest==5.3.5 +PyYAML==5.3 +six==1.14.0 +typed-ast==1.4.1 +typing-extensions==3.7.4.1 +wcwidth==0.1.8 +wrapt==1.11.2 +yapf==0.29.0 +zipp==3.0.0 diff --git a/rtems_spec_to_x.py b/rtems_spec_to_x.py new file mode 100755 index 00000000..9b793916 --- /dev/null +++ b/rtems_spec_to_x.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: BSD-2-Clause +""" This script generates glossaries of terms from the specification. """ + +# Copyright (C) 2019, 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import yaml + +import rtemsqual.items +import rtemsqual.glossary + + +def main(): + """ Generates glossaries of terms according to the configuration. """ + with open("config.ini", "r") as out: + config = yaml.safe_load(out.read()) + item_cache = rtemsqual.items.ItemCache(config["spec"]) + rtemsqual.glossary.generate(config["glossary"], item_cache) + + +if __name__ == "__main__": + main() diff --git a/rtemsqual/__init__.py b/rtemsqual/__init__.py new file mode 100644 index 00000000..9070bfe5 --- /dev/null +++ b/rtemsqual/__init__.py @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" The RTEMS pre-qualification package. """ + +# Copyright (C) 2019, 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +__all__ = ["content", "glossary", "items"] + +import rtemsqual.content +import rtemsqual.glossary +import rtemsqual.items # noqa: F401 diff --git a/rtemsqual/applconfig.py b/rtemsqual/applconfig.py new file mode 100644 index 00000000..39525b1c --- /dev/null +++ b/rtemsqual/applconfig.py @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" Functions for application configuration documentation generation. """ + +# Copyright (C) 2019, 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import rtemsqual.content + + +def _application_configuration_option_content(item, content): + content.add_index_entries(item["index"]) + content.add_blank_line() + header = item["header"] + content.add_label(header) + content.add_blank_line() + content.add_header(header) + content.add_definition_item("DESCRIPTION:", + item["description"].split("\n")) + content.add_definition_item("NOTES:", item["notes"].split("\n")) + + +def _application_configuration_group_content(item, document): + content = rtemsqual.content.SphinxContent() + for child in item.children: + if (child["type"] == "interface" and + child["interface-type"] == "application-configuration-option"): + _application_configuration_option_content(child, content) + else: + raise Exception("unexpected item type") + + +def classic_api_guide_content(item, document): + """ This is work in progress. """ + for child in item.children: + if (child["type"] == "interface" and + child["interface-type"] == "application-configuration-group"): + _application_configuration_group_content(child, document) + else: + classic_api_guide_content(child, document) diff --git a/rtemsqual/content.py b/rtemsqual/content.py new file mode 100644 index 00000000..8b4a04b1 --- /dev/null +++ b/rtemsqual/content.py @@ -0,0 +1,225 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" This module provides classes for content generation. """ + +# Copyright (C) 2019, 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# pylint: disable=useless-object-inheritance + +import os +import re + + +class Copyright(object): + """ + This class represents a copyright holder with its years of substantial + contributions. + """ + def __init__(self, holder): + self._holder = holder + self._years = set() + + def add_year(self, year: str): + """ + Adds a year to the set of substantial contributions of this copyright + holder. + """ + self._years.add(year) + + def get_statement(self) -> str: + """ Returns a copyright statement. """ + line = "Copyright (C)" + years = sorted(self._years) + year_count = len(years) + if year_count == 1: + line += " " + years[0] + elif year_count > 1: + line += " " + years[0] + ", " + years[-1] + line += " " + self._holder + return line + + def __lt__(self, other: "Copyright") -> bool: + # pylint: disable=protected-access + if self._years and other._years: + self_first_year = sorted(self._years)[0] + other_first_year = sorted(other._years)[0] + if self_first_year == other_first_year: + return self._holder > other._holder + return self_first_year > other_first_year + if self._years or other._years: + return True + return self._holder > other._holder + + +class Copyrights(object): + """ This class represents a set of copyright holders. """ + def __init__(self): + self.copyrights = {} + + def register(self, statement): + """ Registers a copyright statement. """ + match = re.search( + r"^\s*Copyright\s+\(C\)\s+([0-9]+),\s*([0-9]+)\s+(.+)\s*$", + statement, + flags=re.I, + ) + if match: + holder = match.group(3) + the_copyright = self.copyrights.setdefault(holder, + Copyright(holder)) + the_copyright.add_year(match.group(1)) + the_copyright.add_year(match.group(2)) + return + match = re.search( + r"^\s*Copyright\s+\(C\)\s+([0-9]+)\s+(.+)\s*$", + statement, + flags=re.I, + ) + if match: + holder = match.group(2) + the_copyright = self.copyrights.setdefault(holder, + Copyright(holder)) + the_copyright.add_year(match.group(1)) + return + match = re.search(r"^\s*Copyright\s+\(C\)\s+(.+)\s*$", + statement, + flags=re.I) + if match: + holder = match.group(1) + self.copyrights.setdefault(holder, Copyright(holder)) + return + raise ValueError(statement) + + def get_statements(self): + """ Returns all registered copyright statements as a sorted list. """ + statements = [] + for the_copyright in sorted(self.copyrights.values()): + statements.append(the_copyright.get_statement()) + return statements + + +class SphinxContent(object): + """ This class builds Sphinx content. """ + def __init__(self): + self._content = "" + self._license = "CC-BY-SA-4.0" + self._copyrights = Copyrights() + + @property + def content(self): + """ Returns the content. """ + return self._content + + def add_label(self, label): + """ Adds a label to the content. """ + self._content += ".. _" + label.strip() + ":\n" + + def add_header(self, name, level="="): + """ Adds a header to the content. """ + name = name.strip() + self._content += name + "\n" + level * len(name) + "\n" + + def add_blank_line(self): + """ Adds a blank line to the content. """ + self._content += "\n" + + def add_line(self, line, indent=0): + """ Adds a line to the content. """ + if line: + self._content += indent * " " + line + "\n" + else: + self._content += "\n" + + def add_index_entries(self, entries): + """ Adds a list of index entries the content. """ + first = True + for entry in entries: + if first: + first = False + self.add_blank_line() + self._content += ".. index:: " + entry + "\n" + + def add_definition_item(self, name, lines, indent=0): + """ Adds a definition item the content. """ + first = True + for line in lines: + if first: + first = False + self.add_blank_line() + self.add_line(name, indent) + self.add_line(line, indent=indent + 1) + + def register_license(self, the_license): + """ Registers a licence for the content. """ + licenses = re.split(r"\s+OR\s+", the_license) + if self._license not in licenses: + raise ValueError(the_license) + + def register_copyright(self, statement): + """ Registers a copyright statement for the content. """ + self._copyrights.register(statement) + + def add_licence_and_copyrights(self): + """ + Adds a licence and copyright block to the content according to the + registered licenses and copyrights. + """ + spdx = f".. SPDX-License-Identifier: {self._license}\n" + statements = "\n.. ".join(self._copyrights.get_statements()) + if statements: + self._content = f"{spdx}\n.. {statements}\n\n{self._content}" + else: + self._content = f"{spdx}\n{self._content}" + + def write(self, path): + """ Writes the content to the file specified by the path. """ + os.makedirs(os.path.dirname(path), exist_ok=True) + with open(path, "w+") as out: + out.write(self._content) + + +class MacroToSphinx(object): + """ This class expands specification item macros to Sphinx markup. """ + def __init__(self): + self._terms = {} + + def set_terms(self, terms): + """ Sets the glossary of terms used for macro expansion. """ + self._terms = terms + + def substitute(self, text): + """ + Substitutes all specification item macros contained in the text. + """ + return re.sub(r"@@|@([a-z]+){([^}]+)}", self, text) + + def __call__(self, match): + name = match.group(1) + if name: + roles = { + "term": + lambda x: ":term:`" + self._terms[x]["glossary-term"] + "`" + } + return roles[name](match.group(2)) + assert match.group(0) == "@@" + return "@" diff --git a/rtemsqual/glossary.py b/rtemsqual/glossary.py new file mode 100644 index 00000000..28178d8a --- /dev/null +++ b/rtemsqual/glossary.py @@ -0,0 +1,137 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" This module provides functions for glossary of terms generation. """ + +# Copyright (C) 2019, 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import glob +import re +from typing import Dict + +from rtemsqual.content import MacroToSphinx, SphinxContent +from rtemsqual.items import Item, ItemCache + +ItemMap = Dict[str, Item] + + +def _gather_glossary_groups(item: Item, glossary_groups: ItemMap) -> None: + for child in item.children: + _gather_glossary_groups(child, glossary_groups) + if item["type"] == "glossary" and item["glossary-type"] == "group": + glossary_groups[item.uid] = item + + +def _gather_glossary_terms(item: Item, glossary_terms: ItemMap) -> None: + for child in item.children: + _gather_glossary_terms(child, glossary_terms) + if item["type"] == "glossary" and item["glossary-type"] == "term": + glossary_terms[item.uid] = item + + +def _generate_glossary_content(terms: ItemMap) -> SphinxContent: + content = SphinxContent() + content.add_header("Glossary", level="*") + content.add_blank_line() + content.add_line(".. glossary::") + content.add_line(":sorted:", indent=1) + macro_to_sphinx = MacroToSphinx() + macro_to_sphinx.set_terms(terms) + for item in sorted(terms.values(), + key=lambda x: x["glossary-term"].lower()): + text = macro_to_sphinx.substitute(item["text"].strip()) + content.register_license(item["SPDX-License-Identifier"]) + for statement in item["copyrights"]: + content.register_copyright(statement) + content.add_definition_item(item["glossary-term"], + text.split("\n"), + indent=1) + content.add_licence_and_copyrights() + return content + + +def _make_glossary_term_uid(term: str) -> str: + return ("RTEMS-GLOS-TERM-" + + re.sub(r"[^a-zA-Z0-9]+", "", term.replace("+", "X")).upper()) + + +def _find_glossary_terms(path: str, document_terms: ItemMap, + project_terms: ItemMap) -> None: + for src in glob.glob(path + "/**/*.rst", recursive=True): + if src.endswith("glossary.rst"): + continue + with open(src, "r") as out: + for term in re.findall(":term:`([^`]+)`", out.read()): + uid = _make_glossary_term_uid(term) + document_terms[uid] = project_terms[uid] + + +def _resolve_glossary_term(document_terms: ItemMap, project_terms: ItemMap, + term: Item) -> None: + for match in re.findall(r"@@|@([a-z]+){([^}]+)}", term["text"]): + if match[1] and match[1] not in document_terms: + new_term = project_terms[match[1]] + document_terms[match[1]] = new_term + _resolve_glossary_term(document_terms, project_terms, new_term) + + +def _resolve_glossary_terms(document_terms: ItemMap, + project_terms: ItemMap) -> None: + for term in list(document_terms.values()): + _resolve_glossary_term(document_terms, project_terms, term) + + +def _generate_project_glossary(target: str, project_terms: ItemMap) -> None: + if target: + content = _generate_glossary_content(project_terms) + content.write(target) + + +def _generate_document_glossary(config: dict, project_terms: ItemMap) -> None: + document_terms = {} # type: ItemMap + for path in config["rest-source-paths"]: + _find_glossary_terms(path, document_terms, project_terms) + _resolve_glossary_terms(document_terms, project_terms) + content = _generate_glossary_content(document_terms) + content.write(config["target"]) + + +def generate(config: dict, item_cache: ItemCache) -> None: + """ + Generates glossaries of terms according to the configuration. + + :param config: A dictionary with configuration entries. + :param item_cache: The specification item cache containing the glossary + groups and terms. + """ + groups = {} # type: ItemMap + for item in item_cache.top_level.values(): + _gather_glossary_groups(item, groups) + + project_terms = {} # type: ItemMap + for group in config["project-groups"]: + _gather_glossary_terms(groups[group], project_terms) + + _generate_project_glossary(config["project-target"], project_terms) + + for document_config in config["documents"]: + _generate_document_glossary(document_config, project_terms) diff --git a/rtemsqual/items.py b/rtemsqual/items.py new file mode 100644 index 00000000..7dd3a8e3 --- /dev/null +++ b/rtemsqual/items.py @@ -0,0 +1,154 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" This module provides specification items and an item cache. """ + +# Copyright (C) 2019, 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# pylint: disable=useless-object-inheritance + +import os +import pickle +import stat +from typing import Any, List, Dict +import yaml + +ItemList = List["Item"] +ItemMap = Dict[str, "Item"] + + +class Item(object): + """ Objects of this class represent a specification item. """ + def __init__(self, uid: str, data: Any): + self._uid = uid + self._data = data + self._links = [] # type: ItemList + self._children = [] # type: ItemList + + def __getitem__(self, name: str) -> Any: + return self._data[name] + + @property + def uid(self) -> str: + """ Returns the UID of the item. """ + return self._uid + + @property + def parents(self) -> ItemList: + """ Returns the list of parents of this items. """ + return self._links + + @property + def children(self) -> ItemList: + """ Returns the list of children of this items. """ + return self._children + + def init_parents(self, item_cache: "ItemCache"): + """ Initializes the list of parents of this items. """ + for link in self._data["links"]: + self._links.append(item_cache[list(link.keys())[0]]) + + def add_child(self, child: "Item"): + """ Adds a child to this item. """ + self._children.append(child) + + +def _is_one_item_newer(path: str, mtime: float) -> bool: + for name in os.listdir(path): + path2 = os.path.join(path, name) + if name.endswith(".yml") and not name.startswith("."): + mtime2 = os.path.getmtime(path2) + if mtime <= mtime2: + return True + else: + mode = os.lstat(path2).st_mode + if stat.S_ISDIR(mode) and _is_one_item_newer(path2, mtime): + return True + return False + + +def _must_update_item_cache(path: str, cache_file: str) -> bool: + try: + mtime = os.path.getmtime(cache_file) + return _is_one_item_newer(path, mtime) + except FileNotFoundError: + return True + + +def _load_from_yaml(data_by_uid: Dict[str, Any], path: str) -> None: + for name in os.listdir(path): + path2 = os.path.join(path, name) + if name.endswith(".yml") and not name.startswith("."): + uid = os.path.basename(name).replace(".yml", "") + with open(path2, "r") as src: + data_by_uid[uid] = yaml.safe_load(src.read()) + else: + mode = os.lstat(path2).st_mode + if stat.S_ISDIR(mode): + _load_from_yaml(data_by_uid, path2) + + +class ItemCache(object): + """ This class provides a cache of specification items. """ + def __init__(self, config: Any): + self._items = {} # type: ItemMap + self._top_level = {} # type: ItemMap + self._load_items(config) + + def __getitem__(self, uid: str) -> Item: + return self._items[uid] + + @property + def top_level(self) -> ItemMap: + """ Returns the list of top-level specification items. """ + return self._top_level + + def _load_items_in_path(self, path: str, cache_file: str) -> None: + data_by_uid = {} # type: Dict[str, Any] + if _must_update_item_cache(path, cache_file): + _load_from_yaml(data_by_uid, path) + with open(cache_file, "wb") as out: + pickle.dump(data_by_uid, out) + else: + with open(cache_file, "rb") as out: + data_by_uid = pickle.load(out) + for uid, data in data_by_uid.items(): + item = Item(uid, data) + self._items[uid] = item + if not item["links"]: + self._top_level[uid] = item + + def _init_parents(self) -> None: + for item in self._items.values(): + item.init_parents(self) + + def _init_children(self) -> None: + for item in self._items.values(): + for parent in item.parents: + parent.add_child(item) + + def _load_items(self, config: Any) -> None: + cache_file = config["cache-file"] + for path in config["paths"]: + self._load_items_in_path(path, cache_file) + self._init_parents() + self._init_children() diff --git a/spec/.doorstop.yml b/spec/.doorstop.yml new file mode 100644 index 00000000..a97ec2fa --- /dev/null +++ b/spec/.doorstop.yml @@ -0,0 +1,4 @@ +settings: + digits: 3 + prefix: RTEMS + sep: '-' diff --git a/spec/RTEMS-GLOSSARY.yml b/spec/RTEMS-GLOSSARY.yml new file mode 100644 index 00000000..f4fd98de --- /dev/null +++ b/spec/RTEMS-GLOSSARY.yml @@ -0,0 +1,13 @@ +active: true +derived: false +header: | + Glossary +level: 1.2 +links: [] +normative: true +ref: '' +requirement-type: documentation +reviewed: DhCSZGHbXylPoz1uylnfj6UM_J-gHlkuPS_7eRa7JZk= +text: | + The project shall have a glossary of terms. +type: requirement diff --git a/spec/glos/.doorstop.yml b/spec/glos/.doorstop.yml new file mode 100644 index 00000000..cd308098 --- /dev/null +++ b/spec/glos/.doorstop.yml @@ -0,0 +1,15 @@ +settings: + digits: 3 + parent: RTEMS + prefix: RTEMS-GLOS + sep: '-' +attributes: + defaults: + SPDX-License-Identifier: CC-BY-SA-4.0 + enabled-by: [] + glossary-type: glossary-group + type: glossary + reviewed: + - enabled-by + - glossary-type + - type diff --git a/spec/glos/RTEMS-GLOS-GENERAL.yml b/spec/glos/RTEMS-GLOS-GENERAL.yml new file mode 100644 index 00000000..f9a2fb2a --- /dev/null +++ b/spec/glos/RTEMS-GLOS-GENERAL.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-group: General +glossary-type: group +header: '' +level: 1.1 +links: +- RTEMS-GLOSSARY: DhCSZGHbXylPoz1uylnfj6UM_J-gHlkuPS_7eRa7JZk= +normative: true +ref: '' +reviewed: FvVU2wYMC-oTNyhfRJ3FeXI7ZwQw_HF65TpzKkhy144= +text: | + The project shall have a general glossary of terms. +type: glossary diff --git a/spec/glos/term/.doorstop.yml b/spec/glos/term/.doorstop.yml new file mode 100644 index 00000000..4b2160e2 --- /dev/null +++ b/spec/glos/term/.doorstop.yml @@ -0,0 +1,16 @@ +settings: + digits: 3 + parent: RTEMS-GLOS + prefix: RTEMS-GLOS-TERM + sep: '-' +attributes: + defaults: + SPDX-License-Identifier: CC-BY-SA-4.0 + enabled-by: [] + glossary-type: term + type: glossary + reviewed: + - enabled-by + - glossary-term + - glossary-type + - type diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ABI.yml b/spec/glos/term/RTEMS-GLOS-TERM-ABI.yml new file mode 100644 index 00000000..556e9cbb --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ABI.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: ABI +glossary-type: term +header: '' +level: 1.194 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Sj96lEs0MItYPQJSbhz2Yk2i3ZJCfQD5tBpldib3SpQ= +text: | + An acronym for Application Binary Interface. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ACTIVE.yml b/spec/glos/term/RTEMS-GLOS-TERM-ACTIVE.yml new file mode 100644 index 00000000..415128a8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ACTIVE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: active +glossary-type: term +header: '' +level: 1.1 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: FJB95Hso3Oz6eoxfxXE1Nxr1YgRH9K21yG1f7wLL7sQ= +text: | + A term used to describe an object which has been created by an + application. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-APERIODICTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-APERIODICTASK.yml new file mode 100644 index 00000000..b8a5c8f0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-APERIODICTASK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: aperiodic task +glossary-type: term +header: '' +level: 1.2 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: WSyJnx323sssb-5padJEU84ScGf0h2sbgpE2YkvJ7AY= +text: | + A task which must execute only at irregular intervals and has only a soft + deadline. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-API.yml b/spec/glos/term/RTEMS-GLOS-TERM-API.yml new file mode 100644 index 00000000..db8789a4 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-API.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: API +glossary-type: term +header: '' +level: 1.3 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: TWUnYYzCvG1I0QNVqPLZ38LpTlHNzH7tHCVJ_-gM3Ek= +text: | + An acronym for Application Programming Interface. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-APPLICATION.yml b/spec/glos/term/RTEMS-GLOS-TERM-APPLICATION.yml new file mode 100644 index 00000000..076b9ed0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-APPLICATION.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: application +glossary-type: term +header: '' +level: 1.4 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: XivkI0HVdkAO4DvvR_nw-HjrWdw8vUCWG5XOyUkv7kM= +text: | + In this document, software which makes use of RTEMS. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ASR.yml b/spec/glos/term/RTEMS-GLOS-TERM-ASR.yml new file mode 100644 index 00000000..89cc6877 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ASR.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: ASR +glossary-type: term +header: '' +level: 1.5 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ITdEBKbHTuA3m9GqrSDDvOCWipQWOFcyf222KrRdyAY= +text: | + An acronym for @term{RTEMS-GLOS-TERM-ASYNCHRONOUSSIGNALROUTINE}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUS.yml b/spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUS.yml new file mode 100644 index 00000000..003aa1dd --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: asynchronous +glossary-type: term +header: '' +level: 1.6 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 66_QCCIq-KxVSaiZdmIqT92zulACe_gWsYeyIh56K-Q= +text: | + Not related in order or timing to other occurrences in the system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUSSIGNALROUTINE.yml b/spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUSSIGNALROUTINE.yml new file mode 100644 index 00000000..89288ed7 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUSSIGNALROUTINE.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Asynchronous Signal Routine +glossary-type: term +header: '' +level: 1.7 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: dae8KOTe0vngyegUmTMxhBPB9aDoSHyN9dowIXAQKWg= +text: | + Similar to a hardware interrupt except that it is associated with a task + and is run in the context of a task. The directives provided by the + signal manager are used to service signals. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ATOMICOPERATIONS.yml b/spec/glos/term/RTEMS-GLOS-TERM-ATOMICOPERATIONS.yml new file mode 100644 index 00000000..149b5d75 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ATOMICOPERATIONS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: atomic operations +glossary-type: term +header: '' +level: 1.8 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: -baes_DW0_Gjl4Aw8oHmx-pO9vg2uzdmQfjRqEApn5Y= +text: | + Atomic operations are defined in terms of @term{RTEMS-GLOS-TERM-C11}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-AWAKENED.yml b/spec/glos/term/RTEMS-GLOS-TERM-AWAKENED.yml new file mode 100644 index 00000000..d765f905 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-AWAKENED.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: awakened +glossary-type: term +header: '' +level: 1.9 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: MzbW-39nfv3WrfLDzLpvqG4-di8v6y6YUH1DRuoAkNk= +text: | + A term used to describe a task that has been unblocked and may be + scheduled to the CPU. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BIGENDIAN.yml b/spec/glos/term/RTEMS-GLOS-TERM-BIGENDIAN.yml new file mode 100644 index 00000000..e5cf1ae5 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BIGENDIAN.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: big endian +glossary-type: term +header: '' +level: '1.10' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 5UyTF0A_zG1dEEvzhDv-SxTfH3pTayOuIb2HPNh6cxQ= +text: | + A data representation scheme in which the bytes composing a numeric value + are arranged such that the most significant byte is at the lowest + address. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BITMAPPED.yml b/spec/glos/term/RTEMS-GLOS-TERM-BITMAPPED.yml new file mode 100644 index 00000000..97648fa9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BITMAPPED.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: bit-mapped +glossary-type: term +header: '' +level: 1.11 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: NlMtudHl47k88nYd8Npt9CVH1BDy1W-r_GHFK71qAI8= +text: | + A data encoding scheme in which each bit in a variable is used to + represent something different. This makes for compact data + representation. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-BLOCK.yml new file mode 100644 index 00000000..8b863795 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BLOCK.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: block +glossary-type: term +header: '' +level: 1.12 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 9fQWgzqk9AkU0aEDkuKIfIcAIMf2lARrWtmXAcpXC2E= +text: | + A physically contiguous area of memory. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BLOCKEDTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-BLOCKEDTASK.yml new file mode 100644 index 00000000..2a9c2d3e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BLOCKEDTASK.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: blocked task +glossary-type: term +header: '' +level: 1.13 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 7lqErSYe165KK_d7cwUWTmzculUoCD6rTRoqlDYS2uw= +text: | + The task state entered by a task which has been previously started and + cannot continue execution until the reason for waiting has been + satisfied. Blocked tasks are not an element of the set of ready tasks of + a scheduler instance. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BOARDSUPPORTPACKAGE.yml b/spec/glos/term/RTEMS-GLOS-TERM-BOARDSUPPORTPACKAGE.yml new file mode 100644 index 00000000..2df1ae78 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BOARDSUPPORTPACKAGE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Board Support Package +glossary-type: term +header: '' +level: 1.14 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: fnVCw1JMTtLxooFiyT7E8qPtYgG0JKOUrT2vQzauCpQ= +text: | + A collection of device initialization and control routines specific to a + particular type of board or collection of boards. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BROADCAST.yml b/spec/glos/term/RTEMS-GLOS-TERM-BROADCAST.yml new file mode 100644 index 00000000..93d96cf5 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BROADCAST.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: broadcast +glossary-type: term +header: '' +level: 1.15 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ripIZlUGZYnLmLTPflKrak8vzltcSeM4vjbAH-Ee3zU= +text: | + To simultaneously send a message to a logical set of destinations. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BSP.yml b/spec/glos/term/RTEMS-GLOS-TERM-BSP.yml new file mode 100644 index 00000000..387cb3e0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BSP.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: BSP +glossary-type: term +header: '' +level: 1.16 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Tiv7hHMbE8V-kjIiQim97YcAfn7grnoRejEnFwDHJ18= +text: | + An acronym for @term{RTEMS-GLOS-TERM-BOARDSUPPORTPACKAGE}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-BUFFER.yml b/spec/glos/term/RTEMS-GLOS-TERM-BUFFER.yml new file mode 100644 index 00000000..ce4b63e0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-BUFFER.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: buffer +glossary-type: term +header: '' +level: 1.17 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: DlaxHYkJ_sgb3FeB46JF_opSlCJbxEgUR1sH9WAfTdc= +text: | + A fixed length block of memory allocated from a partition. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-C11.yml b/spec/glos/term/RTEMS-GLOS-TERM-C11.yml new file mode 100644 index 00000000..95ec573e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-C11.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: C11 +glossary-type: term +header: '' +level: 1.19 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: AfX7EYcbRNcBgnTJl6NTbxhVPeA7NtxMNYQ2Uopm7qU= +text: | + The standard ISO/IEC 9899:2011. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CALLINGCONVENTION.yml b/spec/glos/term/RTEMS-GLOS-TERM-CALLINGCONVENTION.yml new file mode 100644 index 00000000..35dee622 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CALLINGCONVENTION.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: calling convention +glossary-type: term +header: '' +level: '1.20' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 5qWGrGaHm8PVm-l-E4tzCoLVxf4BTFAuJiQfIxyJfcA= +text: | + The processor and compiler dependent rules which define the mechanism + used to invoke subroutines in a high-level language. These rules define + the passing of arguments, the call and return mechanism, and the register + set which must be preserved. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-CCB.yml new file mode 100644 index 00000000..1d01bf29 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: CCB +glossary-type: term +header: '' +level: 1.195 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Gui9td2tX4IcCpBIDeoXpdYBPoWLWkMCip3XZqY3EWQ= +text: | + An acronym for Change Control Board. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CENTRALPROCESSINGUNIT.yml b/spec/glos/term/RTEMS-GLOS-TERM-CENTRALPROCESSINGUNIT.yml new file mode 100644 index 00000000..439f5ea5 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CENTRALPROCESSINGUNIT.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Central Processing Unit +glossary-type: term +header: '' +level: 1.21 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: khDWyQJdqKhdG0dXVOfQTYfso2IRDomltNyw4NiVLgs= +text: | + This term is equivalent to the terms processor and microprocessor. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CHAIN.yml b/spec/glos/term/RTEMS-GLOS-TERM-CHAIN.yml new file mode 100644 index 00000000..763fc086 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CHAIN.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: chain +glossary-type: term +header: '' +level: 1.22 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 3USAf8u8Y9jIGmv5qtyTmTYN-4c_Yj-JPfPgcajfOgw= +text: | + A data structure which allows for efficient dynamic addition and removal + of elements. It differs from an array in that it is not limited to a + predefined size. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CLUSTER.yml b/spec/glos/term/RTEMS-GLOS-TERM-CLUSTER.yml new file mode 100644 index 00000000..ffe283ed --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CLUSTER.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: cluster +glossary-type: term +header: '' +level: 1.23 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: vg_pn43WU6VpVif8jSFNepES9wkUSia_p1SBiXBfcKE= +text: | + We have clustered scheduling in case the set of processors of a system is + partitioned into non-empty pairwise disjoint subsets. These subsets are + called clusters. Clusters with a cardinality of one are partitions. + Each cluster is owned by exactly one scheduler instance. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-COALESCE.yml b/spec/glos/term/RTEMS-GLOS-TERM-COALESCE.yml new file mode 100644 index 00000000..9a2f76c0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-COALESCE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: coalesce +glossary-type: term +header: '' +level: 1.24 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: _2ttdzEeWHpfpdruefUOPJ_JqzS4a6PgnvlF52vLjdE= +text: | + The process of merging adjacent holes into a single larger hole. + Sometimes this process is referred to as garbage collection. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CONFIGURATIONTABLE.yml b/spec/glos/term/RTEMS-GLOS-TERM-CONFIGURATIONTABLE.yml new file mode 100644 index 00000000..f9c48e35 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CONFIGURATIONTABLE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Configuration Table +glossary-type: term +header: '' +level: 1.25 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: UFR4UiVAKBOMG9np8e-ih6H5Dd7cd7jEcsl1y2dvmT4= +text: | + A table which contains information used to tailor RTEMS for a particular + application. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CONTEXT.yml b/spec/glos/term/RTEMS-GLOS-TERM-CONTEXT.yml new file mode 100644 index 00000000..fb0d7918 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CONTEXT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: context +glossary-type: term +header: '' +level: 1.26 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: f10KCu49msv9kiC7kjRIKZX3hRvqb_LQCr7AyEVNc0k= +text: | + All of the processor registers and operating system data structures + associated with a task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CONTEXTSWITCH.yml b/spec/glos/term/RTEMS-GLOS-TERM-CONTEXTSWITCH.yml new file mode 100644 index 00000000..1d786905 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CONTEXTSWITCH.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: context switch +glossary-type: term +header: '' +level: 1.27 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: o1gf8BiTMuAJs-N3vZrzvjU96rSTN2HdODiOIM7z5oU= +text: | + Alternate term for task switch. Taking control of the processor from one + task and transferring it to another task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-CONTROLBLOCK.yml new file mode 100644 index 00000000..fa2ee940 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CONTROLBLOCK.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: control block +glossary-type: term +header: '' +level: 1.28 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: zsIf3izmnLykfglQw-OEmSktQvwnJW3lgwVC8cFYAMo= +text: | + A data structure used by the executive to define and control an object. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CORE.yml b/spec/glos/term/RTEMS-GLOS-TERM-CORE.yml new file mode 100644 index 00000000..0b89f8b2 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CORE.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: core +glossary-type: term +header: '' +level: 1.29 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 49BpoWze_2qMRMN3iFSp60P6HxjfqbFUVuiqSyBUZUU= +text: | + When used in this manual, this term refers to the internal executive + utility functions. In the interest of application portability, the core + of the executive should not be used directly by applications. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CPU.yml b/spec/glos/term/RTEMS-GLOS-TERM-CPU.yml new file mode 100644 index 00000000..3474ce4e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CPU.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: CPU +glossary-type: term +header: '' +level: '1.30' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: HxE_DkbtepXuaZjXRZGajlfoXf9fc12B0fDWJyOYQy8= +text: | + An acronym for @term{RTEMS-GLOS-TERM-CENTRALPROCESSINGUNIT}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CRITICALSECTION.yml b/spec/glos/term/RTEMS-GLOS-TERM-CRITICALSECTION.yml new file mode 100644 index 00000000..39b3eb5e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CRITICALSECTION.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: critical section +glossary-type: term +header: '' +level: 1.31 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: FocXuGCJLRVVat7h7JnsLkHWb6bjlv9YlGf9cdNBxlY= +text: | + A section of code which must be executed indivisibly. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CRT.yml b/spec/glos/term/RTEMS-GLOS-TERM-CRT.yml new file mode 100644 index 00000000..f29b4f9d --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CRT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: CRT +glossary-type: term +header: '' +level: 1.32 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: dmh82CbCKcI_3SgdonCs2gp9Zxg1gtB8-9vHOoV4ZtY= +text: | + An acronym for Cathode Ray Tube. Normally used in reference to the + man-machine interface. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-CXX11.yml b/spec/glos/term/RTEMS-GLOS-TERM-CXX11.yml new file mode 100644 index 00000000..415b4d1f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-CXX11.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: C++11 +glossary-type: term +header: '' +level: 1.18 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Ty54tQKyH1XVfXpHdzJj0c4pKY1VTS3rLGJeCio9EZ4= +text: | + The standard ISO/IEC 14882:2011. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DEADLINE.yml b/spec/glos/term/RTEMS-GLOS-TERM-DEADLINE.yml new file mode 100644 index 00000000..6d7c9808 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DEADLINE.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: deadline +glossary-type: term +header: '' +level: 1.33 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: LuHBTxOovCAnOlnO6dX_r8sS40Huz_9xMbLHjDi3up8= +text: | + A fixed time limit by which a task must have completed a set of actions. + Beyond this point, the results are of reduced value and may even be + considered useless or harmful. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DEVICE.yml b/spec/glos/term/RTEMS-GLOS-TERM-DEVICE.yml new file mode 100644 index 00000000..7a209107 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DEVICE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: device +glossary-type: term +header: '' +level: 1.34 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: WWgpVofjPSs9DTtat-lfpuPkes81IxBMar-uH8Fq-Ec= +text: | + A peripheral used by the application that requires special operation + software. See also device driver. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVER.yml b/spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVER.yml new file mode 100644 index 00000000..ca458ad2 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVER.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: device driver +glossary-type: term +header: '' +level: 1.35 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: sSBdBmZnaGPaYfxHTq13JiwQpl78B0AXI_tfIuAH6ms= +text: | + Control software for special peripheral devices used by the application. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVERTABLE.yml b/spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVERTABLE.yml new file mode 100644 index 00000000..79ec9197 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVERTABLE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Device Driver Table +glossary-type: term +header: '' +level: 1.36 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: tl12HCGwUsfC944wB2WdGpogJHGvg0pOBO83muGcKiY= +text: | + A table which contains the entry points for each of the configured device + drivers. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DIRECTIVES.yml b/spec/glos/term/RTEMS-GLOS-TERM-DIRECTIVES.yml new file mode 100644 index 00000000..918ea74d --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DIRECTIVES.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: directives +glossary-type: term +header: '' +level: 1.37 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Jwv80TV7liKv42jelrFgR1Ita1007E6QXFowfEnR6po= +text: | + RTEMS' provided routines that provide support mechanisms for real-time + applications. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DISPATCH.yml b/spec/glos/term/RTEMS-GLOS-TERM-DISPATCH.yml new file mode 100644 index 00000000..a4006004 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DISPATCH.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: dispatch +glossary-type: term +header: '' +level: 1.38 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ahzMDcWvFj2yNJ0vT9TXFuIUwsbsBw4Vu4SMKQ2xvCo= +text: | + The act of loading a task's context onto the CPU and transferring control + of the CPU to that task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DOORSTOP.yml b/spec/glos/term/RTEMS-GLOS-TERM-DOORSTOP.yml new file mode 100644 index 00000000..e85aafbe --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DOORSTOP.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: Doorstop +glossary-type: term +header: '' +level: 1.196 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: NnytZzXt7TtxFghEpsjWZBHGHBfvPH3O3Cr5t-G3T-0= +text: | + `Doorstop <https://github.com/doorstop-dev/doorstop>`_ is a + requirements management tool. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DORMANT.yml b/spec/glos/term/RTEMS-GLOS-TERM-DORMANT.yml new file mode 100644 index 00000000..21ab30f2 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DORMANT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: dormant +glossary-type: term +header: '' +level: 1.39 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: phZsW8j5NOjEe3CEWx8ex7AjXDIHN4tshWzCT7tUtUQ= +text: | + The state entered by a task after it is created and before it has been + started. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-DUALPORTED.yml b/spec/glos/term/RTEMS-GLOS-TERM-DUALPORTED.yml new file mode 100644 index 00000000..c45327d9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-DUALPORTED.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: dual-ported +glossary-type: term +header: '' +level: '1.40' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: pqRPABAjQlXXYx3fDbltVrkh1nq5j81WyYQyrGXhFpM= +text: | + A term used to describe memory which can be accessed at two different + addresses. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EARS.yml b/spec/glos/term/RTEMS-GLOS-TERM-EARS.yml new file mode 100644 index 00000000..01971ba9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EARS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: EARS +glossary-type: term +header: '' +level: 1.197 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 3csZAttybhSJ92GH0in0LkyEJ7asYQBnhBKS_PWfz8Y= +text: | + An acronym for Easy Approach to Requirements Syntax. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EMBEDDED.yml b/spec/glos/term/RTEMS-GLOS-TERM-EMBEDDED.yml new file mode 100644 index 00000000..14d94d01 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EMBEDDED.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: embedded +glossary-type: term +header: '' +level: 1.41 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: B3YkCztreUYCBivZKvifXRH4d1meA-S2veheE0F97l8= +text: | + An application that is delivered as a hidden part of a larger system. + For example, the software in a fuel-injection control system is an + embedded application found in many late-model automobiles. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ENTRYPOINT.yml b/spec/glos/term/RTEMS-GLOS-TERM-ENTRYPOINT.yml new file mode 100644 index 00000000..c8ed79b4 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ENTRYPOINT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: entry point +glossary-type: term +header: '' +level: 1.42 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 4U-ExQLj-wznrclrq6YNlnB7UqHmy2xVa4ZTvXKobgc= +text: | + The address at which a function or task begins to execute. In C, the + entry point of a function is the function's name. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ENVELOPE.yml b/spec/glos/term/RTEMS-GLOS-TERM-ENVELOPE.yml new file mode 100644 index 00000000..e7a46a65 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ENVELOPE.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: envelope +glossary-type: term +header: '' +level: 1.43 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: cPlNnYolEjPflcyuDjjagYgcBN9eqrpd1G7F0NWKvaA= +text: | + A buffer provided by the MPCI layer to RTEMS which is used to pass + messages between nodes in a multiprocessor system. It typically contains + routing information needed by the MPCI. The contents of an envelope are + referred to as a packet. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ERRORCODE.yml b/spec/glos/term/RTEMS-GLOS-TERM-ERRORCODE.yml new file mode 100644 index 00000000..d37de5a4 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ERRORCODE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: error code +glossary-type: term +header: '' +level: 1.44 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 5eG6r3LAPv_aimB8GYdoBR9Wge7nG03LLqGzAxWOleA= +text: | + This term has the same meaning as @term{RTEMS-GLOS-TERM-STATUSCODE}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EVENTS.yml b/spec/glos/term/RTEMS-GLOS-TERM-EVENTS.yml new file mode 100644 index 00000000..53c42e22 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EVENTS.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: events +glossary-type: term +header: '' +level: 1.45 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 12QEh4l-H5YX-vgpz0xjRttheDYx6k4h6YPkLH_G7y0= +text: | + A method for task communication and synchronization. The directives + provided by the event manager are used to service events. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EXCEPTION.yml b/spec/glos/term/RTEMS-GLOS-TERM-EXCEPTION.yml new file mode 100644 index 00000000..54c5979e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EXCEPTION.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: exception +glossary-type: term +header: '' +level: 1.46 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: F6DZT6YqanL0Muqgas104g1QDJmq0jnkeJDG2oU8DxA= +text: | + A synonym for interrupt. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EXECUTINGTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-EXECUTINGTASK.yml new file mode 100644 index 00000000..1351083f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EXECUTINGTASK.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: executing task +glossary-type: term +header: '' +level: 1.47 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: T9DUJoklOAZlITi7mI3t2YXwakMqKWv0xf_MxWfwQO8= +text: | + The task state entered by a task after it has been given control of the + processor. In SMP configurations, a task may be registered as executing + on more than one processor for short time frames during task migration. + Blocked tasks can be executing until they issue a thread dispatch. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EXECUTIVE.yml b/spec/glos/term/RTEMS-GLOS-TERM-EXECUTIVE.yml new file mode 100644 index 00000000..74a28c90 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EXECUTIVE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: executive +glossary-type: term +header: '' +level: 1.48 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: zTiPMMXLfgpLOOc8EZ90BkwEDzlwiVnU4OK1iUXWz2U= +text: | + In this document, this term is used to referred to RTEMS. Commonly, an + executive is a small real-time operating system used in embedded systems. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EXPORTED.yml b/spec/glos/term/RTEMS-GLOS-TERM-EXPORTED.yml new file mode 100644 index 00000000..b7820f4f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EXPORTED.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: exported +glossary-type: term +header: '' +level: 1.49 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 8px3o9DnyoUBnyXNQBll91ME7zy-kXpOxrg7w8Bev8M= +text: | + An object known by all nodes in a multiprocessor system. An object + created with the GLOBAL attribute will be exported. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-EXTERNALADDRESS.yml b/spec/glos/term/RTEMS-GLOS-TERM-EXTERNALADDRESS.yml new file mode 100644 index 00000000..d0938c3f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-EXTERNALADDRESS.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: external address +glossary-type: term +header: '' +level: '1.50' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: bRWWjrWgpo4ngZNdU_ZhQ5p4SLzzhFDQ6eNQXQbUwhc= +text: | + The address used to access dual-ported memory by all the nodes in a + system which do not own the memory. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-FIFO.yml b/spec/glos/term/RTEMS-GLOS-TERM-FIFO.yml new file mode 100644 index 00000000..3a1a6303 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-FIFO.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: FIFO +glossary-type: term +header: '' +level: 1.51 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Djkw6VMnkqPLtbix4tQjj-fBC5DX23ub-ryj9LmIXsE= +text: | + An acronym for @term{RTEMS-GLOS-TERM-FIRSTINFIRSTOUT}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-FIRSTINFIRSTOUT.yml b/spec/glos/term/RTEMS-GLOS-TERM-FIRSTINFIRSTOUT.yml new file mode 100644 index 00000000..58871f0c --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-FIRSTINFIRSTOUT.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: First In First Out +glossary-type: term +header: '' +level: 1.52 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: CYrAfcClwJlvljtSZLAUq-qUYl9NFOuG0gcISntPXYU= +text: | + A discipline for manipulating entries in a data structure. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-FLOATINGPOINTCOPROCESSOR.yml b/spec/glos/term/RTEMS-GLOS-TERM-FLOATINGPOINTCOPROCESSOR.yml new file mode 100644 index 00000000..55bdfcbb --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-FLOATINGPOINTCOPROCESSOR.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: floating point coprocessor +glossary-type: term +header: '' +level: 1.53 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: _9yKAtFGP4IXv9xFl4oddUFbu_7gQyk_mjNqVOkAfcQ= +text: | + A component used in computer systems to enhance performance in + mathematically intensive situations. It is typically viewed as a logical + extension of the primary processor. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-FREED.yml b/spec/glos/term/RTEMS-GLOS-TERM-FREED.yml new file mode 100644 index 00000000..47597778 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-FREED.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: freed +glossary-type: term +header: '' +level: 1.54 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ohDmDRceAgShiRFI4tLXoVjLVG91DAtGxErAlcckc4w= +text: | + A resource that has been released by the application to RTEMS. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-GCC.yml b/spec/glos/term/RTEMS-GLOS-TERM-GCC.yml new file mode 100644 index 00000000..fde77a1f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-GCC.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: GCC +glossary-type: term +header: '' +level: 1.206 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: BdjqGjzfhsLAmhzHw3vpD9LtNtCRgYDtfTft04Bydjc= +text: | + An acronym for `GNU Compiler Collection <https://gcc.gnu.org/>`_. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-GLOBAL.yml b/spec/glos/term/RTEMS-GLOS-TERM-GLOBAL.yml new file mode 100644 index 00000000..3405da6e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-GLOBAL.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: global +glossary-type: term +header: '' +level: 1.55 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: THb2kdDKrL6a8fLNsGI4MhKD8KgpeZwlfHKQs9iNQds= +text: | + An object that has been created with the GLOBAL attribute and exported to + all nodes in a multiprocessor system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-GNAT.yml b/spec/glos/term/RTEMS-GLOS-TERM-GNAT.yml new file mode 100644 index 00000000..caa32232 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-GNAT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: GNAT +glossary-type: term +header: '' +level: 1.198 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: snr07P5mREybaG3Wc-oqFFRuB29DOd9DtNO3bSzjyvU= +text: | + *GNAT* is the @term{RTEMS-GLOS-TERM-GNU} compiler for Ada, integrated into the + @term{RTEMS-GLOS-TERM-GCC}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-GNU.yml b/spec/glos/term/RTEMS-GLOS-TERM-GNU.yml new file mode 100644 index 00000000..d2f1e829 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-GNU.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: GNU +glossary-type: term +header: '' +level: 1.205 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: FkzB1mSLgsVXYUKUXVfcXYOS0j_Zuqj2IPtWog4hzr0= +text: | + An acronym for `GNU's Not Unix <https://www.gnu.org/>`_. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-HANDLER.yml b/spec/glos/term/RTEMS-GLOS-TERM-HANDLER.yml new file mode 100644 index 00000000..707ea8a8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-HANDLER.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: handler +glossary-type: term +header: '' +level: 1.56 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: KAhc4BUBW1uTU1A02wF2B99hULvUUW9487bhiGDaGDM= +text: | + The equivalent of a manager, except that it is internal to RTEMS and + forms part of the core. A handler is a collection of routines which + provide a related set of functions. For example, there is a handler used + by RTEMS to manage all objects. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-HARDREALTIMESYSTEM.yml b/spec/glos/term/RTEMS-GLOS-TERM-HARDREALTIMESYSTEM.yml new file mode 100644 index 00000000..473a9169 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-HARDREALTIMESYSTEM.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: hard real-time system +glossary-type: term +header: '' +level: 1.57 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: YCz0ZebnHTIcILsCLkXk3TXaRWQpxdotcMPCHI8Y5Jw= +text: | + A real-time system in which a missed deadline causes the worked performed + to have no value or to result in a catastrophic effect on the integrity + of the system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-HEAP.yml b/spec/glos/term/RTEMS-GLOS-TERM-HEAP.yml new file mode 100644 index 00000000..56792aee --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-HEAP.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: heap +glossary-type: term +header: '' +level: 1.58 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: CnFzGieDjXsrKCKkLEl-8X9zDT-M2XB41j_PzKOCmro= +text: | + A data structure used to dynamically allocate and deallocate variable + sized blocks of memory. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-HEIRTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-HEIRTASK.yml new file mode 100644 index 00000000..242264e8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-HEIRTASK.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: heir task +glossary-type: term +header: '' +level: 1.59 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: PaoisjFulO_JPMCL28fHxcdvwks4Z8hbl7ZZscyMoEI= +text: | + A task is an heir if it is registered as an heir in a processor of the + system. A task can be the heir on at most one processor in the system. + In case the executing and heir tasks differ on a processor and a thread + dispatch is marked as necessary, then the next thread dispatch will make + the heir task the executing task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-HETEROGENEOUS.yml b/spec/glos/term/RTEMS-GLOS-TERM-HETEROGENEOUS.yml new file mode 100644 index 00000000..4bbcb3ca --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-HETEROGENEOUS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: heterogeneous +glossary-type: term +header: '' +level: '1.60' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: LrmgS52aD_h2sdg_KHczci6TfQlEwUCt_SJTVJOD9sQ= +text: | + A multiprocessor computer system composed of dissimilar processors. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-HOMOGENEOUS.yml b/spec/glos/term/RTEMS-GLOS-TERM-HOMOGENEOUS.yml new file mode 100644 index 00000000..4e55742d --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-HOMOGENEOUS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: homogeneous +glossary-type: term +header: '' +level: 1.61 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: uYq3ganzDVlK37VKL8-qrCnSn2uUgTe7IuwdQT9lZw8= +text: | + A multiprocessor computer system composed of a single type of processor. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ID.yml b/spec/glos/term/RTEMS-GLOS-TERM-ID.yml new file mode 100644 index 00000000..9cf202d9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ID.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: ID +glossary-type: term +header: '' +level: 1.63 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: NLebpo5btxJLoAmpNYUE9pk0OAxnYsQxSvyidfBA9rw= +text: | + An RTEMS assigned identification tag used to access an active object. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-IDLETASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-IDLETASK.yml new file mode 100644 index 00000000..67c93b3f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-IDLETASK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: IDLE task +glossary-type: term +header: '' +level: 1.64 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: QFNDsLswZEeSW_RQURp3vateKRPvZhHZOkr61wQH2gE= +text: | + A special low priority task which assumes control of the CPU when no + other task is able to execute. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-INTERFACE.yml b/spec/glos/term/RTEMS-GLOS-TERM-INTERFACE.yml new file mode 100644 index 00000000..f2ed8ac7 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-INTERFACE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: interface +glossary-type: term +header: '' +level: 1.65 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: stb0Lwx7jYqNAEm6lLmNgx73HuIpfW9suEL8IgLd4pM= +text: | + A specification of the methodology used to connect multiple independent + subsystems. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-INTERNALADDRESS.yml b/spec/glos/term/RTEMS-GLOS-TERM-INTERNALADDRESS.yml new file mode 100644 index 00000000..aca26f78 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-INTERNALADDRESS.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: internal address +glossary-type: term +header: '' +level: 1.66 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: EbC3-iR4kN6gVTZoITZ6TASlDvziwj1OWS9finsuYrI= +text: | + The address used to access dual-ported memory by the node which owns the + memory. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPT.yml b/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPT.yml new file mode 100644 index 00000000..379d555b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: interrupt +glossary-type: term +header: '' +level: 1.67 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: X3Fp9zyCSiV78kbSdOaXMMXu4DX0b5dhJefMUFEa_KA= +text: | + A hardware facility that causes the CPU to suspend execution, save its + status, and transfer control to a specific location. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTLEVEL.yml b/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTLEVEL.yml new file mode 100644 index 00000000..0a2db911 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTLEVEL.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: interrupt level +glossary-type: term +header: '' +level: 1.68 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 8lL3Mfjz5ugNNN2nNe8D3F1ud_oaA3MXTqS3WWdopqs= +text: | + A mask used to by the CPU to determine which pending interrupts should be + serviced. If a pending interrupt is below the current interrupt level, + then the CPU does not recognize that interrupt. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTSERVICEROUTINE.yml b/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTSERVICEROUTINE.yml new file mode 100644 index 00000000..04321e17 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTSERVICEROUTINE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Interrupt Service Routine +glossary-type: term +header: '' +level: 1.69 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ePxsNGXEmCkvH9TwecUFx3kJT1NQAn35UILzZJxAB98= +text: | + An ISR is invoked by the CPU to process a pending interrupt. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-IO.yml b/spec/glos/term/RTEMS-GLOS-TERM-IO.yml new file mode 100644 index 00000000..205ef5ac --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-IO.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: I/O +glossary-type: term +header: '' +level: 1.62 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: us0UVjiyJ1gtr2rMKQSaMelYO4FeGFS06zJYt8uEQHE= +text: | + An acronym for Input/Output. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ISR.yml b/spec/glos/term/RTEMS-GLOS-TERM-ISR.yml new file mode 100644 index 00000000..4cf1daf1 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ISR.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: ISR +glossary-type: term +header: '' +level: '1.70' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Kpm8LWc8NJUXN4Q7weGOuPEYyiGLzf2sxYZ43qfmlP0= +text: | + An acronym for @term{RTEMS-GLOS-TERM-INTERRUPTSERVICEROUTINE}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ISVV.yml b/spec/glos/term/RTEMS-GLOS-TERM-ISVV.yml new file mode 100644 index 00000000..0e021f7b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ISVV.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: ISVV +glossary-type: term +header: '' +level: 1.199 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: SnKuYolGh4luhgAZvriCNqYbfHj4Ouf4HyYQCnGK34M= +text: | + An acronym for Independent Software Verification and Validation. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-KERNEL.yml b/spec/glos/term/RTEMS-GLOS-TERM-KERNEL.yml new file mode 100644 index 00000000..586a265d --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-KERNEL.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: kernel +glossary-type: term +header: '' +level: 1.71 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: oMMBZU-sw9xYCVAKyiruNtjn2FG40oCVdY00xaB0JoA= +text: | + In this document, this term is used as a synonym for executive. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-LIST.yml b/spec/glos/term/RTEMS-GLOS-TERM-LIST.yml new file mode 100644 index 00000000..de94e01f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-LIST.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: list +glossary-type: term +header: '' +level: 1.72 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: pxGkvcKb0rKxce_vU3qBSnB0-UcUpcbYqThDt_Fo8kE= +text: | + A data structure which allows for dynamic addition and removal of + entries. It is not statically limited to a particular size. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-LITTLEENDIAN.yml b/spec/glos/term/RTEMS-GLOS-TERM-LITTLEENDIAN.yml new file mode 100644 index 00000000..80e2b582 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-LITTLEENDIAN.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: little endian +glossary-type: term +header: '' +level: 1.73 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: gHRVyqSm22Cp9gla1dGWCQ9wAtWZBbejElQLKMqKKOg= +text: | + A data representation scheme in which the bytes composing a numeric value + are arranged such that the least significant byte is at the lowest + address. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-LOCAL.yml b/spec/glos/term/RTEMS-GLOS-TERM-LOCAL.yml new file mode 100644 index 00000000..1c788194 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-LOCAL.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: local +glossary-type: term +header: '' +level: 1.74 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: uVcFhuI-FbXFDHs23thCJexNKyrUpLkCGvMlVhtTdkU= +text: | + An object which was created with the LOCAL attribute and is accessible + only on the node it was created and resides upon. In a single processor + configuration, all objects are local. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-LOCALOPERATION.yml b/spec/glos/term/RTEMS-GLOS-TERM-LOCALOPERATION.yml new file mode 100644 index 00000000..821d7f12 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-LOCALOPERATION.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: local operation +glossary-type: term +header: '' +level: 1.75 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: CCgeCBtzATUIxZoQtpDIXkAKqKxpVfELD6gLpgJ-b2Y= +text: | + The manipulation of an object which resides on the same node as the + calling task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-LOGICALADDRESS.yml b/spec/glos/term/RTEMS-GLOS-TERM-LOGICALADDRESS.yml new file mode 100644 index 00000000..6e40ff06 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-LOGICALADDRESS.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: logical address +glossary-type: term +header: '' +level: 1.76 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: LAklMBQdpwYRfAjDWxjD1owVNWU9Ka4HP68hnKFgL6Q= +text: | + An address used by an application. In a system without memory + management, logical addresses will equal physical addresses. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-LOOSELYCOUPLED.yml b/spec/glos/term/RTEMS-GLOS-TERM-LOOSELYCOUPLED.yml new file mode 100644 index 00000000..35cf7cd5 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-LOOSELYCOUPLED.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: loosely-coupled +glossary-type: term +header: '' +level: 1.77 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: jzrbovWPrE1jXCXE_gH3E4BRF-P6SNsvN18NiuYL3ek= +text: | + A multiprocessor configuration where shared memory is not used for + communication. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MAJORNUMBER.yml b/spec/glos/term/RTEMS-GLOS-TERM-MAJORNUMBER.yml new file mode 100644 index 00000000..d90fa20d --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MAJORNUMBER.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: major number +glossary-type: term +header: '' +level: 1.78 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: u7h1Theu_l_upYKP2rMuh3AoqiniHQIng07lkVTyVfo= +text: | + The index of a device driver in the Device Driver Table. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MANAGER.yml b/spec/glos/term/RTEMS-GLOS-TERM-MANAGER.yml new file mode 100644 index 00000000..29556198 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MANAGER.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: manager +glossary-type: term +header: '' +level: 1.79 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: lx5xxcLNG6BwmwqBCfR0U_WEIRjt2ffjhNIMg5Tf4w8= +text: | + A group of related RTEMS' directives which provide access and control + over resources. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MCS.yml b/spec/glos/term/RTEMS-GLOS-TERM-MCS.yml new file mode 100644 index 00000000..b0c79444 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MCS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: MCS +glossary-type: term +header: '' +level: '1.80' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: _lQFg_X8sY3CVWC2JbqKYWdYbARCHSaNSGXcGyv5VG8= +text: | + An acronym for Mellor-Crummey Scott. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MEMORYPOOL.yml b/spec/glos/term/RTEMS-GLOS-TERM-MEMORYPOOL.yml new file mode 100644 index 00000000..d0148d17 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MEMORYPOOL.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: memory pool +glossary-type: term +header: '' +level: 1.81 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: WfLRO01RMpB-a_xP16CYDRQGH-SoDbZtZlt9ManITks= +text: | + Used interchangeably with heap. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MESSAGE.yml b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGE.yml new file mode 100644 index 00000000..46c3567f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: message +glossary-type: term +header: '' +level: 1.82 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 880sxxubd0h63sn4_aw1Pa4SbiMuQNUV0D580b-eWbs= +text: | + A sixteen byte entity used to communicate between tasks. Messages are + sent to message queues and stored in message buffers. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEBUFFER.yml b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEBUFFER.yml new file mode 100644 index 00000000..6c96e797 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEBUFFER.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: message buffer +glossary-type: term +header: '' +level: 1.83 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: YC4dhrhCndkezdUYWAsGp0Wz0UYrMAeMB2MSL2886BI= +text: | + A block of memory used to store messages. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUE.yml b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUE.yml new file mode 100644 index 00000000..9fcbd56c --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: message queue +glossary-type: term +header: '' +level: 1.84 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: je480CgC17TC3jhOixKxu5mrD1T5AiyTvuQjLTUDceg= +text: | + An RTEMS object used to synchronize and communicate between tasks by + transporting messages between sending and receiving tasks. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUECONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUECONTROLBLOCK.yml new file mode 100644 index 00000000..2bda1dbe --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUECONTROLBLOCK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Message Queue Control Block +glossary-type: term +header: '' +level: 1.85 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ol-TuBKJh9qB7ci38G2xU3Vx7-Z0eHzPCJGRdnUYY0E= +text: | + A data structure associated with each message queue used by RTEMS to + manage that message queue. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MINORNUMBER.yml b/spec/glos/term/RTEMS-GLOS-TERM-MINORNUMBER.yml new file mode 100644 index 00000000..f09aadd7 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MINORNUMBER.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: minor number +glossary-type: term +header: '' +level: 1.86 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: mvNi-YpPX_c3lTlMD0nT97etzXhmUWVfIzb4hRMrGRY= +text: | + A numeric value passed to a device driver, the exact usage of which is + driver dependent. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MODE.yml b/spec/glos/term/RTEMS-GLOS-TERM-MODE.yml new file mode 100644 index 00000000..ba8e18f9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MODE.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: mode +glossary-type: term +header: '' +level: 1.87 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: r_20wHbDZcrU7JgfdItWOM9p0Fd8hToInIs1WiUlTlM= +text: | + An entry in a task's control block that is used to determine if the task + allows preemption, timeslicing, processing of signals, and the interrupt + disable level used by the task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MPCI.yml b/spec/glos/term/RTEMS-GLOS-TERM-MPCI.yml new file mode 100644 index 00000000..85498678 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MPCI.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: MPCI +glossary-type: term +header: '' +level: 1.88 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: LnQD-jty0vwjPSOYzVZ31yBBO_ED_wDJhRtnBahVQJc= +text: | + An acronym for @term{RTEMS-GLOS-TERM-MULTIPROCESSORCOMMUNICATIONSINTERFACELAYER}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSING.yml b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSING.yml new file mode 100644 index 00000000..bf2cb706 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSING.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: multiprocessing +glossary-type: term +header: '' +level: 1.89 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: TGRCxXK64cGjItBtbuzi_XNHvx1HwASlRX7gUvQoID4= +text: | + The simultaneous execution of two or more processes by a multiple + processor computer system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSOR.yml b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSOR.yml new file mode 100644 index 00000000..e59a1c30 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSOR.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: multiprocessor +glossary-type: term +header: '' +level: '1.90' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: KlKC79jeuhtRenJRNRqONazQ8ldjajh4xr4XON5hAQA= +text: | + A computer with multiple CPUs available for executing applications. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCOMMUNICATIONSINTERFACELAYER.yml b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCOMMUNICATIONSINTERFACELAYER.yml new file mode 100644 index 00000000..949fb909 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCOMMUNICATIONSINTERFACELAYER.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Multiprocessor Communications Interface Layer +glossary-type: term +header: '' +level: 1.91 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: nq78aHtW28ZuOMacXOyoXuR-s9NgRFmOPq9LCzxT6cw= +text: | + A set of user-provided routines which enable the nodes in a + multiprocessor system to communicate with one another. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCONFIGURATIONTABLE.yml b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCONFIGURATIONTABLE.yml new file mode 100644 index 00000000..ecb03f06 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCONFIGURATIONTABLE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Multiprocessor Configuration Table +glossary-type: term +header: '' +level: 1.92 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: VR4vsucTs4K-JmGMqPdZGuPEDOjh9KhHWsDO8zcOPvM= +text: | + The data structure defining the characteristics of the multiprocessor + target system with which RTEMS will communicate. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MULTITASKING.yml b/spec/glos/term/RTEMS-GLOS-TERM-MULTITASKING.yml new file mode 100644 index 00000000..6efa0cc0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MULTITASKING.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: multitasking +glossary-type: term +header: '' +level: 1.93 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 3zlGi68knsRHGJQV59aIFwtVNnbnbrI5q7U35uaiSGI= +text: | + The alternation of execution amongst a group of processes on a single + CPU. A scheduling algorithm is used to determine which process executes + at which time. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-MUTUALEXCLUSION.yml b/spec/glos/term/RTEMS-GLOS-TERM-MUTUALEXCLUSION.yml new file mode 100644 index 00000000..4bb8c4a8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-MUTUALEXCLUSION.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: mutual exclusion +glossary-type: term +header: '' +level: 1.94 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: z0KJaHl8ntIbambmQMF-ojyjiZBaIflqAq6-ZNNs30o= +text: | + A term used to describe the act of preventing other tasks from accessing + a resource simultaneously. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-NESTED.yml b/spec/glos/term/RTEMS-GLOS-TERM-NESTED.yml new file mode 100644 index 00000000..9227bafe --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-NESTED.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: nested +glossary-type: term +header: '' +level: 1.95 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: s7tkuo6m6vAYAbzKazl8-RS2olVHOjKDH31XHLcr-3s= +text: | + A term used to describe an ASR that occurs during another ASR or an ISR + that occurs during another ISR. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-NODE.yml b/spec/glos/term/RTEMS-GLOS-TERM-NODE.yml new file mode 100644 index 00000000..74bb8e82 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-NODE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: node +glossary-type: term +header: '' +level: 1.96 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: AzZvHOIi5rdklBN6kzxp8C9OlFXJBwWeF0MBUO9uBo0= +text: | + A term used to reference a processor running RTEMS in a multiprocessor + system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-NONEXISTENT.yml b/spec/glos/term/RTEMS-GLOS-TERM-NONEXISTENT.yml new file mode 100644 index 00000000..c408b979 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-NONEXISTENT.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: non-existent +glossary-type: term +header: '' +level: 1.97 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: zc1vyqX-Gki7e3sZjWLPgmlZBSrMyjOiihdKs6nsdG0= +text: | + The state occupied by an uncreated or deleted task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-NUMA.yml b/spec/glos/term/RTEMS-GLOS-TERM-NUMA.yml new file mode 100644 index 00000000..3b2a387a --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-NUMA.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: NUMA +glossary-type: term +header: '' +level: 1.98 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 3QkeYHf8t51OjulqxXLlXw66g_zV9ZXE17Ju11iZo1Q= +text: | + An acronym for Non-Uniform Memory Access. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-NUMERICCOPROCESSOR.yml b/spec/glos/term/RTEMS-GLOS-TERM-NUMERICCOPROCESSOR.yml new file mode 100644 index 00000000..70ebd54b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-NUMERICCOPROCESSOR.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: numeric coprocessor +glossary-type: term +header: '' +level: 1.99 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 8ZX9gKrKGgABJvgkk6Tw9Abejx6wLVbZ6WPFLvgHlaE= +text: | + A component used in computer systems to enhance performance in + mathematically intensive situations. It is typically viewed as a logical + extension of the primary processor. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-OBJECT.yml b/spec/glos/term/RTEMS-GLOS-TERM-OBJECT.yml new file mode 100644 index 00000000..dc98e318 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-OBJECT.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: object +glossary-type: term +header: '' +level: '1.100' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: fesjW2wK8X9Xs_QJYe4QdkLaYl9a1gmMMsNSwQ_guEM= +text: | + In this document, this term is used to refer collectively to tasks, + timers, message queues, partitions, regions, semaphores, ports, and rate + monotonic periods. All RTEMS objects have IDs and user-assigned names. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-OBJECTORIENTED.yml b/spec/glos/term/RTEMS-GLOS-TERM-OBJECTORIENTED.yml new file mode 100644 index 00000000..8b096949 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-OBJECTORIENTED.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: object-oriented +glossary-type: term +header: '' +level: 1.101 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ylHpRX-WmBNt--nNDv6Bbc1YC8vmyZyIEY1UA-bicNY= +text: | + A term used to describe systems with common mechanisms for utilizing a + variety of entities. Object-oriented systems shield the application from + implementation details. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-OPERATINGSYSTEM.yml b/spec/glos/term/RTEMS-GLOS-TERM-OPERATINGSYSTEM.yml new file mode 100644 index 00000000..6946263a --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-OPERATINGSYSTEM.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: operating system +glossary-type: term +header: '' +level: 1.102 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: om5RQ3O5z-7lZIe8S9hVrYi5861IrNIX52ZTkDM92HI= +text: | + The software which controls all the computer's resources and provides the + base upon which application programs can be written. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-OVERHEAD.yml b/spec/glos/term/RTEMS-GLOS-TERM-OVERHEAD.yml new file mode 100644 index 00000000..21138c26 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-OVERHEAD.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: overhead +glossary-type: term +header: '' +level: 1.103 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: LCfVuVqjeEWUNvXx4NBaO26boCCVApK4MLb0Natv0Sk= +text: | + The portion of the CPUs processing power consumed by the operating + system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PACKET.yml b/spec/glos/term/RTEMS-GLOS-TERM-PACKET.yml new file mode 100644 index 00000000..30dea8ed --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PACKET.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: packet +glossary-type: term +header: '' +level: 1.104 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: sh2QmRA2JnH1Jax6IFvOsG90F1efLQGFysZT1DjoMkI= +text: | + A buffer which contains the messages passed between nodes in a + multiprocessor system. A packet is the contents of an envelope. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PARTITION.yml b/spec/glos/term/RTEMS-GLOS-TERM-PARTITION.yml new file mode 100644 index 00000000..225233b8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PARTITION.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: partition +glossary-type: term +header: '' +level: 1.105 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: g25qNZ1oA9TSubo8mnaDPCAwbt61UCR6Llf289LlGQY= +text: | + This term has two definitions: + + 1. A partition is an RTEMS object which is used to allocate and + deallocate fixed size blocks of memory from an dynamically specified + area of memory. + + 2. A @term{RTEMS-GLOS-TERM-CLUSTER} with a cardinality of one is a partition. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PARTITIONCONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-PARTITIONCONTROLBLOCK.yml new file mode 100644 index 00000000..f4a433b8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PARTITIONCONTROLBLOCK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Partition Control Block +glossary-type: term +header: '' +level: 1.106 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: BUxqU8zvEWRHD2QxHkxumjfGZwzFq0COoeoBWQWvH1c= +text: | + A data structure associated with each partition used by RTEMS to manage + that partition. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PENDING.yml b/spec/glos/term/RTEMS-GLOS-TERM-PENDING.yml new file mode 100644 index 00000000..dc760aaf --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PENDING.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: pending +glossary-type: term +header: '' +level: 1.107 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: SRBe8QHMa5VU_nHjNdOpb6HsNycUF-aYEkOc1_lIzW4= +text: | + A term used to describe a task blocked waiting for an event, message, + semaphore, or signal. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PERIODICTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-PERIODICTASK.yml new file mode 100644 index 00000000..ab3c16eb --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PERIODICTASK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: periodic task +glossary-type: term +header: '' +level: 1.108 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 1VrfISNrTsw_FJY8eXq9Xq5h9YpBYmzlagolMYxI4A0= +text: | + A task which must execute at regular intervals and comply with a hard + deadline. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PHYSICALADDRESS.yml b/spec/glos/term/RTEMS-GLOS-TERM-PHYSICALADDRESS.yml new file mode 100644 index 00000000..182a607d --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PHYSICALADDRESS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: physical address +glossary-type: term +header: '' +level: 1.109 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: YOeHtinA9ZtWgVokBqFSLKXGLegh44rf0XkyFcCbJK8= +text: | + The actual hardware address of a resource. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-POLL.yml b/spec/glos/term/RTEMS-GLOS-TERM-POLL.yml new file mode 100644 index 00000000..59aad642 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-POLL.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: poll +glossary-type: term +header: '' +level: '1.110' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: mg6XHi8POBJ6jXY_peVvOHIAYaMdu1EK-aXNJWekWCM= +text: | + A mechanism used to determine if an event has occurred by periodically + checking for a particular status. Typical events include arrival of + data, completion of an action, and errors. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-POOL.yml b/spec/glos/term/RTEMS-GLOS-TERM-POOL.yml new file mode 100644 index 00000000..1cfadab8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-POOL.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: pool +glossary-type: term +header: '' +level: 1.111 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: PaYpNc6X1tzq2HoSGItcXheczS-Wn2a2QVnMZ5JdDbk= +text: | + A collection from which resources are allocated. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PORTABILITY.yml b/spec/glos/term/RTEMS-GLOS-TERM-PORTABILITY.yml new file mode 100644 index 00000000..4b76f073 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PORTABILITY.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: portability +glossary-type: term +header: '' +level: 1.112 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: kyKWebKl--Y3sMsKDNjZe6rWcEHOZv3DGmH5AkvXg7c= +text: | + A term used to describe the ease with which software can be rehosted on + another computer. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-POSTING.yml b/spec/glos/term/RTEMS-GLOS-TERM-POSTING.yml new file mode 100644 index 00000000..eea35486 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-POSTING.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: posting +glossary-type: term +header: '' +level: 1.113 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: USaAkKD0r3FiZmAR1N3ZNsHEYW5YZAXL1m4kxZviNyM= +text: | + The act of sending an event, message, semaphore, or signal to a task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PREEMPT.yml b/spec/glos/term/RTEMS-GLOS-TERM-PREEMPT.yml new file mode 100644 index 00000000..88b9cab9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PREEMPT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: preempt +glossary-type: term +header: '' +level: 1.114 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: GV0GxRMJBqDsX-amDnGCehdpiCJo9X92N3XdoJFZiO0= +text: | + The act of forcing a task to relinquish the processor and dispatching to + another task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PRIORITY.yml b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITY.yml new file mode 100644 index 00000000..f8784c6f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITY.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: priority +glossary-type: term +header: '' +level: 1.115 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 5Zw75YyeAqh-glOJfA4-XtpEgkwX2mU4Ou-3dNRWbss= +text: | + A mechanism used to represent the relative importance of an element in a + set of items. RTEMS uses priority to determine which task should + execute. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYBOOSTING.yml b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYBOOSTING.yml new file mode 100644 index 00000000..ba274024 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYBOOSTING.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: priority boosting +glossary-type: term +header: '' +level: 1.116 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: b6QJnExYRf2q2EakCssw_uhi8IVktUMhrbEXQMNwvx0= +text: | + A simple approach to extend the priority inheritance protocol for + clustered scheduling is priority boosting. In case a mutex is owned by a + task of another cluster, then the priority of the owner task is raised to + an artificially high priority, the pseudo-interrupt priority. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINHERITANCE.yml b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINHERITANCE.yml new file mode 100644 index 00000000..383ffe27 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINHERITANCE.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: priority inheritance +glossary-type: term +header: '' +level: 1.117 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: jUD400InPhiyJ73BFiQ6rMWHYXWhJxD-2Ruw28lu4RQ= +text: | + An algorithm that calls for the lower priority task holding a resource to + have its priority increased to that of the highest priority task blocked + waiting for that resource. This avoids the problem of priority + inversion. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINVERSION.yml b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINVERSION.yml new file mode 100644 index 00000000..92474a11 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINVERSION.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: priority inversion +glossary-type: term +header: '' +level: 1.118 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 5z9lL7o4N5fvTtBYP_Wr_i2phROODI3eD3Jd8ipxZkc= +text: | + A form of indefinite postponement which occurs when a high priority tasks + requests access to shared resource currently allocated to low priority + task. The high priority task must block until the low priority task + releases the resource. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PROCESSORUTILIZATION.yml b/spec/glos/term/RTEMS-GLOS-TERM-PROCESSORUTILIZATION.yml new file mode 100644 index 00000000..4e6e0a81 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PROCESSORUTILIZATION.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: processor utilization +glossary-type: term +header: '' +level: 1.119 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: JPmFv6pHs8sISa3pucE_Yy26FVs55HxxkeHNGFiKtKo= +text: | + The percentage of processor time used by a task or a set of tasks. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PROXY.yml b/spec/glos/term/RTEMS-GLOS-TERM-PROXY.yml new file mode 100644 index 00000000..f75cd364 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PROXY.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: proxy +glossary-type: term +header: '' +level: '1.120' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: PzUR2Tbxt8jto7JPaMnetoS6FzDsAAFxGjoXNHN3U5E= +text: | + An RTEMS control structure used to represent, on a remote node, a task + which must block as part of a remote operation. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PROXYCONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-PROXYCONTROLBLOCK.yml new file mode 100644 index 00000000..97ccc36b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PROXYCONTROLBLOCK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Proxy Control Block +glossary-type: term +header: '' +level: 1.121 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: cCHSV-AdLE1ZL1zbgyy8BruhsCzTpXtrJJwZ1M5HaEg= +text: | + A data structure associated with each proxy used by RTEMS to manage that + proxy. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PTCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-PTCB.yml new file mode 100644 index 00000000..f279a813 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PTCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: PTCB +glossary-type: term +header: '' +level: 1.122 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 4sFt7k3FMPMnUYRgSPgIrAdXzKkIaKotW_HCc_9u5jE= +text: | + An acronym for @term{RTEMS-GLOS-TERM-PARTITIONCONTROLBLOCK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-PXCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-PXCB.yml new file mode 100644 index 00000000..b8af9625 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-PXCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: PXCB +glossary-type: term +header: '' +level: 1.123 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: NiVUvWXRZxNLRyl9v6QRQFqr8r1euHshzs7gZ27HdW8= +text: | + An acronym for @term{RTEMS-GLOS-TERM-PROXYCONTROLBLOCK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-QCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-QCB.yml new file mode 100644 index 00000000..05f479aa --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-QCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: QCB +glossary-type: term +header: '' +level: 1.124 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: MwUhwLVYFwA3QI7J4HTHUlZapn4zflcfPefAgvjaU3Y= +text: | + An acronym for @term{RTEMS-GLOS-TERM-MESSAGEQUEUECONTROLBLOCK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-QUANTUM.yml b/spec/glos/term/RTEMS-GLOS-TERM-QUANTUM.yml new file mode 100644 index 00000000..35666fac --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-QUANTUM.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: quantum +glossary-type: term +header: '' +level: 1.125 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: XIyOhmKKv4mVz0FcPLbkWh-tmPfGuYV1eegC15MXNvQ= +text: | + The application defined unit of time in which the processor is allocated. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-QUEUE.yml b/spec/glos/term/RTEMS-GLOS-TERM-QUEUE.yml new file mode 100644 index 00000000..d65a8079 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-QUEUE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: queue +glossary-type: term +header: '' +level: 1.126 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: dZ_q603vXXLbUxM7oRoZw0QCpW9G2PUkru0WYeP0R4M= +text: | + Alternate term for message queue. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-READYTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-READYTASK.yml new file mode 100644 index 00000000..58b4fe5b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-READYTASK.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: ready task +glossary-type: term +header: '' +level: 1.127 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ftdAPumFPHsbBtakx-FsbFf0VHjPXuRLhpzEg945q7o= +text: | + A task occupies this state when it is available to be given control of a + processor. A ready task has no processor assigned. The scheduler + decided that other tasks are currently more important. A task that is + ready to execute and has a processor assigned is called scheduled. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REALTIME.yml b/spec/glos/term/RTEMS-GLOS-TERM-REALTIME.yml new file mode 100644 index 00000000..c9640d89 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REALTIME.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: real-time +glossary-type: term +header: '' +level: 1.128 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: j8QSnhUtfQB0fl5VwQ4SBsTjRjA6P6J4etvhERVFXeE= +text: | + A term used to describe systems which are characterized by requiring + deterministic response times to external stimuli. The external stimuli + require that the response occur at a precise time or the response is + incorrect. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REENTRANT.yml b/spec/glos/term/RTEMS-GLOS-TERM-REENTRANT.yml new file mode 100644 index 00000000..a15a0ce3 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REENTRANT.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: reentrant +glossary-type: term +header: '' +level: 1.129 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: XUKc42o-HFdOBbI07eKXaFnYvFIXaF4u3jsvxZHWJaM= +text: | + A term used to describe routines which do not modify themselves or global + variables. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REGION.yml b/spec/glos/term/RTEMS-GLOS-TERM-REGION.yml new file mode 100644 index 00000000..18d8a51b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REGION.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: region +glossary-type: term +header: '' +level: '1.130' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: g1S4aDDUuuNRXnvRd0aKcRsJ6gU1nbINxK3uualqo6Q= +text: | + An RTEMS object which is used to allocate and deallocate variable size + blocks of memory from a dynamically specified area of memory. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REGIONCONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-REGIONCONTROLBLOCK.yml new file mode 100644 index 00000000..cb2acc62 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REGIONCONTROLBLOCK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Region Control Block +glossary-type: term +header: '' +level: 1.131 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: z6vX5l8S933sbSfeeps764orVNQw6BNQjrFcG3foQyI= +text: | + A data structure associated with each region used by RTEMS to manage that + region. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REGISTERS.yml b/spec/glos/term/RTEMS-GLOS-TERM-REGISTERS.yml new file mode 100644 index 00000000..397843a2 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REGISTERS.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: registers +glossary-type: term +header: '' +level: 1.132 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: rs_gkNtCsYs-3Oy8yGPKP9HPgA4-nSVqOYHxufXmMcI= +text: | + Registers are locations physically located within a component, typically + used for device control or general purpose storage. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REMOTE.yml b/spec/glos/term/RTEMS-GLOS-TERM-REMOTE.yml new file mode 100644 index 00000000..bcda6051 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REMOTE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: remote +glossary-type: term +header: '' +level: 1.133 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: SPSUDihuHyNrYfJSY1jXogK9OnwZNdv0cywxqtE2-as= +text: | + Any object that does not reside on the local node. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REMOTEOPERATION.yml b/spec/glos/term/RTEMS-GLOS-TERM-REMOTEOPERATION.yml new file mode 100644 index 00000000..c64978b8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REMOTEOPERATION.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: remote operation +glossary-type: term +header: '' +level: 1.134 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: H1UCwpcuo9sQhs9_Zc9z_b6T6e4aWlUtWSU636YA9jE= +text: | + The manipulation of an object which does not reside on the same node as + the calling task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-REQIF.yml b/spec/glos/term/RTEMS-GLOS-TERM-REQIF.yml new file mode 100644 index 00000000..f7af760f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-REQIF.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: ReqIF +glossary-type: term +header: '' +level: '1.200' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: vbKtgy1LRbkBo4ML9Bfx2NLuj7U8w1hipguS_XyNRh0= +text: | + An acronym for + `Requirements Interchange Format <https://www.omg.org/spec/ReqIF/About-ReqIF/>`_. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RESOURCE.yml b/spec/glos/term/RTEMS-GLOS-TERM-RESOURCE.yml new file mode 100644 index 00000000..568d7b21 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RESOURCE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: resource +glossary-type: term +header: '' +level: 1.135 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: MKN1AG3HiLV5aR_4J8Cw6Uo-9Scgnk4GBTTqVaHDn1k= +text: | + A hardware or software entity to which access must be controlled. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RESUME.yml b/spec/glos/term/RTEMS-GLOS-TERM-RESUME.yml new file mode 100644 index 00000000..dfb55c1e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RESUME.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: resume +glossary-type: term +header: '' +level: 1.136 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: zOwcxvi8Q1pV7V8xPNB702OCM6lLlNuNonuy6XpWrUU= +text: | + Removing a task from the suspend state. If the task's state is ready + following a call to the ``rtems_task_resume`` directive, then the task is + available for scheduling. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RETURNCODE.yml b/spec/glos/term/RTEMS-GLOS-TERM-RETURNCODE.yml new file mode 100644 index 00000000..0020ac9e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RETURNCODE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: return code +glossary-type: term +header: '' +level: 1.137 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: icjtkBSfeJH6KH4D07Jn7hzVagvLfSJrKvADr6EjBNU= +text: | + This term has the same meaning as @term{RTEMS-GLOS-TERM-STATUSCODE}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RETURNVALUE.yml b/spec/glos/term/RTEMS-GLOS-TERM-RETURNVALUE.yml new file mode 100644 index 00000000..c574e884 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RETURNVALUE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: return value +glossary-type: term +header: '' +level: 1.138 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: tTkWc99doonlsjeaXcQlYJXDeZDKjdaNbCO3cDwQg9A= +text: | + The value returned by a function. A return value may be a + @term{RTEMS-GLOS-TERM-STATUSCODE}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RNCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-RNCB.yml new file mode 100644 index 00000000..2fe83315 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RNCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: RNCB +glossary-type: term +header: '' +level: 1.139 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: zaYE17IUnZoN_9GLEJWznhX-kl7zlumq7h18FJONcOo= +text: | + An acronym for @term{RTEMS-GLOS-TERM-REGIONCONTROLBLOCK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-ROUNDROBIN.yml b/spec/glos/term/RTEMS-GLOS-TERM-ROUNDROBIN.yml new file mode 100644 index 00000000..086cd0b0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-ROUNDROBIN.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: round-robin +glossary-type: term +header: '' +level: '1.140' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: CF-FYeUbyuUfa3y1soV1vGNG6tfGyfWj3HdypweDWOo= +text: | + A task scheduling discipline in which tasks of equal priority are + executed in the order in which they are made ready. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RS232.yml b/spec/glos/term/RTEMS-GLOS-TERM-RS232.yml new file mode 100644 index 00000000..650be145 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RS232.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: RS-232 +glossary-type: term +header: '' +level: 1.141 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: nPYHJ60Uw5h6m3oBv4BB2LmeTV9yGVJ8pKn1QPhqhh0= +text: | + A standard for serial communications. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RTEMS.yml b/spec/glos/term/RTEMS-GLOS-TERM-RTEMS.yml new file mode 100644 index 00000000..73c574d8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RTEMS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: RTEMS +glossary-type: term +header: '' +level: 1.207 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: j_sFJqs17KUcD1El8fmIbeysHHK9ge7AIQfY6b7U0y0= +text: | + An acronym for Real-Time Executive for Multiprocessor Systems. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-RUNNING.yml b/spec/glos/term/RTEMS-GLOS-TERM-RUNNING.yml new file mode 100644 index 00000000..7eb5fc57 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-RUNNING.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: running +glossary-type: term +header: '' +level: 1.142 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: j_n033GpVrtylE2cjN4IBcf7wnUeLNvmLulrPAjfQNo= +text: | + The state of a rate monotonic timer while it is being used to delineate a + period. The timer exits this state by either expiring or being canceled. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULABLE.yml b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULABLE.yml new file mode 100644 index 00000000..6ddabb3e --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULABLE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: schedulable +glossary-type: term +header: '' +level: 1.143 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 4KpopzqZnHe-IPi0Y06MqKnjmNoymi_oQmYQ4fTf3BM= +text: | + A set of tasks which can be guaranteed to meet their deadlines based upon + a specific scheduling algorithm. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULE.yml b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULE.yml new file mode 100644 index 00000000..7698650f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: schedule +glossary-type: term +header: '' +level: 1.144 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: jnqH06hPLki9OskLoB5lubgPP3vvjiAcLlzDGmoXoAE= +text: | + The process of choosing which task should next enter the executing state. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULEDTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULEDTASK.yml new file mode 100644 index 00000000..122f2293 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULEDTASK.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: scheduled task +glossary-type: term +header: '' +level: 1.145 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: zjpmItXgVvxjqJvUdrpV-ZuLlDtVSVoCHap30h8lob0= +text: | + A task is scheduled if it is allowed to execute and has a processor + assigned. Such a task executes currently on a processor or is about to + start execution. A task about to start execution it is an heir task on + exactly one processor in the system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULER.yml b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULER.yml new file mode 100644 index 00000000..e67497dc --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULER.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: scheduler +glossary-type: term +header: '' +level: 1.146 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: _PEtiIXUtQ4geil8dETsRoRP3ht0JtyODktJQEXawwE= +text: | + A scheduler or scheduling algorithm allocates processors to a subset of + its set of ready tasks. So it manages access to the processor resource. + Various algorithms exist to choose the tasks allowed to use a processor + out of the set of ready tasks. One method is to assign each task a + priority number and assign the tasks with the lowest priority number to + one processor of the set of processors owned by a scheduler instance. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULERINSTANCE.yml b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULERINSTANCE.yml new file mode 100644 index 00000000..7fb37692 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SCHEDULERINSTANCE.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: scheduler instance +glossary-type: term +header: '' +level: 1.147 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: NhtLenqzJfOnQ9n_7dm1GAUK8tivY7Fniozis0u_2Yk= +text: | + A scheduler instance is a scheduling algorithm with a corresponding + context to store its internal state. Each processor in the system is + owned by at most one scheduler instance. The processor to scheduler + instance assignment is determined at application configuration time. See + :ref:`Configuring a System`. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SEGMENTS.yml b/spec/glos/term/RTEMS-GLOS-TERM-SEGMENTS.yml new file mode 100644 index 00000000..8637e1a9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SEGMENTS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: segments +glossary-type: term +header: '' +level: 1.148 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: FKEj1cUeWbIC9vAsnH68-KPYzc5FQfJreeBKYz6ySHI= +text: | + Variable sized memory blocks allocated from a region. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORE.yml b/spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORE.yml new file mode 100644 index 00000000..768a9ab0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: semaphore +glossary-type: term +header: '' +level: 1.149 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: lMUqMrD25My_70OYcku9R7tVlfG_MwDlEqXFVcIkpOM= +text: | + An RTEMS object which is used to synchronize tasks and provide mutually + exclusive access to resources. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORECONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORECONTROLBLOCK.yml new file mode 100644 index 00000000..eb7c0b02 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORECONTROLBLOCK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Semaphore Control Block +glossary-type: term +header: '' +level: '1.150' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: n2PLrUi5-_fUzxHwjy3xcRCxH8tIFB6QGBmsOAAc-9o= +text: | + A data structure associated with each semaphore used by RTEMS to manage + that semaphore. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SHAREDMEMORY.yml b/spec/glos/term/RTEMS-GLOS-TERM-SHAREDMEMORY.yml new file mode 100644 index 00000000..b27d4633 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SHAREDMEMORY.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: shared memory +glossary-type: term +header: '' +level: 1.151 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: cW4ili0O4ek_iByjMJwdS0xc2YpMMlXaNqGGzLfZ3GI= +text: | + Memory which is accessible by multiple nodes in a multiprocessor system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SIGNAL.yml b/spec/glos/term/RTEMS-GLOS-TERM-SIGNAL.yml new file mode 100644 index 00000000..b3effe0a --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SIGNAL.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: signal +glossary-type: term +header: '' +level: 1.152 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: F0CcitFSGJGtcZgtliNhHn6H1uw7k_OcGhH5TepAhEU= +text: | + An RTEMS provided mechanism to communicate asynchronously with a task. + Upon reception of a signal, the ASR of the receiving task will be + invoked. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SIGNALSET.yml b/spec/glos/term/RTEMS-GLOS-TERM-SIGNALSET.yml new file mode 100644 index 00000000..17aeb041 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SIGNALSET.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: signal set +glossary-type: term +header: '' +level: 1.153 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: WprLqGhc1io3WdrW1xrpqHcZjZl57LnkIS1XhIc7RWo= +text: | + A thirty-two bit entity which is used to represent a task's collection of + pending signals and the signals sent to a task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SMCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-SMCB.yml new file mode 100644 index 00000000..3d713063 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SMCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: SMCB +glossary-type: term +header: '' +level: 1.154 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 6f9cl3a1fi1illtV8O5Mvmz6OCwtvMvy-dzhO4ismgw= +text: | + An acronym for @term{RTEMS-GLOS-TERM-SEMAPHORECONTROLBLOCK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SMP.yml b/spec/glos/term/RTEMS-GLOS-TERM-SMP.yml new file mode 100644 index 00000000..811ec191 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SMP.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: SMP +glossary-type: term +header: '' +level: 1.155 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: fhGNnrSm0brurArKQREayHWCbJbe44n79GQlhb4Nvbw= +text: | + An acronym for Symmetric Multiprocessing. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SMPBARRIERS.yml b/spec/glos/term/RTEMS-GLOS-TERM-SMPBARRIERS.yml new file mode 100644 index 00000000..a6bdb9d7 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SMPBARRIERS.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: SMP barriers +glossary-type: term +header: '' +level: 1.156 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: kjAKwWTxwFCcAQr6f6zWpe9sKjHEhyMLWz_chcnsqu8= +text: | + The SMP barriers ensure that a defined set of independent threads of + execution on a set of processors reaches a common synchronization point + in time. They are implemented using atomic operations. Currently a + sense barrier is used in RTEMS. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SMPLOCKS.yml b/spec/glos/term/RTEMS-GLOS-TERM-SMPLOCKS.yml new file mode 100644 index 00000000..8256ae4b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SMPLOCKS.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: SMP locks +glossary-type: term +header: '' +level: 1.157 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: mBT2hN37M37Ln4Gk0Jp8iiRnxwYI5UkHb8_O2kdmVWM= +text: | + The SMP locks ensure mutual exclusion on the lowest level and are a + replacement for the sections of disabled interrupts. Interrupts are + usually disabled while holding an SMP lock. They are implemented using + atomic operations. Currently a ticket lock is used in RTEMS. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SOFTREALTIMESYSTEM.yml b/spec/glos/term/RTEMS-GLOS-TERM-SOFTREALTIMESYSTEM.yml new file mode 100644 index 00000000..884b77e7 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SOFTREALTIMESYSTEM.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: soft real-time system +glossary-type: term +header: '' +level: 1.158 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: -_7y5S3ynAAY7oTEfQgoOg9vWcOYyYqEoTULJi2DXng= +text: | + A real-time system in which a missed deadline does not compromise the + integrity of the system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREITEM.yml b/spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREITEM.yml new file mode 100644 index 00000000..155ff052 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREITEM.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: software item +glossary-type: term +header: '' +level: 1.201 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: h-oC1vE_cuUVjlZQjg9nX7ra2C7rOZ4Gx9aPi7cmc18= +text: | + This term has the same meaning as @term{RTEMS-GLOS-TERM-SOFTWAREPRODUCT}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREPRODUCT.yml b/spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREPRODUCT.yml new file mode 100644 index 00000000..09cd8553 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREPRODUCT.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: software product +glossary-type: term +header: '' +level: 1.202 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: PxkHjWe3HyOwefmvdSNonh0w7nJMnX3lMrtsOaFmCec= +text: | + The *software product* is the @term{RTEMS-GLOS-TERM-RTEMS} real-time operating system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SOURCECODE.yml b/spec/glos/term/RTEMS-GLOS-TERM-SOURCECODE.yml new file mode 100644 index 00000000..dec8a8af --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SOURCECODE.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: source code +glossary-type: term +header: '' +level: 1.203 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 2NHMdvl73RaHgZ4gMiNkRppSUGxLA-ZCM5bwJb42MAo= +text: | + This project uses the *source code* definition of the + `Linux Information Project <http://www.linfo.org/source_code.html>`_: + "Source code (also referred to as source or code) is the version of + software as it is originally written (i.e., typed into a computer) by a + human in plain text (i.e., human readable alphanumeric characters)." +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SPORADICTASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-SPORADICTASK.yml new file mode 100644 index 00000000..04b9270f --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SPORADICTASK.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: sporadic task +glossary-type: term +header: '' +level: 1.159 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 5fyc7qYcvrGcBtofRk3GYQXT-K1fu3hwfccVa1idcyA= +text: | + A task which executes at irregular intervals and must comply with a hard + deadline. A minimum period of time between successive iterations of the + task can be guaranteed. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-STACK.yml b/spec/glos/term/RTEMS-GLOS-TERM-STACK.yml new file mode 100644 index 00000000..298769e1 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-STACK.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: stack +glossary-type: term +header: '' +level: '1.160' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 4vS76iAJkx2RHXcLx5VdjQNjVYtKioR0IDDH6h4TKs8= +text: | + A data structure that is managed using a Last In First Out (LIFO) + discipline. Each task has a stack associated with it which is used to + store return information and local variables. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-STATUSCODE.yml b/spec/glos/term/RTEMS-GLOS-TERM-STATUSCODE.yml new file mode 100644 index 00000000..6cb53ceb --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-STATUSCODE.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: status code +glossary-type: term +header: '' +level: 1.161 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: OgomkLxn2sUEUymoDHy9mhjwvbU0XEbS8WxJjy6a5Dw= +text: | + A status code indicates the completion status of an operation. For + example most RTEMS directives return a status code through the + @term{RTEMS-GLOS-TERM-RETURNVALUE} to indicate a successful operation or error + conditions. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SUSPEND.yml b/spec/glos/term/RTEMS-GLOS-TERM-SUSPEND.yml new file mode 100644 index 00000000..b4f335a0 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SUSPEND.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: suspend +glossary-type: term +header: '' +level: 1.162 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: GvqTlyNZ74XHlvQOEXUZX-omYmMOlEOj7TZthBGxHjY= +text: | + A term used to describe a task that is not competing for the CPU because it + has had a ``rtems_task_suspend`` directive. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SYNCHRONOUS.yml b/spec/glos/term/RTEMS-GLOS-TERM-SYNCHRONOUS.yml new file mode 100644 index 00000000..1d3ee59b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SYNCHRONOUS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: synchronous +glossary-type: term +header: '' +level: 1.163 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: XU-TF3pMi_-5JoMO6dw61sKC9MTZQ27OE6TBShoYW2U= +text: | + Related in order or timing to other occurrences in the system. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-SYSTEMCALL.yml b/spec/glos/term/RTEMS-GLOS-TERM-SYSTEMCALL.yml new file mode 100644 index 00000000..20e9b7fa --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-SYSTEMCALL.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: system call +glossary-type: term +header: '' +level: 1.164 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: sUpjGfBv3L-7hZu9IgU2i6OC1kbcBhI_BscE69CayHg= +text: | + In this document, this is used as an alternate term for directive. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TARGET.yml b/spec/glos/term/RTEMS-GLOS-TERM-TARGET.yml new file mode 100644 index 00000000..d2320a6c --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TARGET.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: target +glossary-type: term +header: '' +level: 1.165 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: g8QDTY0L5OdzYcClld0SHvXj-5sqj1DAoMJmL9tnL68= +text: | + The system on which the application will ultimately execute. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TAS.yml b/spec/glos/term/RTEMS-GLOS-TERM-TAS.yml new file mode 100644 index 00000000..478f52f5 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TAS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: TAS +glossary-type: term +header: '' +level: 1.166 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: fFLRq-cWpgNA14T-3l7dVOB7um6_2xFZk3MQIbmSMeQ= +text: | + An acronym for Test-And-Set. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TASK.yml b/spec/glos/term/RTEMS-GLOS-TERM-TASK.yml new file mode 100644 index 00000000..4839f166 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TASK.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: task +glossary-type: term +header: '' +level: 1.167 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 1TMV-MCdRpV9SdqdxVGjNZdVuj4JJ37wNmtMqOzK4pM= +text: | + A logically complete thread of execution. It consists normally of a set + of registers and a stack. The scheduler assigns processors to a subset + of the ready tasks. The terms task and thread are synonym in RTEMS. The + term task is used throughout the Classic API, however, internally in the + operating system implementation and the POSIX API the term thread is + used. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TASKCONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-TASKCONTROLBLOCK.yml new file mode 100644 index 00000000..50f8e876 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TASKCONTROLBLOCK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Task Control Block +glossary-type: term +header: '' +level: 1.168 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: zxZkOBm5wb___0e-BRm5lO0sV9r79pafzutCrRDcREk= +text: | + A data structure associated with each task used by RTEMS to manage that + task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TASKMIGRATION.yml b/spec/glos/term/RTEMS-GLOS-TERM-TASKMIGRATION.yml new file mode 100644 index 00000000..01ac5e39 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TASKMIGRATION.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: task migration +glossary-type: term +header: '' +level: 1.169 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: twsbaAprAsYJU1wXQ80YsKey8UrJRJyZcVfYpgXu3gE= +text: | + Task migration happens in case a task stops execution on one processor + and resumes execution on another processor. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TASKPROCESSORAFFINITY.yml b/spec/glos/term/RTEMS-GLOS-TERM-TASKPROCESSORAFFINITY.yml new file mode 100644 index 00000000..1c7565eb --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TASKPROCESSORAFFINITY.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: task processor affinity +glossary-type: term +header: '' +level: '1.170' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: cqaP_wrRNhCp0jFW70ex2xUAkXup34o0tOIDuRmgvU4= +text: | + The set of processors on which a task is allowed to execute. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TASKSWITCH.yml b/spec/glos/term/RTEMS-GLOS-TERM-TASKSWITCH.yml new file mode 100644 index 00000000..6a8c37ef --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TASKSWITCH.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: task switch +glossary-type: term +header: '' +level: 1.171 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: NSqhUmurzeXDMJWWsgO9dGqU9ipKQsHcEOslOvbnFsc= +text: | + Alternate terminology for context switch. Taking control of the + processor from one task and given to another. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-TCB.yml new file mode 100644 index 00000000..008ccf4c --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: TCB +glossary-type: term +header: '' +level: 1.172 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: KJcc81zY_4KUf8oXIu-oJZ5DRMiFc9DoDsmhl9PZxac= +text: | + An acronym for @term{RTEMS-GLOS-TERM-TASKCONTROLBLOCK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-THREAD.yml b/spec/glos/term/RTEMS-GLOS-TERM-THREAD.yml new file mode 100644 index 00000000..1a37ef22 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-THREAD.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: thread +glossary-type: term +header: '' +level: 1.173 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: HVGjvef_VLzPN4Vuq-OMlZKctriIZ6m_XA1NuP0V3IA= +text: | + This term has the same meaning as @term{RTEMS-GLOS-TERM-TASK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-THREADDISPATCH.yml b/spec/glos/term/RTEMS-GLOS-TERM-THREADDISPATCH.yml new file mode 100644 index 00000000..11a8cba2 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-THREADDISPATCH.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: thread dispatch +glossary-type: term +header: '' +level: 1.174 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: XMXXZ33VhTJdh9_ovSD81kShR7qJlkV21Tsu3ar8MV8= +text: | + The thread dispatch transfers control of the processor from the currently + executing thread to the heir thread of the processor. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TICK.yml b/spec/glos/term/RTEMS-GLOS-TERM-TICK.yml new file mode 100644 index 00000000..13c031bf --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TICK.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: tick +glossary-type: term +header: '' +level: 1.175 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 3SjP3ATr0YiZR1USHmviQMECypFLe9Mh4OHt8DVNPc4= +text: | + The basic unit of time used by RTEMS. It is a user-configurable number + of microseconds. The current tick expires when a clock tick directive is + invoked. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TIGHTLYCOUPLED.yml b/spec/glos/term/RTEMS-GLOS-TERM-TIGHTLYCOUPLED.yml new file mode 100644 index 00000000..387002d1 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TIGHTLYCOUPLED.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: tightly-coupled +glossary-type: term +header: '' +level: 1.176 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: XI6LSwcMRAFpPuSxto2vA_Fie8fESg1e4IsVo-cbP-A= +text: | + A multiprocessor configuration system which communicates via shared + memory. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TIMEOUT.yml b/spec/glos/term/RTEMS-GLOS-TERM-TIMEOUT.yml new file mode 100644 index 00000000..3b2a358c --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TIMEOUT.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: timeout +glossary-type: term +header: '' +level: 1.177 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: -jQth0zQoWOoByesbg5zc2gZXoe5YwjIOwrHU7Zckuw= +text: | + An argument provided to a number of directives which determines the + maximum length of time an application task is willing to wait to acquire + the resource if it is not immediately available. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TIMER.yml b/spec/glos/term/RTEMS-GLOS-TERM-TIMER.yml new file mode 100644 index 00000000..b8a68d64 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TIMER.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: timer +glossary-type: term +header: '' +level: 1.178 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: SRFKhA-kzViI1-5ucd4mUR-HmE28IEBXt0U1R2vvn4I= +text: | + An RTEMS object used to invoke subprograms at a later time. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TIMERCONTROLBLOCK.yml b/spec/glos/term/RTEMS-GLOS-TERM-TIMERCONTROLBLOCK.yml new file mode 100644 index 00000000..db05e7dd --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TIMERCONTROLBLOCK.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: Timer Control Block +glossary-type: term +header: '' +level: 1.179 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: ZGRMQsXl1rJl6OEwsRDGtODxn2RqI7pRrnHX4jK1Zcc= +text: | + A data structure associated with each timer used by RTEMS to manage that + timer. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TIMESLICE.yml b/spec/glos/term/RTEMS-GLOS-TERM-TIMESLICE.yml new file mode 100644 index 00000000..b3778542 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TIMESLICE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: timeslice +glossary-type: term +header: '' +level: '1.180' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: Uoz6HmQVnVK5xB5Hkm4EMeHztuh7qkjKTU7D-1VGJUU= +text: | + The application defined unit of time in which the processor is allocated. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TIMESLICING.yml b/spec/glos/term/RTEMS-GLOS-TERM-TIMESLICING.yml new file mode 100644 index 00000000..d414b3b1 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TIMESLICING.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: timeslicing +glossary-type: term +header: '' +level: 1.181 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: JhHhAFVlGo24GNJDYewC5qCcxs-aSSoHL_XAlYmBrTA= +text: | + A task scheduling discipline in which tasks of equal priority are + executed for a specific period of time before being preempted by another + task. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TLS.yml b/spec/glos/term/RTEMS-GLOS-TERM-TLS.yml new file mode 100644 index 00000000..ef6bdd77 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TLS.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: TLS +glossary-type: term +header: '' +level: 1.182 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: OGoozGbg9rkm0JZv_a3RX-CKSsKwdXErrTvN5Cd6vO8= +text: | + An acronym for Thread-Local Storage :cite:`Drepper:2013:TLS`. TLS is + available in @term{RTEMS-GLOS-TERM-C11} and @term{RTEMS-GLOS-TERM-CXX11}. The support for TLS depends + on the CPU port :cite:`RTEMS:CPU`. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TMCB.yml b/spec/glos/term/RTEMS-GLOS-TERM-TMCB.yml new file mode 100644 index 00000000..b9f62a52 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TMCB.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: TMCB +glossary-type: term +header: '' +level: 1.183 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: aHAS8lhWEKSdoR42JlB34yOAXUuSFQ_HucT9jL-ulFU= +text: | + An acronym for @term{RTEMS-GLOS-TERM-TIMERCONTROLBLOCK}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TRANSIENTOVERLOAD.yml b/spec/glos/term/RTEMS-GLOS-TERM-TRANSIENTOVERLOAD.yml new file mode 100644 index 00000000..f822a089 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TRANSIENTOVERLOAD.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: transient overload +glossary-type: term +header: '' +level: 1.184 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 9h2-ve3p2MSBvok-gxr074jlMl4u4IJdXafUI5F9ZIE= +text: | + A temporary rise in system activity which may cause deadlines to be + missed. Rate Monotonic Scheduling can be used to determine if all + deadlines will be met under transient overload. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-TTAS.yml b/spec/glos/term/RTEMS-GLOS-TERM-TTAS.yml new file mode 100644 index 00000000..66a7f46b --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-TTAS.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: TTAS +glossary-type: term +header: '' +level: 1.185 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: fVnxRO5QoF9Cn5eoPDtMmZBtB7o1LHK-3Q9ccZ9yo6U= +text: | + An acronym for Test and Test-And-Set. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONS.yml b/spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONS.yml new file mode 100644 index 00000000..a2aa3346 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONS.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: user extensions +glossary-type: term +header: '' +level: 1.187 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: E8ujg4N2RYxx8PvCaVWhPCiBQVTrpxO1XigcFJwMMuY= +text: | + Software routines provided by the application to enhance the + functionality of RTEMS. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONTABLE.yml b/spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONTABLE.yml new file mode 100644 index 00000000..f7a771a8 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONTABLE.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: User Extension Table +glossary-type: term +header: '' +level: 1.186 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 8aATM1Ay_UIQNL2leHzpXX2DZ1eNsDEfrlinYiTtAtY= +text: | + A table which contains the entry points for each user extensions. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-USERINITIALIZATIONTASKSTABLE.yml b/spec/glos/term/RTEMS-GLOS-TERM-USERINITIALIZATIONTASKSTABLE.yml new file mode 100644 index 00000000..79cdb9ee --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-USERINITIALIZATIONTASKSTABLE.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: User Initialization Tasks Table +glossary-type: term +header: '' +level: 1.188 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: n427V3elkpcrIIFGzgrLW3ciDKU-VSIdJM-reZJpNmQ= +text: | + A table which contains the information needed to create and start each of + the user initialization tasks. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-USERPROVIDED.yml b/spec/glos/term/RTEMS-GLOS-TERM-USERPROVIDED.yml new file mode 100644 index 00000000..f9a99b5d --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-USERPROVIDED.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: user-provided +glossary-type: term +header: '' +level: 1.189 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: fB3a-5RwzlxEpGrfPVeh5WqOjupqD2AQQxlc-q_IHhY= +text: | + These terms are used to designate any software routines which must be + written by the application designer. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-USERSUPPLIED.yml b/spec/glos/term/RTEMS-GLOS-TERM-USERSUPPLIED.yml new file mode 100644 index 00000000..74ea5536 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-USERSUPPLIED.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: user-supplied +glossary-type: term +header: '' +level: '1.190' +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: UzucTkZJhq1KaxVGSEs88dD_jDIg2xdE3XjfhdMGPK0= +text: | + This term has the same meaning as @term{RTEMS-GLOS-TERM-USERPROVIDED}. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-VECTOR.yml b/spec/glos/term/RTEMS-GLOS-TERM-VECTOR.yml new file mode 100644 index 00000000..c5f6e9e2 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-VECTOR.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: vector +glossary-type: term +header: '' +level: 1.191 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 9tG0TNsUD3uuhWg0USvahfT4J8vX-kTip1IO85zBmlc= +text: | + Memory pointers used by the processor to fetch the address of routines + which will handle various exceptions and interrupts. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-WAITQUEUE.yml b/spec/glos/term/RTEMS-GLOS-TERM-WAITQUEUE.yml new file mode 100644 index 00000000..e1994c73 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-WAITQUEUE.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: wait queue +glossary-type: term +header: '' +level: 1.192 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: f5FgTS6T1YbJyplM_Lvb22C-r-O2o7GJXm7Z6hoP1bg= +text: | + The list of tasks blocked pending the release of a particular resource. + Message queues, regions, and semaphores have a wait queue associated with + them. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-YAML.yml b/spec/glos/term/RTEMS-GLOS-TERM-YAML.yml new file mode 100644 index 00000000..2ed50fa3 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-YAML.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +derived: false +enabled-by: [] +glossary-term: YAML +glossary-type: term +header: '' +level: 1.204 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: bmHiiJJhY5aAXdW5bGIaD9NSxmy8QcZa6fnYv8xSO2Y= +text: | + An acronym for `YAML Ain't Markup Language <https://yaml.org/>`_. +type: glossary diff --git a/spec/glos/term/RTEMS-GLOS-TERM-YIELD.yml b/spec/glos/term/RTEMS-GLOS-TERM-YIELD.yml new file mode 100644 index 00000000..351ae6a9 --- /dev/null +++ b/spec/glos/term/RTEMS-GLOS-TERM-YIELD.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +active: true +copyrights: +- Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR) +derived: false +enabled-by: [] +glossary-term: yield +glossary-type: term +header: '' +level: 1.193 +links: +- RTEMS-GLOS-GENERAL: y-DGLwoqVNRBlzUau_mx_yR3iKlhE02h2mRxK7VkLQE= +normative: true +ref: '' +reviewed: 1CXLEVNvyiFnRyY_xCrc4QB6DiusiNVQPMVyBESPASQ= +text: | + When a task voluntarily releases control of the processor. +type: glossary diff --git a/tests/spec-glossary/RTEMS-GLOS-TERM-T.yml b/tests/spec-glossary/RTEMS-GLOS-TERM-T.yml new file mode 100644 index 00000000..ff882fd6 --- /dev/null +++ b/tests/spec-glossary/RTEMS-GLOS-TERM-T.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +glossary-term: T +glossary-type: term +links: +- g: null +text: | + Term text @@@term{RTEMS-GLOS-TERM-U}. +type: glossary diff --git a/tests/spec-glossary/RTEMS-GLOS-TERM-U.yml b/tests/spec-glossary/RTEMS-GLOS-TERM-U.yml new file mode 100644 index 00000000..84d116ee --- /dev/null +++ b/tests/spec-glossary/RTEMS-GLOS-TERM-U.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +glossary-term: U +glossary-type: term +links: +- g: null +text: | + Term text U. +type: glossary diff --git a/tests/spec-glossary/RTEMS-GLOS-TERM-V.yml b/tests/spec-glossary/RTEMS-GLOS-TERM-V.yml new file mode 100644 index 00000000..539b19b7 --- /dev/null +++ b/tests/spec-glossary/RTEMS-GLOS-TERM-V.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +glossary-term: V +glossary-type: term +links: +- g: null +text: | + Term text V. +type: glossary diff --git a/tests/spec-glossary/doc.rst b/tests/spec-glossary/doc.rst new file mode 100644 index 00000000..e07b9a35 --- /dev/null +++ b/tests/spec-glossary/doc.rst @@ -0,0 +1 @@ +:term:`T` diff --git a/tests/spec-glossary/g.yml b/tests/spec-glossary/g.yml new file mode 100644 index 00000000..1064ec8f --- /dev/null +++ b/tests/spec-glossary/g.yml @@ -0,0 +1,7 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +glossary-group: G +glossary-type: group +links: [] +type: glossary diff --git a/tests/spec-glossary/glossary.rst b/tests/spec-glossary/glossary.rst new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/spec-glossary/glossary.rst diff --git a/tests/spec-item-cache/.z.yml b/tests/spec-item-cache/.z.yml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/spec-item-cache/.z.yml diff --git a/tests/spec-item-cache/d/c.yml b/tests/spec-item-cache/d/c.yml new file mode 100644 index 00000000..fd0ebaf9 --- /dev/null +++ b/tests/spec-item-cache/d/c.yml @@ -0,0 +1,3 @@ +links: +- p: null +v: c diff --git a/tests/spec-item-cache/empty.txt b/tests/spec-item-cache/empty.txt new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/spec-item-cache/empty.txt diff --git a/tests/spec-item-cache/p.yml b/tests/spec-item-cache/p.yml new file mode 100644 index 00000000..9190432a --- /dev/null +++ b/tests/spec-item-cache/p.yml @@ -0,0 +1,2 @@ +links: [] +v: p diff --git a/tests/test_content.py b/tests/test_content.py new file mode 100644 index 00000000..de3221f3 --- /dev/null +++ b/tests/test_content.py @@ -0,0 +1,160 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" Unit tests for the rtemsqual.content module. """ + +# Copyright (C) 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import tempfile +import unittest + +from rtemsqual.content import Copyright +from rtemsqual.content import Copyrights +from rtemsqual.content import SphinxContent +from rtemsqual.content import MacroToSphinx +from rtemsqual.items import Item + + +class TestCopyright(unittest.TestCase): + def test_get_statement(self): + c = Copyright("John Doe") + self.assertEqual("Copyright (C) John Doe", c.get_statement()) + c.add_year("3") + self.assertEqual("Copyright (C) 3 John Doe", c.get_statement()) + c.add_year("3") + self.assertEqual("Copyright (C) 3 John Doe", c.get_statement()) + c.add_year("5") + self.assertEqual("Copyright (C) 3, 5 John Doe", c.get_statement()) + c.add_year("4") + self.assertEqual("Copyright (C) 3, 5 John Doe", c.get_statement()) + c.add_year("2") + self.assertEqual("Copyright (C) 2, 5 John Doe", c.get_statement()) + + def test_lt(self): + a = Copyright("A") + b = Copyright("B") + c = Copyright("C") + self.assertLess(b, a) + self.assertLess(c, a) + self.assertLess(c, b) + b.add_year("1") + self.assertLess(b, c) + a.add_year("2") + self.assertLess(a, b) + + +class TestCopyrights(unittest.TestCase): + def test_register(self): + c = Copyrights() + self.assertRaises(ValueError, c.register, "abc") + c.register("Copyright (C) A") + c.register("Copyright (C) 2 A") + c.register("Copyright (C) 2, 3 A") + c.register("Copyright (C) D") + c.register("Copyright (C) 1 D") + c.register("Copyright (C) 1, 4 D") + c.register("Copyright (C) C") + c.register("Copyright (C) 1 B") + s = c.get_statements() + self.assertEqual(4, len(s)) + self.assertEqual("Copyright (C) C", s[0]) + self.assertEqual("Copyright (C) 2, 3 A", s[1]) + self.assertEqual("Copyright (C) 1, 4 D", s[2]) + self.assertEqual("Copyright (C) 1 B", s[3]) + + +class TestSphinxContent(unittest.TestCase): + def test_add_label(self): + sc = SphinxContent() + sc.add_label("x") + self.assertEqual(".. _x:\n", sc.content) + + def test_add_header(self): + sc = SphinxContent() + sc.add_header("x") + self.assertEqual("x\n=\n", sc.content) + + def test_add_blank_line(self): + sc = SphinxContent() + sc.add_blank_line() + self.assertEqual("\n", sc.content) + + def test_add_line(self): + sc = SphinxContent() + sc.add_line("x") + self.assertEqual("x\n", sc.content) + sc.add_line("y", 1) + self.assertEqual("x\n y\n", sc.content) + sc.add_line("") + self.assertEqual("x\n y\n\n", sc.content) + + def test_add_index_entries(self): + sc = SphinxContent() + sc.add_index_entries(["x", "y"]) + self.assertEqual("\n.. index:: x\n.. index:: y\n", sc.content) + + def test_add_definition_item(self): + sc = SphinxContent() + sc.add_definition_item("x", ["y", "z"]) + self.assertEqual("\nx\n y\n z\n", sc.content) + + def test_license(self): + sc = SphinxContent() + self.assertRaises(ValueError, sc.register_license, "x") + sc.register_license("CC-BY-SA-4.0") + self.assertEqual("", sc.content) + sc.add_licence_and_copyrights() + self.assertEqual(".. SPDX-License-Identifier: CC-BY-SA-4.0\n\n", + sc.content) + + def test_license_and_copyrights(self): + sc = SphinxContent() + self.assertRaises(ValueError, sc.register_license, "x") + sc.register_copyright("Copyright (C) A") + self.assertEqual("", sc.content) + sc.add_licence_and_copyrights() + self.assertEqual( + ".. SPDX-License-Identifier: CC-BY-SA-4.0\n\n.. Copyright (C) A\n\n", + sc.content) + + def test_write(self): + sc = SphinxContent() + sc.add_line("x") + with tempfile.TemporaryDirectory() as tempdir: + path = tempdir + "/y/z" + sc.write(path) + with open(path, "r") as src: + self.assertEqual("x\n", src.read()) + + +class TestMacroToSphinx(unittest.TestCase): + def test_substitute(self): + macro_to_sphinx = MacroToSphinx() + data = {} + data["glossary-term"] = "y" + terms = {} + terms["x"] = Item("x", data) + macro_to_sphinx.set_terms(terms) + self.assertEqual("@", macro_to_sphinx.substitute("@@")) + self.assertEqual("@x", macro_to_sphinx.substitute("@x")) + self.assertRaises(KeyError, macro_to_sphinx.substitute, "@x{y}") + self.assertEqual(":term:`y`", macro_to_sphinx.substitute("@term{x}")) diff --git a/tests/test_glossary.py b/tests/test_glossary.py new file mode 100644 index 00000000..4db298e6 --- /dev/null +++ b/tests/test_glossary.py @@ -0,0 +1,98 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" Unit tests for the rtemsqual.glossary module. """ + +# Copyright (C) 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import os +import tempfile +import shutil +import unittest + +from rtemsqual.glossary import generate +from rtemsqual.items import ItemCache + + +class TestGlossary(unittest.TestCase): + def test_glossary(self): + with tempfile.TemporaryDirectory() as tempdir: + item_cache_config = {} + cache_file = tempdir + "/spec.pickle" + item_cache_config["cache-file"] = cache_file + spec_dir = tempdir + "/spec" + shutil.copytree( + os.path.dirname(__file__) + "/spec-glossary", spec_dir) + item_cache_config["paths"] = [spec_dir] + ic = ItemCache(item_cache_config) + + glossary_config = {} + glossary_config["project-groups"] = ["g"] + project_glossary = tempdir + "/project/glossary.rst" + glossary_config["project-target"] = project_glossary + doc = {} + doc["rest-source-paths"] = [tempdir] + document_glossary = tempdir + "/document/glossary.rst" + doc["target"] = document_glossary + glossary_config["documents"] = [doc] + generate(glossary_config, ic) + + with open(project_glossary, "r") as src: + content = ( + ".. SPDX-License-Identifier: CC-BY-SA-4.0\n" + "\n" + ".. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)\n" + "\n" + "Glossary\n" + "********\n" + "\n" + ".. glossary::\n" + " :sorted:\n" + "\n" + " T\n" + " Term text @:term:`U`.\n" + "\n" + " U\n" + " Term text U.\n" + "\n" + " V\n" + " Term text V.\n") + self.assertEqual(content, src.read()) + + with open(document_glossary, "r") as src: + content = ( + ".. SPDX-License-Identifier: CC-BY-SA-4.0\n" + "\n" + ".. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)\n" + "\n" + "Glossary\n" + "********\n" + "\n" + ".. glossary::\n" + " :sorted:\n" + "\n" + " T\n" + " Term text @:term:`U`.\n" + "\n" + " U\n" + " Term text U.\n") + self.assertEqual(content, src.read()) diff --git a/tests/test_items.py b/tests/test_items.py new file mode 100644 index 00000000..c0ae8030 --- /dev/null +++ b/tests/test_items.py @@ -0,0 +1,81 @@ +# SPDX-License-Identifier: BSD-2-Clause +""" Unit tests for the rtemsqual.items module. """ + +# Copyright (C) 2020 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 +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import os +import tempfile +import shutil +import unittest + +from rtemsqual.items import Item +from rtemsqual.items import ItemCache + + +class TestItem(unittest.TestCase): + def test_uid(self): + i = Item("x", {}) + self.assertEqual("x", i.uid) + + def test_getitem(self): + data = {} + data["x"] = "y" + i = Item("z", data) + self.assertEqual("y", i["x"]) + + def test_children(self): + c = Item("c", {}) + p = Item("p", {}) + p.add_child(c) + x = p.children + self.assertEqual(1, len(x)) + self.assertEqual(c, x[0]) + + +class TestItemCache(unittest.TestCase): + def test_config_error(self): + self.assertRaises(KeyError, ItemCache, {}) + + def test_load(self): + with tempfile.TemporaryDirectory() as tempdir: + config = {} + cache_file = tempdir + "/spec.pickle" + config["cache-file"] = cache_file + spec_dir = tempdir + "/spec" + shutil.copytree( + os.path.dirname(__file__) + "/spec-item-cache", spec_dir) + config["paths"] = [spec_dir] + ic = ItemCache(config) + self.assertTrue(os.path.exists(cache_file)) + self.assertEqual("c", ic["c"]["v"]) + self.assertEqual("p", ic["p"]["v"]) + t = ic.top_level + self.assertEqual(1, len(t)) + self.assertEqual("p", t["p"]["v"]) + ic2 = ItemCache(config) + self.assertEqual("c", ic2["c"]["v"]) + with open(tempdir + "/spec/d/c.yml", "w+") as out: + out.write("links:\n- p: null\nv: x\n") + ic3 = ItemCache(config) + self.assertEqual("x", ic3["c"]["v"]) |