[rtems-central commit] spec: Polish configuration API
Sebastian Huber
sebh at rtems.org
Fri Nov 19 07:51:56 UTC 2021
Module: rtems-central
Branch: master
Commit: 3e0e46e2283b4c35290408068f11ded8023b8b6e
Changeset: http://git.rtems.org/rtems-central/commit/?id=3e0e46e2283b4c35290408068f11ded8023b8b6e
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Sat Nov 13 18:11:02 2021 +0100
spec: Polish configuration API
---
spec/acfg/val/acfg.yml | 48 ++++++++++++++++++++++
spec/rtems/config/req/get-idle-task-stack-size.yml | 8 ++--
spec/rtems/config/req/get-idle-task.yml | 8 ++--
spec/rtems/config/req/get-interrupt-stack-size.yml | 6 ++-
spec/rtems/config/req/get-maximum-barriers.yml | 8 ++--
spec/rtems/config/req/get-maximum-extensions.yml | 8 ++--
.../config/req/get-maximum-message-queues.yml | 8 ++--
spec/rtems/config/req/get-maximum-partitions.yml | 8 ++--
spec/rtems/config/req/get-maximum-periods.yml | 8 ++--
spec/rtems/config/req/get-maximum-processors.yml | 9 +++-
spec/rtems/config/req/get-maximum-semaphores.yml | 8 ++--
spec/rtems/config/req/get-maximum-tasks.yml | 8 ++--
spec/rtems/config/req/get-maximum-timers.yml | 8 ++--
.../rtems/config/req/get-microseconds-per-tick.yml | 7 ++--
.../rtems/config/req/get-milliseconds-per-tick.yml | 7 ++--
spec/rtems/config/req/get-nanoseconds-per-tick.yml | 7 ++--
.../req/get-stack-allocate-for-idle-hook.yml | 19 +++++++++
spec/rtems/config/req/get-stack-allocate-hook.yml | 9 ++--
.../req/get-stack-allocator-avoids-work-space.yml | 4 +-
spec/rtems/config/req/get-stack-free-hook.yml | 9 ++--
spec/rtems/config/req/get-ticks-per-timeslice.yml | 7 ++--
21 files changed, 159 insertions(+), 53 deletions(-)
diff --git a/spec/acfg/val/acfg.yml b/spec/acfg/val/acfg.yml
index 00f7875..be11a7a 100644
--- a/spec/acfg/val/acfg.yml
+++ b/spec/acfg/val/acfg.yml
@@ -206,6 +206,54 @@ test-actions:
- role: validation
uid: /rtems/config/if/get-stack-free-hook
- brief: |
+ Check the configured ${/acfg/if/task-stack-allocator-for-idle:/name} hook.
+ code: |
+ T_eq_ptr(
+ rtems_configuration_get_stack_allocate_for_idle_hook(),
+ test_idle_task_stack_allocate
+ );
+ links:
+ - role: validation
+ uid: ../if/task-stack-allocator-for-idle
+ - role: validation
+ uid: /rtems/config/if/get-stack-allocate-for-idle-hook
+ - brief: |
+ Check the configured ${/acfg/if/idle-task-stack-size:/name} value.
+ code: |
+ T_eq_sz(
+ rtems_configuration_get_idle_task_stack_size(),
+ TEST_IDLE_STACK_SIZE
+ );
+ links:
+ - role: validation
+ uid: ../if/idle-task-stack-size
+ - role: validation
+ uid: /rtems/config/if/get-idle-task-stack-size
+ - brief: |
+ Check the configured ${/acfg/if/idle-task-body:/name}.
+ code: |
+ T_eq_ptr(
+ rtems_configuration_get_idle_task(),
+ test_idle_task_body
+ );
+ links:
+ - role: validation
+ uid: ../if/idle-task-body
+ - role: validation
+ uid: /rtems/config/if/get-idle-task
+ - brief: |
+ Check the configured ${/acfg/if/interrupt-stack-size:/name} value.
+ code: |
+ T_eq_sz(
+ rtems_configuration_get_interrupt_stack_size(),
+ TEST_INTERRUPT_STACK_SIZE
+ );
+ links:
+ - role: validation
+ uid: ../if/interrupt-stack-size
+ - role: validation
+ uid: /rtems/config/if/get-interrupt-stack-size
+ - brief: |
Check the configured ${/acfg/if/ticks-per-time-slice:/name} value.
code: |
T_eq_u32(
diff --git a/spec/rtems/config/req/get-idle-task-stack-size.yml b/spec/rtems/config/req/get-idle-task-stack-size.yml
index 8502a44..425c364 100644
--- a/spec/rtems/config/req/get-idle-task-stack-size.yml
+++ b/spec/rtems/config/req/get-idle-task-stack-size.yml
@@ -6,10 +6,12 @@ links:
- role: interface-function
uid: ../if/get-idle-task-stack-size
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/idle-task-stack-size:/name} application configuration option.
references: []
requirement-type: functional
text: |
- The ${../if/get-idle-task-stack-size:/name} directive shall return the IDLE
- task stack size configured by ${/acfg/if/idle-task-stack-size:/name}.
+ The ${../if/get-idle-task-stack-size:/name} directive shall return the
+ task stack size of each ${/glossary/idletask:/term}.
type: requirement
diff --git a/spec/rtems/config/req/get-idle-task.yml b/spec/rtems/config/req/get-idle-task.yml
index 88208c8..04471e8 100644
--- a/spec/rtems/config/req/get-idle-task.yml
+++ b/spec/rtems/config/req/get-idle-task.yml
@@ -6,10 +6,12 @@ links:
- role: interface-function
uid: ../if/get-idle-task
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/idle-task-body:/name} application configuration option.
references: []
requirement-type: functional
text: |
- The ${../if/get-idle-task:/name} directive shall return the IDLE task body
- configured by ${/acfg/if/idle-task-body:/name}.
+ The ${../if/get-idle-task:/name} directive shall return the address of task
+ body executed by each ${/glossary/idletask:/term}.
type: requirement
diff --git a/spec/rtems/config/req/get-interrupt-stack-size.yml b/spec/rtems/config/req/get-interrupt-stack-size.yml
index 0191557..06d8453 100644
--- a/spec/rtems/config/req/get-interrupt-stack-size.yml
+++ b/spec/rtems/config/req/get-interrupt-stack-size.yml
@@ -6,10 +6,12 @@ links:
- role: interface-function
uid: ../if/get-interrupt-stack-size
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/interrupt-stack-size:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-interrupt-stack-size:/name} directive shall return the
- interrupt stack size configured by ${/acfg/if/interrupt-stack-size:/name}.
+ interrupt stack size.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-barriers.yml b/spec/rtems/config/req/get-maximum-barriers.yml
index 09cd799..22b3125 100644
--- a/spec/rtems/config/req/get-maximum-barriers.yml
+++ b/spec/rtems/config/req/get-maximum-barriers.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-barriers
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-barriers:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-barriers:/name} directive shall return the maximum
- number of Classic API Barriers that can be concurrently active configured by
- ${/acfg/if/max-barriers:/name}.
+ number of objects managed by the ${../../barrier/if/group:/name} that can be
+ concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-extensions.yml b/spec/rtems/config/req/get-maximum-extensions.yml
index d9aac20..09030fe 100644
--- a/spec/rtems/config/req/get-maximum-extensions.yml
+++ b/spec/rtems/config/req/get-maximum-extensions.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-extensions
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-user-extensions:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-extensions:/name} directive shall return the maximum
- number of Classic API User Extensions that can be concurrently active
- configured by ${/acfg/if/max-user-extensions:/name}.
+ number of objects managed by the ${../../userext/if/group:/name} that can be
+ concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-message-queues.yml b/spec/rtems/config/req/get-maximum-message-queues.yml
index ea87d2e..bc4190d 100644
--- a/spec/rtems/config/req/get-maximum-message-queues.yml
+++ b/spec/rtems/config/req/get-maximum-message-queues.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-message-queues
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-message-queues:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-message-queues:/name} directive shall return the
- maximum number of Classic API Message Queues that can be concurrently active
- configured by ${/acfg/if/max-message-queues:/name}.
+ maximum number of objects managed by the ${../../message/if/group:/name} that
+ can be concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-partitions.yml b/spec/rtems/config/req/get-maximum-partitions.yml
index 8a99e00..f8984ff 100644
--- a/spec/rtems/config/req/get-maximum-partitions.yml
+++ b/spec/rtems/config/req/get-maximum-partitions.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-partitions
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-partitions:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-partitions:/name} directive shall return the maximum
- number of Classic API Partitions that can be concurrently active configured
- by ${/acfg/if/max-partitions:/name}.
+ number of objects managed by the ${../../part/if/group:/name} that can be
+ concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-periods.yml b/spec/rtems/config/req/get-maximum-periods.yml
index fca759c..8d54e6c 100644
--- a/spec/rtems/config/req/get-maximum-periods.yml
+++ b/spec/rtems/config/req/get-maximum-periods.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-periods
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-periods:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-periods:/name} directive shall return the maximum
- number of Classic API Periods that can be concurrently active configured by
- ${/acfg/if/max-periods:/name}.
+ number of objects managed by the ${../../ratemon/if/group:/name} that can be
+ concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-processors.yml b/spec/rtems/config/req/get-maximum-processors.yml
index 00ac633..30ba56d 100644
--- a/spec/rtems/config/req/get-maximum-processors.yml
+++ b/spec/rtems/config/req/get-maximum-processors.yml
@@ -6,10 +6,15 @@ links:
- role: interface-function
uid: ../if/get-maximum-processors
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-processors:/name} application configuration option. The
+ maximum number of processors which are actually available for use by the
+ application is returned by
+ ${../../scheduler/if/get-processor-maximum:/name}.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-processors:/name} directive shall return the maximum
- number of processors configured by ${/acfg/if/max-processors:/name}.
+ number of processors which can be managed by the system.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-semaphores.yml b/spec/rtems/config/req/get-maximum-semaphores.yml
index d8dd775..325ce6d 100644
--- a/spec/rtems/config/req/get-maximum-semaphores.yml
+++ b/spec/rtems/config/req/get-maximum-semaphores.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-semaphores
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-semaphores:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-semaphores:/name} directive shall return the maximum
- number of Classic API Semaphores that can be concurrently active configured
- by ${/acfg/if/max-semaphores:/name}.
+ number of objects managed by the ${../../sem/if/group:/name} that can be
+ concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-tasks.yml b/spec/rtems/config/req/get-maximum-tasks.yml
index 8215991..f385068 100644
--- a/spec/rtems/config/req/get-maximum-tasks.yml
+++ b/spec/rtems/config/req/get-maximum-tasks.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-tasks
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-tasks:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-tasks:/name} directive shall return the maximum
- number of Classic API Tasks that can be concurrently active configured by
- ${/acfg/if/max-tasks:/name}.
+ number of objects managed by the ${../../task/if/group:/name} that can be
+ concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-maximum-timers.yml b/spec/rtems/config/req/get-maximum-timers.yml
index 71e8901..c5483c3 100644
--- a/spec/rtems/config/req/get-maximum-timers.yml
+++ b/spec/rtems/config/req/get-maximum-timers.yml
@@ -6,11 +6,13 @@ links:
- role: interface-function
uid: ../if/get-maximum-timers
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/max-timers:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-maximum-timers:/name} directive shall return the maximum
- number of Classic API Timers that can be concurrently active configured by
- ${/acfg/if/max-timers:/name}.
+ number of objects managed by the ${../../timer/if/group:/name} that can be
+ concurrently active.
type: requirement
diff --git a/spec/rtems/config/req/get-microseconds-per-tick.yml b/spec/rtems/config/req/get-microseconds-per-tick.yml
index 8d36b75..365bfe9 100644
--- a/spec/rtems/config/req/get-microseconds-per-tick.yml
+++ b/spec/rtems/config/req/get-microseconds-per-tick.yml
@@ -6,11 +6,12 @@ links:
- role: interface-function
uid: ../if/get-microseconds-per-tick
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/microseconds-per-tick:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-microseconds-per-tick:/name} directive shall return the
- ${/glossary/clock-tick:/term} interval in microseconds configured by
- ${/acfg/if/microseconds-per-tick:/name}.
+ ${/glossary/clock-tick:/term} interval in microseconds.
type: requirement
diff --git a/spec/rtems/config/req/get-milliseconds-per-tick.yml b/spec/rtems/config/req/get-milliseconds-per-tick.yml
index 34bb8a5..2ad765a 100644
--- a/spec/rtems/config/req/get-milliseconds-per-tick.yml
+++ b/spec/rtems/config/req/get-milliseconds-per-tick.yml
@@ -6,11 +6,12 @@ links:
- role: interface-function
uid: ../if/get-milliseconds-per-tick
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/microseconds-per-tick:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-milliseconds-per-tick:/name} directive shall return the
- ${/glossary/clock-tick:/term} interval in milliseconds configured by
- ${/acfg/if/microseconds-per-tick:/name}.
+ ${/glossary/clock-tick:/term} interval in milliseconds.
type: requirement
diff --git a/spec/rtems/config/req/get-nanoseconds-per-tick.yml b/spec/rtems/config/req/get-nanoseconds-per-tick.yml
index ad82916..bca1ed8 100644
--- a/spec/rtems/config/req/get-nanoseconds-per-tick.yml
+++ b/spec/rtems/config/req/get-nanoseconds-per-tick.yml
@@ -6,11 +6,12 @@ links:
- role: interface-function
uid: ../if/get-nanoseconds-per-tick
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/microseconds-per-tick:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-nanoseconds-per-tick:/name} directive shall return the
- ${/glossary/clock-tick:/term} interval in nanoseconds configured by
- ${/acfg/if/microseconds-per-tick:/name}.
+ ${/glossary/clock-tick:/term} interval in nanoseconds.
type: requirement
diff --git a/spec/rtems/config/req/get-stack-allocate-for-idle-hook.yml b/spec/rtems/config/req/get-stack-allocate-for-idle-hook.yml
new file mode 100644
index 0000000..28897f9
--- /dev/null
+++ b/spec/rtems/config/req/get-stack-allocate-for-idle-hook.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: interface-function
+ uid: ../if/get-stack-allocate-for-idle-hook
+functional-type: function
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/task-stack-allocator-for-idle:/name} application configuration
+ option.
+references: []
+requirement-type: functional
+text: |
+ The ${../if/get-stack-allocate-for-idle-hook:/name} directive shall return
+ the stack allocator allocate handler used to allocate the task stack of each
+ ${/glossary/idletask:/term}.
+type: requirement
diff --git a/spec/rtems/config/req/get-stack-allocate-hook.yml b/spec/rtems/config/req/get-stack-allocate-hook.yml
index f3cc964..2509533 100644
--- a/spec/rtems/config/req/get-stack-allocate-hook.yml
+++ b/spec/rtems/config/req/get-stack-allocate-hook.yml
@@ -6,10 +6,13 @@ links:
- role: interface-function
uid: ../if/get-stack-allocate-hook
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/task-stack-allocator:/name} application configuration option.
references: []
requirement-type: functional
text: |
- The ${../if/get-stack-allocate-hook:/name} directive shall return the task
- stack allocator hook configured by ${/acfg/if/task-stack-allocator:/name}.
+ The ${../if/get-stack-allocate-hook:/name} directive shall return the address
+ of the task stack allocator which is used to allocate the stack for a task
+ which is not an ${/glossary/idletask:/term}.
type: requirement
diff --git a/spec/rtems/config/req/get-stack-allocator-avoids-work-space.yml b/spec/rtems/config/req/get-stack-allocator-avoids-work-space.yml
index dd5916a..762b6b2 100644
--- a/spec/rtems/config/req/get-stack-allocator-avoids-work-space.yml
+++ b/spec/rtems/config/req/get-stack-allocator-avoids-work-space.yml
@@ -6,7 +6,9 @@ links:
- role: interface-function
uid: ../if/get-stack-allocator-avoids-work-space
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/task-stack-no-workspace:/name} application configuration option.
references: []
requirement-type: functional
text: |
diff --git a/spec/rtems/config/req/get-stack-free-hook.yml b/spec/rtems/config/req/get-stack-free-hook.yml
index c2824e7..1beaa8b 100644
--- a/spec/rtems/config/req/get-stack-free-hook.yml
+++ b/spec/rtems/config/req/get-stack-free-hook.yml
@@ -6,10 +6,13 @@ links:
- role: interface-function
uid: ../if/get-stack-free-hook
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/task-stack-deallocator:/name} application configuration option.
references: []
requirement-type: functional
text: |
- The ${../if/get-stack-free-hook:/name} directive shall return the task stack
- free hook configured by ${/acfg/if/task-stack-deallocator:/name}.
+ The ${../if/get-stack-free-hook:/name} directive shall return the address of
+ the task stack deallocator which is used to free the stack of a task which
+ was allocated by the task stack allocator.
type: requirement
diff --git a/spec/rtems/config/req/get-ticks-per-timeslice.yml b/spec/rtems/config/req/get-ticks-per-timeslice.yml
index df2716f..b93cbd5 100644
--- a/spec/rtems/config/req/get-ticks-per-timeslice.yml
+++ b/spec/rtems/config/req/get-ticks-per-timeslice.yml
@@ -6,11 +6,12 @@ links:
- role: interface-function
uid: ../if/get-ticks-per-timeslice
functional-type: function
-rationale: null
+rationale: |
+ The directive may be used to check the setting of the
+ ${/acfg/if/ticks-per-time-slice:/name} application configuration option.
references: []
requirement-type: functional
text: |
The ${../if/get-ticks-per-timeslice:/name} directive shall return the number
- of ${/glossary/clock-tick:/plural} per timeslice configured by
- ${/acfg/if/ticks-per-time-slice:/name}.
+ of ${/glossary/clock-tick:/plural} per timeslice.
type: requirement
More information about the vc
mailing list