summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-05-07 13:45:01 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-05-07 13:45:24 +0200
commit12edb026aef7d47c11339a58df9c1784117bbfda (patch)
tree0bd43daee4a5d66d2d61c6f0ecdba06968f7493b
parentapplconfig: Use unspecified function (diff)
downloadrtems-central-12edb026aef7d47c11339a58df9c1784117bbfda.tar.bz2
applconfig: Use unspecified groups
-rw-r--r--rtemsspec/applconfig.py5
-rw-r--r--rtemsspec/sphinxcontent.py11
-rw-r--r--spec/acfg/if/scheduler-assignments.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-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/doc/if/config-scheduler-clustered.yml12
-rw-r--r--spec/spec/interface-unspecified.yml4
13 files changed, 36 insertions, 14 deletions
diff --git a/rtemsspec/applconfig.py b/rtemsspec/applconfig.py
index e4cd29ec..98b6ab74 100644
--- a/rtemsspec/applconfig.py
+++ b/rtemsspec/applconfig.py
@@ -262,8 +262,6 @@ def _sphinx_ref(ref: str) -> str:
_SPHINX_DOC_REFS = {
- "config-scheduler-clustered":
- _sphinx_ref("ConfigurationSchedulersClustered"),
"config-scheduler-table": _sphinx_ref("ConfigurationSchedulerTable"),
"config-unlimited-objects": _sphinx_ref("ConfigUnlimitedObjects"),
"mp-proxies": _sphinx_ref("MPCIProxies"),
@@ -298,9 +296,6 @@ def _c_user_ref(ref: str, name: str) -> str:
_DOXYGEN_DOC_REFS = {
- "config-scheduler-clustered":
- _c_user_ref("config/scheduler-clustered.html",
- "Clustered Scheduler Configuration"),
"config-scheduler-table":
_c_user_ref(
"config/scheduler-clustered.html#configuration-step-3-scheduler-table",
diff --git a/rtemsspec/sphinxcontent.py b/rtemsspec/sphinxcontent.py
index 5ebf5287..7b6a257d 100644
--- a/rtemsspec/sphinxcontent.py
+++ b/rtemsspec/sphinxcontent.py
@@ -248,6 +248,15 @@ def _get_value_sphinx_unspecified_function(ctx: ItemGetValueContext) -> Any:
return _get_value_sphinx_ref(ctx, _get_value_sphinx_function, "()")
+def _get_value_sphinx_unspecified_group(ctx: ItemGetValueContext) -> Any:
+ if "c-user" in ctx.item["references"]:
+ 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 ctx.value[ctx.key]
+
+
def _get_value_sphinx_unspecified_type(ctx: ItemGetValueContext) -> Any:
return _get_value_sphinx_ref(ctx, _get_value_sphinx_type, "")
@@ -280,6 +289,8 @@ class SphinxMapper(ItemMapper):
_get_value_sphinx_unspecified_define)
self.add_get_value("interface/unspecified-function:/name",
_get_value_sphinx_unspecified_function)
+ self.add_get_value("interface/unspecified-group:/name",
+ _get_value_sphinx_unspecified_group)
self.add_get_value("interface/unspecified-type:/name",
_get_value_sphinx_unspecified_type)
diff --git a/spec/acfg/if/scheduler-assignments.yml b/spec/acfg/if/scheduler-assignments.yml
index 151a3752..fb2a1896 100644
--- a/spec/acfg/if/scheduler-assignments.yml
+++ b/spec/acfg/if/scheduler-assignments.yml
@@ -25,5 +25,5 @@ notes: |
This configuration option is only evaluated in SMP configurations.
This is an advanced configuration option, see
- ${.:/document-reference/config-scheduler-clustered}.
+ ${/doc/if/config-scheduler-clustered:/name}.
type: interface
diff --git a/spec/acfg/if/scheduler-cbs.yml b/spec/acfg/if/scheduler-cbs.yml
index 4869a0d9..782b2fef 100644
--- a/spec/acfg/if/scheduler-cbs.yml
+++ b/spec/acfg/if/scheduler-cbs.yml
@@ -19,6 +19,6 @@ notes: |
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for exactly one processor.
type: interface
diff --git a/spec/acfg/if/scheduler-edf-smp.yml b/spec/acfg/if/scheduler-edf-smp.yml
index cb6b487f..0423fe94 100644
--- a/spec/acfg/if/scheduler-edf-smp.yml
+++ b/spec/acfg/if/scheduler-edf-smp.yml
@@ -22,7 +22,7 @@ notes: |
This scheduler algorithm is only available when RTEMS is built with SMP
support enabled.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for up to 32 processors.
This scheduler algorithm is the default in SMP configurations if
diff --git a/spec/acfg/if/scheduler-edf.yml b/spec/acfg/if/scheduler-edf.yml
index d5adb7c2..eb40f7b7 100644
--- a/spec/acfg/if/scheduler-edf.yml
+++ b/spec/acfg/if/scheduler-edf.yml
@@ -19,6 +19,6 @@ notes: |
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for exactly one processor.
type: interface
diff --git a/spec/acfg/if/scheduler-priority-affinity-smp.yml b/spec/acfg/if/scheduler-priority-affinity-smp.yml
index eb8cb9e3..c4777ebd 100644
--- a/spec/acfg/if/scheduler-priority-affinity-smp.yml
+++ b/spec/acfg/if/scheduler-priority-affinity-smp.yml
@@ -22,7 +22,7 @@ notes: |
This scheduler algorithm is only available when RTEMS is built with SMP
support enabled.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for up to 32 processors.
The memory allocated for this scheduler depends on the
diff --git a/spec/acfg/if/scheduler-priority-smp.yml b/spec/acfg/if/scheduler-priority-smp.yml
index e2b073e6..5c9a6013 100644
--- a/spec/acfg/if/scheduler-priority-smp.yml
+++ b/spec/acfg/if/scheduler-priority-smp.yml
@@ -22,7 +22,7 @@ notes: |
This scheduler algorithm is only available when RTEMS is built with SMP
support enabled.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for up to 32 processors.
The memory allocated for this scheduler depends on the
diff --git a/spec/acfg/if/scheduler-priority.yml b/spec/acfg/if/scheduler-priority.yml
index cfd76b96..488c2aa3 100644
--- a/spec/acfg/if/scheduler-priority.yml
+++ b/spec/acfg/if/scheduler-priority.yml
@@ -20,7 +20,7 @@ notes: |
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for exactly one processor.
This scheduler algorithm is the default when
diff --git a/spec/acfg/if/scheduler-simple-smp.yml b/spec/acfg/if/scheduler-simple-smp.yml
index a01bef07..7e64dcb4 100644
--- a/spec/acfg/if/scheduler-simple-smp.yml
+++ b/spec/acfg/if/scheduler-simple-smp.yml
@@ -22,6 +22,6 @@ notes: |
This scheduler algorithm is only available when RTEMS is built with SMP
support enabled.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for up to 32 processors.
type: interface
diff --git a/spec/acfg/if/scheduler-simple.yml b/spec/acfg/if/scheduler-simple.yml
index 40605955..8f96e911 100644
--- a/spec/acfg/if/scheduler-simple.yml
+++ b/spec/acfg/if/scheduler-simple.yml
@@ -19,6 +19,6 @@ notes: |
This scheduler configuration option is an advanced configuration option.
Think twice before you use it.
- In case no explicit ${.:/document-reference/config-scheduler-clustered}
+ In case no explicit ${/doc/if/config-scheduler-clustered:/name}
is present, then it is used as the scheduler for exactly one processor.
type: interface
diff --git a/spec/doc/if/config-scheduler-clustered.yml b/spec/doc/if/config-scheduler-clustered.yml
new file mode 100644
index 00000000..f586e3a1
--- /dev/null
+++ b/spec/doc/if/config-scheduler-clustered.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: Clustered Scheduler Configuration
+references:
+ c-user: ConfigurationSchedulersClustered
+ url: https://docs.rtems.org/branches/master/c-user/config/scheduler-clustered.html
+type: interface
diff --git a/spec/spec/interface-unspecified.yml b/spec/spec/interface-unspecified.yml
index c1926448..1b3c1fc3 100644
--- a/spec/spec/interface-unspecified.yml
+++ b/spec/spec/interface-unspecified.yml
@@ -19,6 +19,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
spec-description: null