summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-25 13:54:17 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-03-02 15:21:13 +0100
commitc0ac12a4b8c572caaa5034c3926ed0549fb6fbee (patch)
treebad000b1835723fda40a5f7c3d8c87e1df044408
downloadrtems-central-c0ac12a4b8c572caaa5034c3926ed0549fb6fbee.tar.bz2
Initial import
-rw-r--r--.gitignore5
-rw-r--r--.gitmodules6
-rw-r--r--Makefile20
-rw-r--r--README.md156
-rw-r--r--config.ini12
m---------external/rtems0
m---------external/rtems-docs0
-rw-r--r--requirements.txt28
-rwxr-xr-xrtems_spec_to_x.py43
-rw-r--r--rtemsqual/__init__.py31
-rw-r--r--rtemsqual/applconfig.py59
-rw-r--r--rtemsqual/content.py225
-rw-r--r--rtemsqual/glossary.py137
-rw-r--r--rtemsqual/items.py154
-rw-r--r--spec/.doorstop.yml4
-rw-r--r--spec/RTEMS-GLOSSARY.yml13
-rw-r--r--spec/glos/.doorstop.yml15
-rw-r--r--spec/glos/RTEMS-GLOS-GENERAL.yml18
-rw-r--r--spec/glos/term/.doorstop.yml16
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ABI.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ACTIVE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-APERIODICTASK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-API.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-APPLICATION.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ASR.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ASYNCHRONOUSSIGNALROUTINE.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ATOMICOPERATIONS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-AWAKENED.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BIGENDIAN.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BITMAPPED.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BLOCK.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BLOCKEDTASK.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BOARDSUPPORTPACKAGE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BROADCAST.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BSP.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-BUFFER.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-C11.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CALLINGCONVENTION.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CENTRALPROCESSINGUNIT.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CHAIN.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CLUSTER.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-COALESCE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CONFIGURATIONTABLE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CONTEXT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CONTEXTSWITCH.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CONTROLBLOCK.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CORE.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CPU.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CRITICALSECTION.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CRT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-CXX11.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DEADLINE.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DEVICE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVER.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DEVICEDRIVERTABLE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DIRECTIVES.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DISPATCH.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DOORSTOP.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DORMANT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-DUALPORTED.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EARS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EMBEDDED.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ENTRYPOINT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ENVELOPE.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ERRORCODE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EVENTS.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EXCEPTION.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EXECUTINGTASK.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EXECUTIVE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EXPORTED.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-EXTERNALADDRESS.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-FIFO.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-FIRSTINFIRSTOUT.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-FLOATINGPOINTCOPROCESSOR.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-FREED.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-GCC.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-GLOBAL.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-GNAT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-GNU.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-HANDLER.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-HARDREALTIMESYSTEM.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-HEAP.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-HEIRTASK.yml22
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-HETEROGENEOUS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-HOMOGENEOUS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ID.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-IDLETASK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-INTERFACE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-INTERNALADDRESS.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-INTERRUPT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTLEVEL.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-INTERRUPTSERVICEROUTINE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-IO.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ISR.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ISVV.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-KERNEL.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-LIST.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-LITTLEENDIAN.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-LOCAL.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-LOCALOPERATION.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-LOGICALADDRESS.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-LOOSELYCOUPLED.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MAJORNUMBER.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MANAGER.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MCS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MEMORYPOOL.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MESSAGE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MESSAGEBUFFER.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MESSAGEQUEUECONTROLBLOCK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MINORNUMBER.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MODE.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MPCI.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSING.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSOR.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCOMMUNICATIONSINTERFACELAYER.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MULTIPROCESSORCONFIGURATIONTABLE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MULTITASKING.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-MUTUALEXCLUSION.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-NESTED.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-NODE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-NONEXISTENT.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-NUMA.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-NUMERICCOPROCESSOR.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-OBJECT.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-OBJECTORIENTED.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-OPERATINGSYSTEM.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-OVERHEAD.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PACKET.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PARTITION.yml24
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PARTITIONCONTROLBLOCK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PENDING.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PERIODICTASK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PHYSICALADDRESS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-POLL.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-POOL.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PORTABILITY.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-POSTING.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PREEMPT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PRIORITY.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PRIORITYBOOSTING.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINHERITANCE.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PRIORITYINVERSION.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PROCESSORUTILIZATION.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PROXY.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PROXYCONTROLBLOCK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PTCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-PXCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-QCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-QUANTUM.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-QUEUE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-READYTASK.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REALTIME.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REENTRANT.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REGION.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REGIONCONTROLBLOCK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REGISTERS.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REMOTE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REMOTEOPERATION.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-REQIF.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RESOURCE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RESUME.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RETURNCODE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RETURNVALUE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RNCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-ROUNDROBIN.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RS232.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RTEMS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-RUNNING.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SCHEDULABLE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SCHEDULE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SCHEDULEDTASK.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SCHEDULER.yml23
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SCHEDULERINSTANCE.yml22
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SEGMENTS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SEMAPHORECONTROLBLOCK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SHAREDMEMORY.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SIGNAL.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SIGNALSET.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SMCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SMP.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SMPBARRIERS.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SMPLOCKS.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SOFTREALTIMESYSTEM.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREITEM.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SOFTWAREPRODUCT.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SOURCECODE.yml22
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SPORADICTASK.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-STACK.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-STATUSCODE.yml21
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SUSPEND.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SYNCHRONOUS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-SYSTEMCALL.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TARGET.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TAS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TASK.yml24
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TASKCONTROLBLOCK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TASKMIGRATION.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TASKPROCESSORAFFINITY.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TASKSWITCH.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-THREAD.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-THREADDISPATCH.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TICK.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TIGHTLYCOUPLED.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TIMEOUT.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TIMER.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TIMERCONTROLBLOCK.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TIMESLICE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TIMESLICING.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TLS.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TMCB.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TRANSIENTOVERLOAD.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-TTAS.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONS.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-USEREXTENSIONTABLE.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-USERINITIALIZATIONTASKSTABLE.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-USERPROVIDED.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-USERSUPPLIED.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-VECTOR.yml19
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-WAITQUEUE.yml20
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-YAML.yml18
-rw-r--r--spec/glos/term/RTEMS-GLOS-TERM-YIELD.yml18
-rw-r--r--tests/spec-glossary/RTEMS-GLOS-TERM-T.yml10
-rw-r--r--tests/spec-glossary/RTEMS-GLOS-TERM-U.yml10
-rw-r--r--tests/spec-glossary/RTEMS-GLOS-TERM-V.yml10
-rw-r--r--tests/spec-glossary/doc.rst1
-rw-r--r--tests/spec-glossary/g.yml7
-rw-r--r--tests/spec-glossary/glossary.rst0
-rw-r--r--tests/spec-item-cache/.z.yml0
-rw-r--r--tests/spec-item-cache/d/c.yml3
-rw-r--r--tests/spec-item-cache/empty.txt0
-rw-r--r--tests/spec-item-cache/p.yml2
-rw-r--r--tests/test_content.py160
-rw-r--r--tests/test_glossary.py98
-rw-r--r--tests/test_items.py81
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"])