diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-05 14:41:20 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-08 21:58:56 +0200 |
commit | 616271ea455ef6f67e7ade140fd8c81668d504d7 (patch) | |
tree | 9c0107809cf97fc1df0a6dead10fbb051914bd80 | |
parent | spec: Fix formatting (diff) | |
download | rtems-central-616271ea455ef6f67e7ade140fd8c81668d504d7.tar.bz2 |
spec: Clarify scheduler configuration
-rw-r--r-- | spec/acfg/if/scheduler-assign-no-scheduler.yml | 2 | ||||
-rw-r--r-- | spec/acfg/if/scheduler-assign-processor-mandatory.yml | 2 | ||||
-rw-r--r-- | spec/acfg/if/scheduler-assign-processor-optional.yml | 2 | ||||
-rw-r--r-- | spec/acfg/if/scheduler-assign.yml | 2 | ||||
-rw-r--r-- | spec/acfg/if/scheduler-control-edf-smp.yml | 14 | ||||
-rw-r--r-- | spec/acfg/if/scheduler-control-priority.yml | 14 | ||||
-rw-r--r-- | spec/acfg/req/scheduler-control-edf-smp.yml | 18 | ||||
-rw-r--r-- | spec/acfg/req/scheduler-control-priority.yml | 18 | ||||
-rw-r--r-- | spec/acfg/val/scheduler-table-entries-one-cpu.yml | 2 | ||||
-rw-r--r-- | spec/rtems/scheduler/val/smp-only.yml | 17 |
10 files changed, 84 insertions, 7 deletions
diff --git a/spec/acfg/if/scheduler-assign-no-scheduler.yml b/spec/acfg/if/scheduler-assign-no-scheduler.yml index bf169fd6..9f32984f 100644 --- a/spec/acfg/if/scheduler-assign-no-scheduler.yml +++ b/spec/acfg/if/scheduler-assign-no-scheduler.yml @@ -1,7 +1,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true +enabled-by: RTEMS_SMP index-entries: [] interface-type: unspecified-define links: diff --git a/spec/acfg/if/scheduler-assign-processor-mandatory.yml b/spec/acfg/if/scheduler-assign-processor-mandatory.yml index 3cf53fe0..25d64954 100644 --- a/spec/acfg/if/scheduler-assign-processor-mandatory.yml +++ b/spec/acfg/if/scheduler-assign-processor-mandatory.yml @@ -1,7 +1,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true +enabled-by: RTEMS_SMP index-entries: [] interface-type: unspecified-define links: diff --git a/spec/acfg/if/scheduler-assign-processor-optional.yml b/spec/acfg/if/scheduler-assign-processor-optional.yml index 2bcb89f1..67a80bdb 100644 --- a/spec/acfg/if/scheduler-assign-processor-optional.yml +++ b/spec/acfg/if/scheduler-assign-processor-optional.yml @@ -1,7 +1,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true +enabled-by: RTEMS_SMP index-entries: [] interface-type: unspecified-define links: diff --git a/spec/acfg/if/scheduler-assign.yml b/spec/acfg/if/scheduler-assign.yml index 184370e9..01b98ad3 100644 --- a/spec/acfg/if/scheduler-assign.yml +++ b/spec/acfg/if/scheduler-assign.yml @@ -1,7 +1,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true +enabled-by: RTEMS_SMP index-entries: [] interface-type: unspecified-macro links: diff --git a/spec/acfg/if/scheduler-control-edf-smp.yml b/spec/acfg/if/scheduler-control-edf-smp.yml new file mode 100644 index 00000000..3fae05ed --- /dev/null +++ b/spec/acfg/if/scheduler-control-edf-smp.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: RTEMS_SMP +index-entries: [] +interface-type: unspecified-macro +links: +- role: interface-placement + uid: header-scheduler +- role: interface-ingroup + uid: group-schedgeneral +name: RTEMS_SCHEDULER_EDF_SMP +references: [] +type: interface diff --git a/spec/acfg/if/scheduler-control-priority.yml b/spec/acfg/if/scheduler-control-priority.yml new file mode 100644 index 00000000..335dc87f --- /dev/null +++ b/spec/acfg/if/scheduler-control-priority.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +index-entries: [] +interface-type: unspecified-macro +links: +- role: interface-placement + uid: header-scheduler +- role: interface-ingroup + uid: group-schedgeneral +name: RTEMS_SCHEDULER_PRIORITY +references: [] +type: interface diff --git a/spec/acfg/req/scheduler-control-edf-smp.yml b/spec/acfg/req/scheduler-control-edf-smp.yml new file mode 100644 index 00000000..57f79bcc --- /dev/null +++ b/spec/acfg/req/scheduler-control-edf-smp.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: RTEMS_SMP +functional-type: function +links: +- role: interface-function + uid: ../if/scheduler-control-edf-smp +- role: requirement-refinement + uid: group +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/scheduler-control-edf-smp:/name} macro shall define a scheduler + control data structure for the ${/doc/if/scheduler-smp-edf:/name} scheduler + with the specified name. +type: requirement diff --git a/spec/acfg/req/scheduler-control-priority.yml b/spec/acfg/req/scheduler-control-priority.yml new file mode 100644 index 00000000..f4902eef --- /dev/null +++ b/spec/acfg/req/scheduler-control-priority.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/scheduler-control-priority +- role: requirement-refinement + uid: group +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/scheduler-control-priority:/name} macro shall define a scheduler + control data structure for the ${/doc/if/scheduler-priority:/name} scheduler + with the specified name and priority count. +type: requirement diff --git a/spec/acfg/val/scheduler-table-entries-one-cpu.yml b/spec/acfg/val/scheduler-table-entries-one-cpu.yml index 2286fe52..a2996782 100644 --- a/spec/acfg/val/scheduler-table-entries-one-cpu.yml +++ b/spec/acfg/val/scheduler-table-entries-one-cpu.yml @@ -18,6 +18,8 @@ test-actions: links: - role: validation uid: ../req/scheduler-table-entries + - role: validation + uid: ../req/scheduler-control-priority links: [] test-brief: | Tests the effect of ${/acfg/if/scheduler-table-entries:/name} the application diff --git a/spec/rtems/scheduler/val/smp-only.yml b/spec/rtems/scheduler/val/smp-only.yml index 25a7eb87..7535f5fa 100644 --- a/spec/rtems/scheduler/val/smp-only.yml +++ b/spec/rtems/scheduler/val/smp-only.yml @@ -66,9 +66,10 @@ test-actions: - action-brief: | Call ${../if/ident:/name} for each configured scheduler. action-code: | - rtems_status_code sc; - rtems_id id[ 4 ]; - rtems_id id_by_cpu; + rtems_status_code sc; + rtems_id id[ 4 ]; + rtems_id id_by_cpu; + rtems_task_priority priority; sc = rtems_scheduler_ident( TEST_SCHEDULER_A_NAME, &id[ 0 ]); T_step_rsc_success( ${.:/step}, sc ); @@ -121,6 +122,15 @@ test-actions: - role: validation uid: /acfg/req/scheduler-assign-scheduler - brief: | + Check that scheduler B has the maximum priority of the EDF SMP scheduler. + code: | + sc = rtems_scheduler_get_maximum_priority( id_by_cpu, &priority ); + T_step_rsc_success( ${.:/step}, sc ); + T_step_eq_u32( ${.:/step}, priority, (uint32_t) INT_MAX ); + links: + - role: validation + uid: /acfg/req/scheduler-control-edf-smp + - brief: | Check that processor 2 has scheduler C assigned if it is present. code: | sc = rtems_scheduler_ident_by_processor( 2, &id_by_cpu ); @@ -147,6 +157,7 @@ test-context-support: null test-description: null test-header: null test-includes: +- limits.h - rtems.h test-local-includes: - ts-config.h |