summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-28 08:34:13 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-28 09:48:57 +0200
commitd7fab0335360ae84e21f2af834f1022a7c372677 (patch)
treea6a319bb1d34411c779a415012549f65a39c0d22
parentspec: Specify thread queue deadlock details (diff)
downloadrtems-central-d7fab0335360ae84e21f2af834f1022a7c372677.tar.bz2
spec: Add application configuration requirements
-rw-r--r--spec/acfg/val/acfg.yml238
-rw-r--r--spec/rtems/config/req/get-idle-task-stack-size.yml15
-rw-r--r--spec/rtems/config/req/get-idle-task.yml15
-rw-r--r--spec/rtems/config/req/get-interrupt-stack-size.yml15
-rw-r--r--spec/rtems/config/req/get-maximum-barriers.yml16
-rw-r--r--spec/rtems/config/req/get-maximum-extensions.yml16
-rw-r--r--spec/rtems/config/req/get-maximum-message-queues.yml16
-rw-r--r--spec/rtems/config/req/get-maximum-partitions.yml16
-rw-r--r--spec/rtems/config/req/get-maximum-periods.yml16
-rw-r--r--spec/rtems/config/req/get-maximum-processors.yml15
-rw-r--r--spec/rtems/config/req/get-maximum-semaphores.yml16
-rw-r--r--spec/rtems/config/req/get-maximum-tasks.yml16
-rw-r--r--spec/rtems/config/req/get-maximum-timers.yml16
-rw-r--r--spec/rtems/config/req/get-microseconds-per-tick.yml16
-rw-r--r--spec/rtems/config/req/get-milliseconds-per-tick.yml16
-rw-r--r--spec/rtems/config/req/get-nanoseconds-per-tick.yml16
-rw-r--r--spec/rtems/config/req/get-stack-allocate-hook.yml15
-rw-r--r--spec/rtems/config/req/get-stack-allocator-avoids-work-space.yml16
-rw-r--r--spec/rtems/config/req/get-stack-free-hook.yml15
-rw-r--r--spec/rtems/config/req/get-ticks-per-timeslice.yml16
-rw-r--r--spec/testsuites/terminate.yml2
-rw-r--r--spec/testsuites/validation-0.yml2
22 files changed, 538 insertions, 2 deletions
diff --git a/spec/acfg/val/acfg.yml b/spec/acfg/val/acfg.yml
new file mode 100644
index 00000000..00f78750
--- /dev/null
+++ b/spec/acfg/val/acfg.yml
@@ -0,0 +1,238 @@
+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
+links: []
+test-actions:
+- action-brief: |
+ Check the effect of application configuration options.
+ action-code: |
+ /* Nothing to do */
+ checks:
+ - brief: |
+ Check that the configured
+ ${/acfg/if/min-tasks-with-user-provided-storage:/name} value reduced the
+ stack space size.
+ code: |
+ T_eq_uptr(
+ _Stack_Space_size,
+ RTEMS_ALIGN_UP( HEAP_BLOCK_HEADER_SIZE, CPU_HEAP_ALIGNMENT )
+ );
+ links:
+ - role: validation
+ uid: ../if/min-tasks-with-user-provided-storage
+ - brief: |
+ Check the configured ${/acfg/if/max-barriers:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_barriers(),
+ TEST_MAXIMUM_BARRIERS
+ );
+ links:
+ - role: validation
+ uid: ../if/max-barriers
+ - role: validation
+ uid: /rtems/config/if/get-maximum-barriers
+ - brief: |
+ Check the configured ${/acfg/if/max-user-extensions:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_extensions(),
+ TEST_MAXIMUM_USER_EXTENSIONS
+ );
+ links:
+ - role: validation
+ uid: ../if/max-user-extensions
+ - role: validation
+ uid: /rtems/config/if/get-maximum-extensions
+ - brief: |
+ Check the configured ${/acfg/if/max-message-queues:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_message_queues(),
+ TEST_MAXIMUM_MESSAGE_QUEUES
+ );
+ links:
+ - role: validation
+ uid: ../if/max-message-queues
+ - role: validation
+ uid: /rtems/config/if/get-maximum-message-queues
+ - brief: |
+ Check the configured ${/acfg/if/max-partitions:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_partitions(),
+ TEST_MAXIMUM_PARTITIONS
+ );
+ links:
+ - role: validation
+ uid: ../if/max-partitions
+ - role: validation
+ uid: /rtems/config/if/get-maximum-partitions
+ - brief: |
+ Check the configured ${/acfg/if/max-periods:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_periods(),
+ TEST_MAXIMUM_PERIODS
+ );
+ links:
+ - role: validation
+ uid: ../if/max-periods
+ - role: validation
+ uid: /rtems/config/if/get-maximum-periods
+ - brief: |
+ Check the configured ${/acfg/if/max-processors:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_processors(),
+ #if defined(RTEMS_SMP)
+ 5
+ #else
+ 1
+ #endif
+ );
+ links:
+ - role: validation
+ uid: ../if/max-processors
+ - role: validation
+ uid: /rtems/config/if/get-maximum-processors
+ - brief: |
+ Check the configured ${/acfg/if/max-semaphores:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_semaphores(),
+ TEST_MAXIMUM_SEMAPHORES
+ );
+ links:
+ - role: validation
+ uid: ../if/max-semaphores
+ - role: validation
+ uid: /rtems/config/if/get-maximum-semaphores
+ - brief: |
+ Check the configured ${/acfg/if/max-tasks:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_tasks(),
+ TEST_MAXIMUM_TASKS
+ );
+ links:
+ - role: validation
+ uid: ../if/max-tasks
+ - role: validation
+ uid: /rtems/config/if/get-maximum-tasks
+ - brief: |
+ Check the configured ${/acfg/if/max-timers:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_maximum_timers(),
+ TEST_MAXIMUM_TIMERS
+ );
+ links:
+ - role: validation
+ uid: ../if/max-timers
+ - role: validation
+ uid: /rtems/config/if/get-maximum-timers
+ - brief: |
+ Check the configured ${/acfg/if/microseconds-per-tick:/name} value in
+ microseconds.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_microseconds_per_tick(),
+ TEST_MICROSECONDS_PER_TICK
+ );
+ links:
+ - role: validation
+ uid: ../if/microseconds-per-tick
+ - role: validation
+ uid: /rtems/config/if/get-microseconds-per-tick
+ - brief: |
+ Check the configured ${/acfg/if/microseconds-per-tick:/name} value in
+ milliseconds.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_milliseconds_per_tick(),
+ TEST_MICROSECONDS_PER_TICK / 1000
+ );
+ links:
+ - role: validation
+ uid: ../if/microseconds-per-tick
+ - role: validation
+ uid: /rtems/config/if/get-milliseconds-per-tick
+ - brief: |
+ Check the configured ${/acfg/if/microseconds-per-tick:/name} value in
+ nanoseconds.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_nanoseconds_per_tick(),
+ TEST_MICROSECONDS_PER_TICK * 1000
+ );
+ links:
+ - role: validation
+ uid: ../if/microseconds-per-tick
+ - role: validation
+ uid: /rtems/config/if/get-nanoseconds-per-tick
+ - brief: |
+ Check the configured ${/acfg/if/task-stack-allocator:/name} hook.
+ code: |
+ T_eq_ptr(
+ rtems_configuration_get_stack_allocate_hook(),
+ test_task_stack_allocate
+ );
+ links:
+ - role: validation
+ uid: ../if/task-stack-allocator
+ - role: validation
+ uid: /rtems/config/if/get-stack-allocate-hook
+ - brief: |
+ Check the configured ${/acfg/if/task-stack-no-workspace:/name} value.
+ code: |
+ T_true( rtems_configuration_get_stack_allocator_avoids_work_space() );
+ links:
+ - role: validation
+ uid: ../if/task-stack-no-workspace
+ - role: validation
+ uid: /rtems/config/if/get-stack-allocator-avoids-work-space
+ - brief: |
+ Check the configured ${/acfg/if/task-stack-deallocator:/name} hook.
+ code: |
+ T_eq_ptr(
+ rtems_configuration_get_stack_free_hook(),
+ test_task_stack_deallocate
+ );
+ links:
+ - role: validation
+ uid: ../if/task-stack-deallocator
+ - role: validation
+ uid: /rtems/config/if/get-stack-free-hook
+ - brief: |
+ Check the configured ${/acfg/if/ticks-per-time-slice:/name} value.
+ code: |
+ T_eq_u32(
+ rtems_configuration_get_ticks_per_timeslice(),
+ TEST_TICKS_PER_TIMESLICE
+ );
+ links:
+ - role: validation
+ uid: ../if/ticks-per-time-slice
+ - role: validation
+ uid: /rtems/config/if/get-ticks-per-timeslice
+ links: []
+test-brief: |
+ Tests the effect of application configuration options.
+test-context: []
+test-context-support: null
+test-description: null
+test-header: null
+test-includes:
+- rtems.h
+- rtems/score/heap.h
+test-local-includes:
+- ts-config.h
+- tx-support.h
+test-setup: null
+test-stop: null
+test-support: null
+test-target: testsuites/validation/tc-acfg.c
+test-teardown: null
+type: test-case
diff --git a/spec/rtems/config/req/get-idle-task-stack-size.yml b/spec/rtems/config/req/get-idle-task-stack-size.yml
new file mode 100644
index 00000000..8502a444
--- /dev/null
+++ b/spec/rtems/config/req/get-idle-task-stack-size.yml
@@ -0,0 +1,15 @@
+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-idle-task-stack-size
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-idle-task.yml b/spec/rtems/config/req/get-idle-task.yml
new file mode 100644
index 00000000..88208c87
--- /dev/null
+++ b/spec/rtems/config/req/get-idle-task.yml
@@ -0,0 +1,15 @@
+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-idle-task
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-interrupt-stack-size.yml b/spec/rtems/config/req/get-interrupt-stack-size.yml
new file mode 100644
index 00000000..01915570
--- /dev/null
+++ b/spec/rtems/config/req/get-interrupt-stack-size.yml
@@ -0,0 +1,15 @@
+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-interrupt-stack-size
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-barriers.yml b/spec/rtems/config/req/get-maximum-barriers.yml
new file mode 100644
index 00000000..09cd7993
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-barriers.yml
@@ -0,0 +1,16 @@
+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-maximum-barriers
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-extensions.yml b/spec/rtems/config/req/get-maximum-extensions.yml
new file mode 100644
index 00000000..d9aac20a
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-extensions.yml
@@ -0,0 +1,16 @@
+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-maximum-extensions
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-message-queues.yml b/spec/rtems/config/req/get-maximum-message-queues.yml
new file mode 100644
index 00000000..ea87d2ea
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-message-queues.yml
@@ -0,0 +1,16 @@
+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-maximum-message-queues
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-partitions.yml b/spec/rtems/config/req/get-maximum-partitions.yml
new file mode 100644
index 00000000..8a99e006
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-partitions.yml
@@ -0,0 +1,16 @@
+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-maximum-partitions
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-periods.yml b/spec/rtems/config/req/get-maximum-periods.yml
new file mode 100644
index 00000000..fca759cf
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-periods.yml
@@ -0,0 +1,16 @@
+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-maximum-periods
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-processors.yml b/spec/rtems/config/req/get-maximum-processors.yml
new file mode 100644
index 00000000..00ac633c
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-processors.yml
@@ -0,0 +1,15 @@
+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-maximum-processors
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-semaphores.yml b/spec/rtems/config/req/get-maximum-semaphores.yml
new file mode 100644
index 00000000..d8dd775e
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-semaphores.yml
@@ -0,0 +1,16 @@
+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-maximum-semaphores
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-tasks.yml b/spec/rtems/config/req/get-maximum-tasks.yml
new file mode 100644
index 00000000..82159919
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-tasks.yml
@@ -0,0 +1,16 @@
+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-maximum-tasks
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-maximum-timers.yml b/spec/rtems/config/req/get-maximum-timers.yml
new file mode 100644
index 00000000..71e89017
--- /dev/null
+++ b/spec/rtems/config/req/get-maximum-timers.yml
@@ -0,0 +1,16 @@
+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-maximum-timers
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-microseconds-per-tick.yml b/spec/rtems/config/req/get-microseconds-per-tick.yml
new file mode 100644
index 00000000..8d36b75b
--- /dev/null
+++ b/spec/rtems/config/req/get-microseconds-per-tick.yml
@@ -0,0 +1,16 @@
+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-microseconds-per-tick
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-milliseconds-per-tick.yml b/spec/rtems/config/req/get-milliseconds-per-tick.yml
new file mode 100644
index 00000000..34bb8a5a
--- /dev/null
+++ b/spec/rtems/config/req/get-milliseconds-per-tick.yml
@@ -0,0 +1,16 @@
+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-milliseconds-per-tick
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-nanoseconds-per-tick.yml b/spec/rtems/config/req/get-nanoseconds-per-tick.yml
new file mode 100644
index 00000000..ad82916f
--- /dev/null
+++ b/spec/rtems/config/req/get-nanoseconds-per-tick.yml
@@ -0,0 +1,16 @@
+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-nanoseconds-per-tick
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-stack-allocate-hook.yml b/spec/rtems/config/req/get-stack-allocate-hook.yml
new file mode 100644
index 00000000..f3cc9644
--- /dev/null
+++ b/spec/rtems/config/req/get-stack-allocate-hook.yml
@@ -0,0 +1,15 @@
+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-hook
+functional-type: function
+rationale: null
+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}.
+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
new file mode 100644
index 00000000..dd5916a0
--- /dev/null
+++ b/spec/rtems/config/req/get-stack-allocator-avoids-work-space.yml
@@ -0,0 +1,16 @@
+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-allocator-avoids-work-space
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ The ${../if/get-stack-allocator-avoids-work-space:/name} directive shall
+ return the option value configured by
+ ${/acfg/if/task-stack-no-workspace:/name}.
+type: requirement
diff --git a/spec/rtems/config/req/get-stack-free-hook.yml b/spec/rtems/config/req/get-stack-free-hook.yml
new file mode 100644
index 00000000..c2824e78
--- /dev/null
+++ b/spec/rtems/config/req/get-stack-free-hook.yml
@@ -0,0 +1,15 @@
+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-free-hook
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/rtems/config/req/get-ticks-per-timeslice.yml b/spec/rtems/config/req/get-ticks-per-timeslice.yml
new file mode 100644
index 00000000..df2716f4
--- /dev/null
+++ b/spec/rtems/config/req/get-ticks-per-timeslice.yml
@@ -0,0 +1,16 @@
+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-ticks-per-timeslice
+functional-type: function
+rationale: null
+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}.
+type: requirement
diff --git a/spec/testsuites/terminate.yml b/spec/testsuites/terminate.yml
index 8ac5466d..fdf36357 100644
--- a/spec/testsuites/terminate.yml
+++ b/spec/testsuites/terminate.yml
@@ -5,8 +5,6 @@ enabled-by: true
links:
- role: requirement-refinement
uid: /req/test-suites
-- role: validation
- uid: /acfg/req/disable-bsp-settings
test-brief: |
This validation test suite contains a test case for the system termination
procedure.
diff --git a/spec/testsuites/validation-0.yml b/spec/testsuites/validation-0.yml
index 2204e869..85447c65 100644
--- a/spec/testsuites/validation-0.yml
+++ b/spec/testsuites/validation-0.yml
@@ -5,6 +5,8 @@ enabled-by: true
links:
- role: requirement-refinement
uid: /req/test-suites
+- role: validation
+ uid: /acfg/if/appl-needs-clock-driver
test-brief: |
This general purpose validation test suite provides enough resources to run
basic tests for all specified managers and functions.