summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rtemsspec/applconfig.py107
-rw-r--r--rtemsspec/sphinxcontent.py2
-rw-r--r--rtemsspec/tests/spec-applconfig/a.yml8
-rw-r--r--rtemsspec/tests/spec-applconfig/unspec-func.yml11
-rw-r--r--rtemsspec/tests/spec-applconfig/unspec-group-2.yml9
-rw-r--r--rtemsspec/tests/spec-applconfig/unspec-group-3.yml10
-rw-r--r--rtemsspec/tests/spec-applconfig/unspec-group.yml11
-rw-r--r--rtemsspec/tests/spec/interface-more.yml4
-rw-r--r--rtemsspec/tests/test_applconfig.py18
-rw-r--r--spec/acfg/if/group-schedgeneral.yml6
-rw-r--r--spec/acfg/if/max-barriers.yml2
-rw-r--r--spec/acfg/if/max-message-queues.yml2
-rw-r--r--spec/acfg/if/max-partitions.yml2
-rw-r--r--spec/acfg/if/max-periods.yml2
-rw-r--r--spec/acfg/if/max-ports.yml2
-rw-r--r--spec/acfg/if/max-posix-key-value-pairs.yml2
-rw-r--r--spec/acfg/if/max-posix-keys.yml2
-rw-r--r--spec/acfg/if/max-posix-message-queues.yml2
-rw-r--r--spec/acfg/if/max-posix-semaphores.yml2
-rw-r--r--spec/acfg/if/max-posix-shms.yml2
-rw-r--r--spec/acfg/if/max-posix-threads.yml2
-rw-r--r--spec/acfg/if/max-posix-timers.yml2
-rw-r--r--spec/acfg/if/max-priority.yml6
-rw-r--r--spec/acfg/if/max-regions.yml2
-rw-r--r--spec/acfg/if/max-semaphores.yml6
-rw-r--r--spec/acfg/if/max-tasks.yml2
-rw-r--r--spec/acfg/if/max-timers.yml2
-rw-r--r--spec/acfg/if/mp-max-proxies.yml2
-rw-r--r--spec/acfg/if/record-fatal-dump-base64-zlib.yml2
-rw-r--r--spec/acfg/if/record-fatal-dump-base64.yml2
-rw-r--r--spec/acfg/if/scheduler-cbs.yml2
-rw-r--r--spec/acfg/if/scheduler-edf-smp.yml2
-rw-r--r--spec/acfg/if/scheduler-edf.yml2
-rw-r--r--spec/acfg/if/scheduler-name.yml16
-rw-r--r--spec/acfg/if/scheduler-priority-affinity-smp.yml2
-rw-r--r--spec/acfg/if/scheduler-priority-smp.yml2
-rw-r--r--spec/acfg/if/scheduler-priority.yml2
-rw-r--r--spec/acfg/if/scheduler-simple-smp.yml2
-rw-r--r--spec/acfg/if/scheduler-simple.yml2
-rw-r--r--spec/acfg/if/unified-work-areas.yml2
-rw-r--r--spec/acfg/if/unlimited-allocation-size.yml2
-rw-r--r--spec/acfg/req/scheduler-cbs.yml2
-rw-r--r--spec/acfg/req/scheduler-edf-smp.yml2
-rw-r--r--spec/acfg/req/scheduler-edf.yml2
-rw-r--r--spec/acfg/req/scheduler-priority-affinity-smp.yml2
-rw-r--r--spec/acfg/req/scheduler-priority-smp.yml2
-rw-r--r--spec/acfg/req/scheduler-priority.yml2
-rw-r--r--spec/acfg/req/scheduler-simple-smp.yml2
-rw-r--r--spec/acfg/req/scheduler-simple.yml2
-rw-r--r--spec/doc/if/config-scheduler-table.yml12
-rw-r--r--spec/doc/if/config-unlimited-objects.yml12
-rw-r--r--spec/doc/if/mp-proxies.yml12
-rw-r--r--spec/doc/if/mrsp.yml12
-rw-r--r--spec/doc/if/scheduler-cbs.yml12
-rw-r--r--spec/doc/if/scheduler-concepts.yml12
-rw-r--r--spec/doc/if/scheduler-edf.yml12
-rw-r--r--spec/doc/if/scheduler-priority-simple.yml12
-rw-r--r--spec/doc/if/scheduler-priority.yml12
-rw-r--r--spec/doc/if/scheduler-smp-edf.yml12
-rw-r--r--spec/doc/if/scheduler-smp-priority-affinity.yml12
-rw-r--r--spec/doc/if/scheduler-smp-priority-simple.yml12
-rw-r--r--spec/doc/if/scheduler-smp-priority.yml12
-rw-r--r--spec/doc/if/terminate.yml12
63 files changed, 298 insertions, 156 deletions
diff --git a/rtemsspec/applconfig.py b/rtemsspec/applconfig.py
index 98b6ab74..fde61ffa 100644
--- a/rtemsspec/applconfig.py
+++ b/rtemsspec/applconfig.py
@@ -257,109 +257,23 @@ def _generate(group: Item, options: ItemMap, content: _ContentAdaptor) -> None:
content.add_licence_and_copyrights()
-def _sphinx_ref(ref: str) -> str:
- return f":ref:`{ref}`"
-
-
-_SPHINX_DOC_REFS = {
- "config-scheduler-table": _sphinx_ref("ConfigurationSchedulerTable"),
- "config-unlimited-objects": _sphinx_ref("ConfigUnlimitedObjects"),
- "mp-proxies": _sphinx_ref("MPCIProxies"),
- "mrsp": _sphinx_ref("MrsP"),
- "scheduler-cbs": _sphinx_ref("SchedulerCBS"),
- "scheduler-concepts": _sphinx_ref("RTEMSAPIClassicScheduler"),
- "scheduler-edf": _sphinx_ref("SchedulerEDF"),
- "scheduler-priority": _sphinx_ref("SchedulerPriority"),
- "scheduler-priority-simple": _sphinx_ref("SchedulerPrioritySimple"),
- "scheduler-smp-edf": _sphinx_ref("SchedulerSMPEDF"),
- "scheduler-smp-priority-affinity":
- _sphinx_ref("SchedulerSMPPriorityAffinity"),
- "scheduler-smp-priority": _sphinx_ref("SchedulerSMPPriority"),
- "scheduler-smp-priority-simple": _sphinx_ref("SchedulerSMPPrioritySimple"),
- "terminate": _sphinx_ref("Terminate"),
-}
-
-
-def _get_value_sphinx_reference(_ctx: ItemGetValueContext) -> Any:
- return _SPHINX_DOC_REFS
-
-
-def _add_sphinx_get_values(mapper: ItemMapper) -> None:
- for opt in ["feature-enable", "feature", "initializer", "integer"]:
- doc_ref = f"interface/appl-config-option/{opt}:/document-reference"
- mapper.add_get_value(doc_ref, _get_value_sphinx_reference)
-
-
-def _c_user_ref(ref: str, name: str) -> str:
- c_user = "https://docs.rtems.org/branches/master/c-user/"
- return f"<a href={c_user}{ref}>{name}</a>"
-
-
-_DOXYGEN_DOC_REFS = {
- "config-scheduler-table":
- _c_user_ref(
- "config/scheduler-clustered.html#configuration-step-3-scheduler-table",
- "Configuration Step 3 - Scheduler Table"),
- "config-unlimited-objects":
- _c_user_ref("config/intro.html#unlimited-objects", "Unlimited Objects"),
- "mp-proxies":
- _c_user_ref("multiprocessing.html#proxies", "Proxies"),
- "mrsp":
- _c_user_ref(
- "key_concepts.html#multiprocessor-resource-sharing-protocol-mrsp",
- "Multiprocessor Resource Sharing Protocol (MrsP)"),
- "scheduler-cbs":
- _c_user_ref(
- "scheduling_concepts.html#constant-bandwidth-server-scheduling-cbs",
- "Constant Bandwidth Server Scheduling (CBS)"),
- "scheduler-concepts":
- _c_user_ref("scheduling_concepts.html", "Scheduling Concepts"),
- "scheduler-edf":
- _c_user_ref("scheduling_concepts.html#earliest-deadline-first-scheduler",
- "Earliest Deadline First Scheduler"),
- "scheduler-priority":
- _c_user_ref("scheduling_concepts.html#deterministic-priority-scheduler",
- "Deterministic Priority Scheduler"),
- "scheduler-priority-simple":
- _c_user_ref("scheduling_concepts.html#simple-priority-scheduler",
- "Simple Priority Scheduler"),
- "scheduler-smp-edf":
- _c_user_ref(
- "scheduling_concepts.html#earliest-deadline-first-smp-scheduler",
- "Earliest Deadline First SMP Scheduler"),
- "scheduler-smp-priority-affinity":
- _c_user_ref(
- "scheduling_concepts.html"
- "#arbitrary-processor-affinity-priority-smp-scheduler",
- "Arbitrary Processor Affinity Priority SMP Scheduler"),
- "scheduler-smp-priority":
- _c_user_ref(
- "scheduling_concepts.html#deterministic-priority-smp-scheduler",
- "Deterministic Priority SMP Scheduler"),
- "scheduler-smp-priority-simple":
- _c_user_ref("scheduling_concepts.html#simple-priority-smp-scheduler",
- "Simple Priority SMP Scheduler"),
- "terminate":
- _c_user_ref("fatal_error.html#announcing-a-fatal-error",
- "Announcing a Fatal Error"),
-}
-
-
-def _get_value_doxygen_reference(_ctx: ItemGetValueContext) -> Any:
- return _DOXYGEN_DOC_REFS
-
-
def _get_value_doxygen_url(ctx: ItemGetValueContext) -> Any:
url = ctx.item["references"]["url"]
return f"<a href=\"{url}\">{ctx.value[ctx.key]}</a>"
-def _get_value_doxygen_unspecfied_define(ctx: ItemGetValueContext) -> Any:
+def _get_value_doxygen_unspecified_define(ctx: ItemGetValueContext) -> Any:
if "url" in ctx.item["references"]:
return _get_value_doxygen_url(ctx)
return get_value_hash(ctx)
+def _get_value_doxygen_unspecified_group(ctx: ItemGetValueContext) -> Any:
+ if "url" in ctx.item["references"]:
+ return _get_value_doxygen_url(ctx)
+ return ctx.value[ctx.key]
+
+
def _get_value_doxygen_unspecfied_type(ctx: ItemGetValueContext) -> Any:
if "url" in ctx.item["references"]:
return _get_value_doxygen_url(ctx)
@@ -368,8 +282,6 @@ def _get_value_doxygen_unspecfied_type(ctx: ItemGetValueContext) -> Any:
def _add_doxygen_get_values(mapper: ItemMapper) -> None:
for opt in ["feature-enable", "feature", "initializer", "integer"]:
- doc_ref = f"interface/appl-config-option/{opt}:/document-reference"
- mapper.add_get_value(doc_ref, _get_value_doxygen_reference)
name = f"interface/appl-config-option/{opt}:/name"
mapper.add_get_value(name, get_value_hash)
mapper.add_get_value("interface/define:/name", get_value_hash)
@@ -381,9 +293,11 @@ def _add_doxygen_get_values(mapper: ItemMapper) -> None:
mapper.add_get_value("interface/typedef:/name", get_value_double_colon)
mapper.add_get_value("interface/union:/name", get_value_double_colon)
mapper.add_get_value("interface/unspecified-define:/name",
- _get_value_doxygen_unspecfied_define)
+ _get_value_doxygen_unspecified_define)
mapper.add_get_value("interface/unspecified-function:/name",
get_value_doxygen_function)
+ mapper.add_get_value("interface/unspecified-group:/name",
+ _get_value_doxygen_unspecified_group)
mapper.add_get_value("interface/unspecified-type:/name",
_get_value_doxygen_unspecfied_type)
@@ -398,7 +312,6 @@ def generate(config: dict, item_cache: ItemCache) -> None:
configuration groups and options.
"""
sphinx_mapper = SphinxInterfaceMapper(EmptyItem())
- _add_sphinx_get_values(sphinx_mapper)
doxygen_mapper = ItemMapper(EmptyItem())
_add_doxygen_get_values(doxygen_mapper)
doxygen_content = _DoxygenContentAdaptor(doxygen_mapper)
diff --git a/rtemsspec/sphinxcontent.py b/rtemsspec/sphinxcontent.py
index 7b6a257d..5e530ff3 100644
--- a/rtemsspec/sphinxcontent.py
+++ b/rtemsspec/sphinxcontent.py
@@ -253,7 +253,7 @@ def _get_value_sphinx_unspecified_group(ctx: ItemGetValueContext) -> Any:
return f":ref:`{ctx.item['references']['c-user']}`"
if "url" in ctx.item["references"]:
url = ctx.item["references"]["url"]
- return f"`{ctx.value[ctx.key]}{postfix} <{url}>`_"
+ return f"`{ctx.value[ctx.key]} <{url}>`_"
return ctx.value[ctx.key]
diff --git a/rtemsspec/tests/spec-applconfig/a.yml b/rtemsspec/tests/spec-applconfig/a.yml
index 6cbd2668..57a7b903 100644
--- a/rtemsspec/tests/spec-applconfig/a.yml
+++ b/rtemsspec/tests/spec-applconfig/a.yml
@@ -11,7 +11,13 @@ notes: |
* ${b:/name}
- * ${.:/document-reference/terminate}
+ * ${unspec-group:/name}
+
+ * ${unspec-group-2:/name}
+
+ * ${unspec-group-3:/name}
+
+ * ${unspec-func:/name}
* ${func:/name}
diff --git a/rtemsspec/tests/spec-applconfig/unspec-func.yml b/rtemsspec/tests/spec-applconfig/unspec-func.yml
new file mode 100644
index 00000000..24cc7148
--- /dev/null
+++ b/rtemsspec/tests/spec-applconfig/unspec-func.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: unspecified-function
+links: []
+name: unspec_func
+references:
+ c-user: SphinxRefUnspecFunc
+ url: unspec-func.html
+type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-group-2.yml b/rtemsspec/tests/spec-applconfig/unspec-group-2.yml
new file mode 100644
index 00000000..106ad3e7
--- /dev/null
+++ b/rtemsspec/tests/spec-applconfig/unspec-group-2.yml
@@ -0,0 +1,9 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: unspecified-group
+links: []
+name: Unspec Group 2
+references: []
+type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-group-3.yml b/rtemsspec/tests/spec-applconfig/unspec-group-3.yml
new file mode 100644
index 00000000..f84af54e
--- /dev/null
+++ b/rtemsspec/tests/spec-applconfig/unspec-group-3.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: unspecified-group
+links: []
+name: Unspec Group 3
+references:
+ url: unspec-group-3.html
+type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-group.yml b/rtemsspec/tests/spec-applconfig/unspec-group.yml
new file mode 100644
index 00000000..b9f48595
--- /dev/null
+++ b/rtemsspec/tests/spec-applconfig/unspec-group.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: unspecified-group
+links: []
+name: Unspec Group
+references:
+ c-user: SphinxRefUnspecGroup
+ url: unspec-group.html
+type: interface
diff --git a/rtemsspec/tests/spec/interface-more.yml b/rtemsspec/tests/spec/interface-more.yml
index 237232bf..9c7917ec 100644
--- a/rtemsspec/tests/spec/interface-more.yml
+++ b/rtemsspec/tests/spec/interface-more.yml
@@ -75,6 +75,10 @@ links:
uid: interface
- role: spec-refinement
spec-key: interface-type
+ spec-value: unspecified-group
+ uid: interface
+- role: spec-refinement
+ spec-key: interface-type
spec-value: unspecified-type
uid: interface
- role: spec-refinement
diff --git a/rtemsspec/tests/test_applconfig.py b/rtemsspec/tests/test_applconfig.py
index f01410c3..c2ebd770 100644
--- a/rtemsspec/tests/test_applconfig.py
+++ b/rtemsspec/tests/test_applconfig.py
@@ -99,7 +99,13 @@ NOTES:
* :ref:`b`
- * :ref:`Terminate`
+ * :ref:`SphinxRefUnspecGroup`
+
+ * Unspec Group 2
+
+ * `Unspec Group 3 <unspec-group-3.html>`_
+
+ * :ref:`unspec_func() <SphinxRefUnspecFunc>`
* :c:func:`func`
@@ -452,9 +458,13 @@ NOTES:
*
* * #b
*
- * * <a
- * href=https://docs.rtems.org/branches/master/c-user/fatal_error.html#announcing-a-fatal-error>Announcing
- * a Fatal Error</a>
+ * * <a href="unspec-group.html">Unspec Group</a>
+ *
+ * * Unspec Group 2
+ *
+ * * <a href="unspec-group-3.html">Unspec Group 3</a>
+ *
+ * * unspec_func()
*
* * func()
*
diff --git a/spec/acfg/if/group-schedgeneral.yml b/spec/acfg/if/group-schedgeneral.yml
index 64f06e22..beb7a580 100644
--- a/spec/acfg/if/group-schedgeneral.yml
+++ b/spec/acfg/if/group-schedgeneral.yml
@@ -8,15 +8,15 @@ description: |
configuration does not need any of the configuration options described in this
section.
- By default, the ${.:/document-reference/scheduler-priority}
+ By default, the ${/doc/if/scheduler-priority:/name}
algorithm is used in uniprocessor configurations. In case SMP is enabled and
the configured maximum processors
(${max-processors:/name}) is greater
than one, then the
- ${.:/document-reference/scheduler-smp-edf}
+ ${/doc/if/scheduler-smp-edf:/name}
is selected as the default scheduler algorithm.
- For the schedulers provided by RTEMS (see ${.:/document-reference/scheduler-concepts}), the
+ For the schedulers provided by RTEMS (see ${/doc/if/scheduler-concepts:/name}), the
configuration is straightforward. All that is required is to define the
configuration option which specifies which scheduler you want for in your
application.
diff --git a/spec/acfg/if/max-barriers.yml b/spec/acfg/if/max-barriers.yml
index 58124291..1183a039 100644
--- a/spec/acfg/if/max-barriers.yml
+++ b/spec/acfg/if/max-barriers.yml
@@ -25,5 +25,5 @@ links:
name: CONFIGURE_MAXIMUM_BARRIERS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/max-message-queues.yml b/spec/acfg/if/max-message-queues.yml
index d396b078..153223df 100644
--- a/spec/acfg/if/max-message-queues.yml
+++ b/spec/acfg/if/max-message-queues.yml
@@ -25,7 +25,7 @@ links:
name: CONFIGURE_MAXIMUM_MESSAGE_QUEUES
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}. You have to account for the memory used to
+ ${/doc/if/config-unlimited-objects:/name}. You have to account for the memory used to
store the messages of each message queue, see
${message-buffer-memory:/name}.
type: interface
diff --git a/spec/acfg/if/max-partitions.yml b/spec/acfg/if/max-partitions.yml
index 57e464f4..c70018d3 100644
--- a/spec/acfg/if/max-partitions.yml
+++ b/spec/acfg/if/max-partitions.yml
@@ -25,5 +25,5 @@ links:
name: CONFIGURE_MAXIMUM_PARTITIONS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/max-periods.yml b/spec/acfg/if/max-periods.yml
index 39354c4f..621069be 100644
--- a/spec/acfg/if/max-periods.yml
+++ b/spec/acfg/if/max-periods.yml
@@ -25,5 +25,5 @@ links:
name: CONFIGURE_MAXIMUM_PERIODS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/max-ports.yml b/spec/acfg/if/max-ports.yml
index f70b135d..142d53dc 100644
--- a/spec/acfg/if/max-ports.yml
+++ b/spec/acfg/if/max-ports.yml
@@ -25,5 +25,5 @@ links:
name: CONFIGURE_MAXIMUM_PORTS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/max-posix-key-value-pairs.yml b/spec/acfg/if/max-posix-key-value-pairs.yml
index 263e4a34..89ee712c 100644
--- a/spec/acfg/if/max-posix-key-value-pairs.yml
+++ b/spec/acfg/if/max-posix-key-value-pairs.yml
@@ -29,7 +29,7 @@ links:
name: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
A key value pair is created by ${/c/if/pthread_setspecific:/name} if the value
is not ${/c/if/null:/name}, otherwise it is deleted.
diff --git a/spec/acfg/if/max-posix-keys.yml b/spec/acfg/if/max-posix-keys.yml
index 1051aaaf..6a6f9796 100644
--- a/spec/acfg/if/max-posix-keys.yml
+++ b/spec/acfg/if/max-posix-keys.yml
@@ -25,5 +25,5 @@ links:
name: CONFIGURE_MAXIMUM_POSIX_KEYS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/max-posix-message-queues.yml b/spec/acfg/if/max-posix-message-queues.yml
index c5a1e6a2..63fe62e4 100644
--- a/spec/acfg/if/max-posix-message-queues.yml
+++ b/spec/acfg/if/max-posix-message-queues.yml
@@ -27,7 +27,7 @@ links:
name: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}. You have to account for the memory used to
+ ${/doc/if/config-unlimited-objects:/name}. You have to account for the memory used to
store the messages of each message queue, see
${message-buffer-memory:/name}.
type: interface
diff --git a/spec/acfg/if/max-posix-semaphores.yml b/spec/acfg/if/max-posix-semaphores.yml
index 504dcee0..2a34c5df 100644
--- a/spec/acfg/if/max-posix-semaphores.yml
+++ b/spec/acfg/if/max-posix-semaphores.yml
@@ -27,7 +27,7 @@ links:
name: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
Named semaphores are created with ${/c/if/sem_open:/name}. Semaphores
initialized with ${/c/if/sem_init:/name} are not affected by this
diff --git a/spec/acfg/if/max-posix-shms.yml b/spec/acfg/if/max-posix-shms.yml
index 56e22c14..8463ecc5 100644
--- a/spec/acfg/if/max-posix-shms.yml
+++ b/spec/acfg/if/max-posix-shms.yml
@@ -27,5 +27,5 @@ links:
name: CONFIGURE_MAXIMUM_POSIX_SHMS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/max-posix-threads.yml b/spec/acfg/if/max-posix-threads.yml
index 814cb4c2..1f8a9eb2 100644
--- a/spec/acfg/if/max-posix-threads.yml
+++ b/spec/acfg/if/max-posix-threads.yml
@@ -25,7 +25,7 @@ links:
name: CONFIGURE_MAXIMUM_POSIX_THREADS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
This calculations for the required memory in the RTEMS Workspace for threads
assume that each thread has a minimum stack size and has floating point
diff --git a/spec/acfg/if/max-posix-timers.yml b/spec/acfg/if/max-posix-timers.yml
index 0ada8786..e55a371a 100644
--- a/spec/acfg/if/max-posix-timers.yml
+++ b/spec/acfg/if/max-posix-timers.yml
@@ -27,7 +27,7 @@ links:
name: CONFIGURE_MAXIMUM_POSIX_TIMERS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
Timers are only available if RTEMS was built with the
``--enable-posix`` build configuration option.
diff --git a/spec/acfg/if/max-priority.yml b/spec/acfg/if/max-priority.yml
index d6e553f1..cbb0cb29 100644
--- a/spec/acfg/if/max-priority.yml
+++ b/spec/acfg/if/max-priority.yml
@@ -6,14 +6,14 @@ default-value: 255
description: |
For the following schedulers
- * ${.:/document-reference/scheduler-priority}, which is the default in uniprocessor
+ * ${/doc/if/scheduler-priority:/name}, which is the default in uniprocessor
configurations and can be configured through the
${scheduler-priority:/name} configuration option,
- * ${.:/document-reference/scheduler-smp-priority} which can be configured through the
+ * ${/doc/if/scheduler-smp-priority:/name} which can be configured through the
${scheduler-priority-smp:/name} configuration option, and
- * ${.:/document-reference/scheduler-smp-priority-affinity} which can be configured through the
+ * ${/doc/if/scheduler-smp-priority-affinity:/name} which can be configured through the
${scheduler-priority-affinity-smp:/name} configuration option
this configuration option specifies the maximum numeric priority of any task
diff --git a/spec/acfg/if/max-regions.yml b/spec/acfg/if/max-regions.yml
index 686b9117..4b493c4a 100644
--- a/spec/acfg/if/max-regions.yml
+++ b/spec/acfg/if/max-regions.yml
@@ -25,5 +25,5 @@ links:
name: CONFIGURE_MAXIMUM_REGIONS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/max-semaphores.yml b/spec/acfg/if/max-semaphores.yml
index 6808d38d..54cf8d89 100644
--- a/spec/acfg/if/max-semaphores.yml
+++ b/spec/acfg/if/max-semaphores.yml
@@ -25,9 +25,9 @@ links:
name: CONFIGURE_MAXIMUM_SEMAPHORES
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
In SMP configurations, the size of a Semaphore Control Block depends on the
- scheduler count (see ${.:/document-reference/config-scheduler-table}). The semaphores
- using the ${.:/document-reference/mrsp} need a ceiling priority per scheduler.
+ scheduler count (see ${/doc/if/config-scheduler-table:/name}). The semaphores
+ using the ${/doc/if/mrsp:/name} need a ceiling priority per scheduler.
type: interface
diff --git a/spec/acfg/if/max-tasks.yml b/spec/acfg/if/max-tasks.yml
index 11f4413c..c3b416ed 100644
--- a/spec/acfg/if/max-tasks.yml
+++ b/spec/acfg/if/max-tasks.yml
@@ -27,7 +27,7 @@ links:
name: CONFIGURE_MAXIMUM_TASKS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
The calculations for the required memory in the RTEMS Workspace for tasks
assume that each task has a minimum stack size and has floating point
diff --git a/spec/acfg/if/max-timers.yml b/spec/acfg/if/max-timers.yml
index c6fc3745..ba0d6731 100644
--- a/spec/acfg/if/max-timers.yml
+++ b/spec/acfg/if/max-timers.yml
@@ -25,5 +25,5 @@ links:
name: CONFIGURE_MAXIMUM_TIMERS
notes: |
This object class can be configured in unlimited allocation mode, see
- ${.:/document-reference/config-unlimited-objects}.
+ ${/doc/if/config-unlimited-objects:/name}.
type: interface
diff --git a/spec/acfg/if/mp-max-proxies.yml b/spec/acfg/if/mp-max-proxies.yml
index ca06df53..002eb53c 100644
--- a/spec/acfg/if/mp-max-proxies.yml
+++ b/spec/acfg/if/mp-max-proxies.yml
@@ -24,7 +24,7 @@ notes: |
Since a proxy is used to represent a remote task/thread which is blocking
on this node. This configuration parameter reflects the maximum number of
remote tasks/threads which can be blocked on objects on this node, see
- ${.:/document-reference/mp-proxies}.
+ ${/doc/if/mp-proxies:/name}.
This configuration option is only evaluated if
${mp-appl:/name} is defined.
diff --git a/spec/acfg/if/record-fatal-dump-base64-zlib.yml b/spec/acfg/if/record-fatal-dump-base64-zlib.yml
index be943d7f..fb5eeeab 100644
--- a/spec/acfg/if/record-fatal-dump-base64-zlib.yml
+++ b/spec/acfg/if/record-fatal-dump-base64-zlib.yml
@@ -10,7 +10,7 @@ description: |
* and ${record-per-processor-items:/name} is properly defined,
then the event records are compressed by zlib and dumped in Base64 encoding
- in a fatal error extension (see ${.:/document-reference/terminate}).
+ in a fatal error extension (see ${/doc/if/terminate:/name}).
enabled-by: true
index-entries: []
interface-type: appl-config-option
diff --git a/spec/acfg/if/record-fatal-dump-base64.yml b/spec/acfg/if/record-fatal-dump-base64.yml
index cdc83485..a8744bc7 100644
--- a/spec/acfg/if/record-fatal-dump-base64.yml
+++ b/spec/acfg/if/record-fatal-dump-base64.yml
@@ -12,7 +12,7 @@ description: |
* and ${record-fatal-dump-base64-zlib:/name} is undefined,
then the event records are dumped in Base64 encoding in a fatal error
- extension (see ${.:/document-reference/terminate}).
+ extension (see ${/doc/if/terminate:/name}).
enabled-by: true
index-entries: []
interface-type: appl-config-option
diff --git a/spec/acfg/if/scheduler-cbs.yml b/spec/acfg/if/scheduler-cbs.yml
index 782b2fef..854884cb 100644
--- a/spec/acfg/if/scheduler-cbs.yml
+++ b/spec/acfg/if/scheduler-cbs.yml
@@ -4,7 +4,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-cbs}
+ ${/doc/if/scheduler-cbs:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/scheduler-edf-smp.yml b/spec/acfg/if/scheduler-edf-smp.yml
index 0423fe94..7191f76f 100644
--- a/spec/acfg/if/scheduler-edf-smp.yml
+++ b/spec/acfg/if/scheduler-edf-smp.yml
@@ -4,7 +4,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-smp-edf}
+ ${/doc/if/scheduler-smp-edf:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/scheduler-edf.yml b/spec/acfg/if/scheduler-edf.yml
index eb40f7b7..03215b07 100644
--- a/spec/acfg/if/scheduler-edf.yml
+++ b/spec/acfg/if/scheduler-edf.yml
@@ -4,7 +4,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-edf}
+ ${/doc/if/scheduler-edf:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/scheduler-name.yml b/spec/acfg/if/scheduler-name.yml
index 1a5510f0..ecaefb57 100644
--- a/spec/acfg/if/scheduler-name.yml
+++ b/spec/acfg/if/scheduler-name.yml
@@ -5,21 +5,21 @@ copyrights:
default-value: |
The default value is
- * ``"MEDF"`` for the ${.:/document-reference/scheduler-smp-edf},
+ * ``"MEDF"`` for the ${/doc/if/scheduler-smp-edf:/name},
- * ``"MPA "`` for the ${.:/document-reference/scheduler-smp-priority-affinity},
+ * ``"MPA "`` for the ${/doc/if/scheduler-smp-priority-affinity:/name},
- * ``"MPD "`` for the ${.:/document-reference/scheduler-smp-priority},
+ * ``"MPD "`` for the ${/doc/if/scheduler-smp-priority:/name},
- * ``"MPS "`` for the ${.:/document-reference/scheduler-smp-priority-simple},
+ * ``"MPS "`` for the ${/doc/if/scheduler-smp-priority-simple:/name},
- * ``"UCBS"`` for the ${.:/document-reference/scheduler-cbs},
+ * ``"UCBS"`` for the ${/doc/if/scheduler-cbs:/name},
- * ``"UEDF"`` for the ${.:/document-reference/scheduler-edf},
+ * ``"UEDF"`` for the ${/doc/if/scheduler-edf:/name},
- * ``"UPD "`` for the ${.:/document-reference/scheduler-priority}, and
+ * ``"UPD "`` for the ${/doc/if/scheduler-priority:/name}, and
- * ``"UPS "`` for the ${.:/document-reference/scheduler-priority-simple}.
+ * ``"UPS "`` for the ${/doc/if/scheduler-priority-simple:/name}.
description: |
The value of this configuration option defines the name of the default
scheduler.
diff --git a/spec/acfg/if/scheduler-priority-affinity-smp.yml b/spec/acfg/if/scheduler-priority-affinity-smp.yml
index c4777ebd..cfdba1bf 100644
--- a/spec/acfg/if/scheduler-priority-affinity-smp.yml
+++ b/spec/acfg/if/scheduler-priority-affinity-smp.yml
@@ -4,7 +4,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-smp-priority-affinity}
+ ${/doc/if/scheduler-smp-priority-affinity:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/scheduler-priority-smp.yml b/spec/acfg/if/scheduler-priority-smp.yml
index 5c9a6013..266f5f40 100644
--- a/spec/acfg/if/scheduler-priority-smp.yml
+++ b/spec/acfg/if/scheduler-priority-smp.yml
@@ -4,7 +4,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-smp-priority}
+ ${/doc/if/scheduler-smp-priority:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/scheduler-priority.yml b/spec/acfg/if/scheduler-priority.yml
index 488c2aa3..7d212e1b 100644
--- a/spec/acfg/if/scheduler-priority.yml
+++ b/spec/acfg/if/scheduler-priority.yml
@@ -5,7 +5,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-priority}
+ ${/doc/if/scheduler-priority:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/scheduler-simple-smp.yml b/spec/acfg/if/scheduler-simple-smp.yml
index 7e64dcb4..b9e3b673 100644
--- a/spec/acfg/if/scheduler-simple-smp.yml
+++ b/spec/acfg/if/scheduler-simple-smp.yml
@@ -4,7 +4,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-smp-priority-simple}
+ ${/doc/if/scheduler-smp-priority-simple:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/scheduler-simple.yml b/spec/acfg/if/scheduler-simple.yml
index 8f96e911..f1fe555b 100644
--- a/spec/acfg/if/scheduler-simple.yml
+++ b/spec/acfg/if/scheduler-simple.yml
@@ -4,7 +4,7 @@ copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
In case this configuration option is defined, then the
- ${.:/document-reference/scheduler-priority-simple}
+ ${/doc/if/scheduler-priority-simple:/name}
algorithm is made available to the application.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/if/unified-work-areas.yml b/spec/acfg/if/unified-work-areas.yml
index 15c94189..024d189c 100644
--- a/spec/acfg/if/unified-work-areas.yml
+++ b/spec/acfg/if/unified-work-areas.yml
@@ -28,7 +28,7 @@ notes: |
pool is very undesirable.
In high memory environments, this is desirable when you want to use the
- ${.:/document-reference/config-unlimited-objects} option. You will be able to create objects
+ ${/doc/if/config-unlimited-objects:/name} option. You will be able to create objects
until you run out of all available memory rather then just until you run out
of RTEMS Workspace.
type: interface
diff --git a/spec/acfg/if/unlimited-allocation-size.yml b/spec/acfg/if/unlimited-allocation-size.yml
index 3d89654f..25909a03 100644
--- a/spec/acfg/if/unlimited-allocation-size.yml
+++ b/spec/acfg/if/unlimited-allocation-size.yml
@@ -6,7 +6,7 @@ default-value: 8
description: |
If ${unlimited-objects:/name} is defined, then the value of this
configuration option defines the default objects maximum of all object
- classes supporting ${.:/document-reference/config-unlimited-objects} to
+ classes supporting ${/doc/if/config-unlimited-objects:/name} to
``rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )``.
enabled-by: true
index-entries: []
diff --git a/spec/acfg/req/scheduler-cbs.yml b/spec/acfg/req/scheduler-cbs.yml
index 742a4831..c7131373 100644
--- a/spec/acfg/req/scheduler-cbs.yml
+++ b/spec/acfg/req/scheduler-cbs.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-cbs} algorithm is made available
+ that the ${/doc/if/scheduler-cbs:/name} algorithm is made available
to the application.
type: requirement
diff --git a/spec/acfg/req/scheduler-edf-smp.yml b/spec/acfg/req/scheduler-edf-smp.yml
index 4f92d716..dcc80cbc 100644
--- a/spec/acfg/req/scheduler-edf-smp.yml
+++ b/spec/acfg/req/scheduler-edf-smp.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-smp-edf} algorithm is made
+ that the ${/doc/if/scheduler-smp-edf:/name} algorithm is made
available to the application.
type: requirement
diff --git a/spec/acfg/req/scheduler-edf.yml b/spec/acfg/req/scheduler-edf.yml
index 91d4beb9..cf9df5bc 100644
--- a/spec/acfg/req/scheduler-edf.yml
+++ b/spec/acfg/req/scheduler-edf.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-edf} algorithm is made available
+ that the ${/doc/if/scheduler-edf:/name} algorithm is made available
to the application.
type: requirement
diff --git a/spec/acfg/req/scheduler-priority-affinity-smp.yml b/spec/acfg/req/scheduler-priority-affinity-smp.yml
index 061a1246..ec3034b1 100644
--- a/spec/acfg/req/scheduler-priority-affinity-smp.yml
+++ b/spec/acfg/req/scheduler-priority-affinity-smp.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-smp-priority-affinity} algorithm
+ that the ${/doc/if/scheduler-smp-priority-affinity:/name} algorithm
is made available to the application.
type: requirement
diff --git a/spec/acfg/req/scheduler-priority-smp.yml b/spec/acfg/req/scheduler-priority-smp.yml
index 1e5b71e4..968955ed 100644
--- a/spec/acfg/req/scheduler-priority-smp.yml
+++ b/spec/acfg/req/scheduler-priority-smp.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-smp-priority} algorithm is made
+ that the ${/doc/if/scheduler-smp-priority:/name} algorithm is made
available to the application.
type: requirement
diff --git a/spec/acfg/req/scheduler-priority.yml b/spec/acfg/req/scheduler-priority.yml
index 981e9e3c..e3a5e714 100644
--- a/spec/acfg/req/scheduler-priority.yml
+++ b/spec/acfg/req/scheduler-priority.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-priority} algorithm is made
+ that the ${/doc/if/scheduler-priority:/name} algorithm is made
available to the application.
type: requirement
diff --git a/spec/acfg/req/scheduler-simple-smp.yml b/spec/acfg/req/scheduler-simple-smp.yml
index 015f1edc..f2fee46c 100644
--- a/spec/acfg/req/scheduler-simple-smp.yml
+++ b/spec/acfg/req/scheduler-simple-smp.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-smp-priority-simple} algorithm is
+ that the ${/doc/if/scheduler-smp-priority-simple:/name} algorithm is
made available to the application.
type: requirement
diff --git a/spec/acfg/req/scheduler-simple.yml b/spec/acfg/req/scheduler-simple.yml
index 2b722fe2..fb037d18 100644
--- a/spec/acfg/req/scheduler-simple.yml
+++ b/spec/acfg/req/scheduler-simple.yml
@@ -11,6 +11,6 @@ references: []
requirement-type: non-functional
text: |
The system shall provide an application configuration option which enables
- that the ${.:/document-reference/scheduler-priority-simple} algorithm is made
+ that the ${/doc/if/scheduler-priority-simple:/name} algorithm is made
available to the application.
type: requirement
diff --git a/spec/doc/if/config-scheduler-table.yml b/spec/doc/if/config-scheduler-table.yml
new file mode 100644
index 00000000..0974e692
--- /dev/null
+++ b/spec/doc/if/config-scheduler-table.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Configuration Step 3 - Scheduler Table
+references:
+ c-user: ConfigurationSchedulerTable
+ url: https://docs.rtems.org/branches/master/c-user/config/scheduler-clustered.html#configuration-step-3-scheduler-table
+type: interface
diff --git a/spec/doc/if/config-unlimited-objects.yml b/spec/doc/if/config-unlimited-objects.yml
new file mode 100644
index 00000000..17c895f4
--- /dev/null
+++ b/spec/doc/if/config-unlimited-objects.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Unlimited Objects
+references:
+ c-user: ConfigUnlimitedObjects
+ url: https://docs.rtems.org/branches/master/c-user/config/intro.html#unlimited-objects
+type: interface
diff --git a/spec/doc/if/mp-proxies.yml b/spec/doc/if/mp-proxies.yml
new file mode 100644
index 00000000..4012286a
--- /dev/null
+++ b/spec/doc/if/mp-proxies.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Proxies
+references:
+ c-user: MPCIProxies
+ url: https://docs.rtems.org/branches/master/c-user/multiprocessing.html#proxies
+type: interface
diff --git a/spec/doc/if/mrsp.yml b/spec/doc/if/mrsp.yml
new file mode 100644
index 00000000..4c98d9c6
--- /dev/null
+++ b/spec/doc/if/mrsp.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Multiprocessor Resource Sharing Protocol (MrsP)
+references:
+ c-user: MrsP
+ url: https://docs.rtems.org/branches/master/c-user/key_concepts.html#multiprocessor-resource-sharing-protocol-mrsp
+type: interface
diff --git a/spec/doc/if/scheduler-cbs.yml b/spec/doc/if/scheduler-cbs.yml
new file mode 100644
index 00000000..06dd9204
--- /dev/null
+++ b/spec/doc/if/scheduler-cbs.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Constant Bandwidth Server Scheduling (CBS)
+references:
+ c-user: SchedulerCBS
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#constant-bandwidth-server-scheduling-cbs
+type: interface
diff --git a/spec/doc/if/scheduler-concepts.yml b/spec/doc/if/scheduler-concepts.yml
new file mode 100644
index 00000000..40ae495a
--- /dev/null
+++ b/spec/doc/if/scheduler-concepts.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Scheduling Concepts
+references:
+ c-user: RTEMSAPIClassicScheduler
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/index.html
+type: interface
diff --git a/spec/doc/if/scheduler-edf.yml b/spec/doc/if/scheduler-edf.yml
new file mode 100644
index 00000000..bd8aa1bb
--- /dev/null
+++ b/spec/doc/if/scheduler-edf.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Earliest Deadline First Scheduler
+references:
+ c-user: SchedulerEDF
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#earliest-deadline-first-scheduler
+type: interface
diff --git a/spec/doc/if/scheduler-priority-simple.yml b/spec/doc/if/scheduler-priority-simple.yml
new file mode 100644
index 00000000..53882bcd
--- /dev/null
+++ b/spec/doc/if/scheduler-priority-simple.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Simple Priority Scheduler
+references:
+ c-user: SchedulerPrioritySimple
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#simple-priority-scheduler
+type: interface
diff --git a/spec/doc/if/scheduler-priority.yml b/spec/doc/if/scheduler-priority.yml
new file mode 100644
index 00000000..f6b4264d
--- /dev/null
+++ b/spec/doc/if/scheduler-priority.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Deterministic Priority Scheduler
+references:
+ c-user: SchedulerPriority
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#deterministic-priority-scheduler
+type: interface
diff --git a/spec/doc/if/scheduler-smp-edf.yml b/spec/doc/if/scheduler-smp-edf.yml
new file mode 100644
index 00000000..0b614545
--- /dev/null
+++ b/spec/doc/if/scheduler-smp-edf.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Earliest Deadline First SMP Scheduler
+references:
+ c-user: SchedulerSMPEDF
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#earliest-deadline-first-smp-scheduler
+type: interface
diff --git a/spec/doc/if/scheduler-smp-priority-affinity.yml b/spec/doc/if/scheduler-smp-priority-affinity.yml
new file mode 100644
index 00000000..ded97f5b
--- /dev/null
+++ b/spec/doc/if/scheduler-smp-priority-affinity.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Arbitrary Processor Affinity Priority SMP Scheduler
+references:
+ c-user: SchedulerSMPPriorityAffinity
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#arbitrary-processor-affinity-priority-smp-scheduler
+type: interface
diff --git a/spec/doc/if/scheduler-smp-priority-simple.yml b/spec/doc/if/scheduler-smp-priority-simple.yml
new file mode 100644
index 00000000..3ed6f096
--- /dev/null
+++ b/spec/doc/if/scheduler-smp-priority-simple.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Simple Priority SMP Scheduler
+references:
+ c-user: SchedulerSMPPrioritySimple
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#simple-priority-smp-scheduler
+type: interface
diff --git a/spec/doc/if/scheduler-smp-priority.yml b/spec/doc/if/scheduler-smp-priority.yml
new file mode 100644
index 00000000..a2f1716f
--- /dev/null
+++ b/spec/doc/if/scheduler-smp-priority.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Deterministic Priority SMP Scheduler
+references:
+ c-user: SchedulerSMPPriority
+ url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#deterministic-priority-smp-scheduler
+type: interface
diff --git a/spec/doc/if/terminate.yml b/spec/doc/if/terminate.yml
new file mode 100644
index 00000000..c33499f0
--- /dev/null
+++ b/spec/doc/if/terminate.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-group
+links: []
+name: Announcing a Fatal Error
+references:
+ c-user: Terminate
+ url: https://docs.rtems.org/branches/master/c-user/fatal_error.html#announcing-a-fatal-error
+type: interface