diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-09-16 11:48:29 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-09-16 16:33:00 +0200 |
commit | 3bdf817950eadd75a2785b62220eb0b04533b9fd (patch) | |
tree | ed221c6de813e7a473e2882af6326bf2e5b44bd1 | |
parent | 724df1c5ef711c9399cd8c33b23aee40304d0332 (diff) |
spec: Group items by component
1633 files changed, 16985 insertions, 16988 deletions
@@ -51,49 +51,49 @@ glossary: appl-config: doxygen-target: modules/rtems/cpukit/doxygen/appl-config.h groups: - - uid: /if/acfg/group-bdbuf + - uid: /acfg/if/group-bdbuf target: modules/rtems-docs/c-user/config/bdbuf.rst - - uid: /if/acfg/group-bsp + - uid: /acfg/if/group-bsp target: modules/rtems-docs/c-user/config/bsp-related.rst - - uid: /if/acfg/group-classic + - uid: /acfg/if/group-classic target: modules/rtems-docs/c-user/config/classic-api.rst - - uid: /if/acfg/group-classicinit + - uid: /acfg/if/group-classicinit target: modules/rtems-docs/c-user/config/classic-init-task.rst - - uid: /if/acfg/group-devdrv + - uid: /acfg/if/group-devdrv target: modules/rtems-docs/c-user/config/device-driver.rst - - uid: /if/acfg/group-eventrecord + - uid: /acfg/if/group-eventrecord target: modules/rtems-docs/c-user/config/event-record.rst - - uid: /if/acfg/group-filesystem + - uid: /acfg/if/group-filesystem target: modules/rtems-docs/c-user/config/filesystem.rst - - uid: /if/acfg/group-general + - uid: /acfg/if/group-general target: modules/rtems-docs/c-user/config/general.rst - - uid: /if/acfg/group-idle + - uid: /acfg/if/group-idle target: modules/rtems-docs/c-user/config/idle-task.rst - - uid: /if/acfg/group-mpci + - uid: /acfg/if/group-mpci target: modules/rtems-docs/c-user/config/mpci.rst - - uid: /if/acfg/group-posix + - uid: /acfg/if/group-posix target: modules/rtems-docs/c-user/config/posix-api.rst - - uid: /if/acfg/group-posixinit + - uid: /acfg/if/group-posixinit target: modules/rtems-docs/c-user/config/posix-init-thread.rst - - uid: /if/acfg/group-schedgeneral + - uid: /acfg/if/group-schedgeneral target: modules/rtems-docs/c-user/config/scheduler-general.rst - - uid: /if/acfg/group-stackalloc + - uid: /acfg/if/group-stackalloc target: modules/rtems-docs/c-user/config/task-stack-alloc.rst validation: base-directory: modules/rtems interface: item-level-interfaces: - - /if/build-options/container - - /if/compiler/container - - /if/use/container + - /build-options/if/container + - /compiler/if/container + - /user/if/container domains: - /if/domains/api: modules/rtems + /if/domain: modules/rtems interface-documentation: - directives-target: modules/rtems-docs/c-user/sem/directives.rst - group: /if/rtems/sem/group + group: /rtems/sem/if/group introduction-target: modules/rtems-docs/c-user/sem/introduction.rst - directives-target: modules/rtems-docs/c-user/event/directives.rst - group: /if/rtems/event/group + group: /rtems/event/if/group introduction-target: modules/rtems-docs/c-user/event/introduction.rst spec-verification: root-type: /spec/root diff --git a/spec/acfg/if/appl-disable-filesystem.yml b/spec/acfg/if/appl-disable-filesystem.yml new file mode 100644 index 00000000..f528b4d8 --- /dev/null +++ b/spec/acfg/if/appl-disable-filesystem.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then a base filesystem and the + configured filesystems are initialized during system initialization. +description: | + In case this configuration option is defined, then **no base filesystem** is + initialized during system initialization and **no filesystems** are + configured. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_APPLICATION_DISABLE_FILESYSTEM +notes: | + Filesystems shall be initialized to support file descriptor based device + drivers and basic input/output functions such as ${/c/if/printf:/name}. + Filesystems can be disabled to reduce the memory footprint of an application. +text: '' +type: interface diff --git a/spec/if/acfg/appl-does-not-need-clock-driver.yml b/spec/acfg/if/appl-does-not-need-clock-driver.yml index fcfb0a8e..fcfb0a8e 100644 --- a/spec/if/acfg/appl-does-not-need-clock-driver.yml +++ b/spec/acfg/if/appl-does-not-need-clock-driver.yml diff --git a/spec/acfg/if/appl-extra-drivers.yml b/spec/acfg/if/appl-extra-drivers.yml new file mode 100644 index 00000000..23e2d4c7 --- /dev/null +++ b/spec/acfg/if/appl-extra-drivers.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: initializer +constraints: + texts: + - | + The value of this configuration option shall be a list of initializers for + structures of type ${/rtems/io/if/driver-address-table:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is the empty list. +description: | + The value of this configuration option is used to initialize the Device + Driver Table. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-devdrv +name: CONFIGURE_APPLICATION_EXTRA_DRIVERS +notes: | + The value of this configuration option is placed after the entries of other + device driver configuration options. + + See ${appl-prerequisite-drivers:/name} for an alternative + placement of application device driver initializers. +text: '' +type: interface diff --git a/spec/if/acfg/appl-needs-ata-driver.yml b/spec/acfg/if/appl-needs-ata-driver.yml index a7a3344c..a7a3344c 100644 --- a/spec/if/acfg/appl-needs-ata-driver.yml +++ b/spec/acfg/if/appl-needs-ata-driver.yml diff --git a/spec/if/acfg/appl-needs-clock-driver.yml b/spec/acfg/if/appl-needs-clock-driver.yml index 55b1dcb7..55b1dcb7 100644 --- a/spec/if/acfg/appl-needs-clock-driver.yml +++ b/spec/acfg/if/appl-needs-clock-driver.yml diff --git a/spec/acfg/if/appl-needs-console-driver.yml b/spec/acfg/if/appl-needs-console-driver.yml new file mode 100644 index 00000000..3885389d --- /dev/null +++ b/spec/acfg/if/appl-needs-console-driver.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature-enable +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + In case this configuration option is defined, then the Console Driver is + initialized during system initialization. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-devdrv +name: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +notes: | + The Console Driver is responsible for providing the :file:`/dev/console` + device file. This device is used to initialize the standard input, output, + and error file descriptors. + + BSPs should be constructed in a manner that allows ${/rtems/io/if/printk:/name} to work + properly without the need for the Console Driver to be configured. + + The + + * ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``, + + * ${appl-needs-simple-console-driver:/name}, and + + * ${appl-needs-simple-task-console-driver:/name} + + configuration options are mutually exclusive. +text: '' +type: interface diff --git a/spec/if/acfg/appl-needs-framebuffer-driver.yml b/spec/acfg/if/appl-needs-framebuffer-driver.yml index 654b5a2d..654b5a2d 100644 --- a/spec/if/acfg/appl-needs-framebuffer-driver.yml +++ b/spec/acfg/if/appl-needs-framebuffer-driver.yml diff --git a/spec/if/acfg/appl-needs-ide-driver.yml b/spec/acfg/if/appl-needs-ide-driver.yml index 17969fea..17969fea 100644 --- a/spec/if/acfg/appl-needs-ide-driver.yml +++ b/spec/acfg/if/appl-needs-ide-driver.yml diff --git a/spec/if/acfg/appl-needs-libblock.yml b/spec/acfg/if/appl-needs-libblock.yml index dfbaa333..dfbaa333 100644 --- a/spec/if/acfg/appl-needs-libblock.yml +++ b/spec/acfg/if/appl-needs-libblock.yml diff --git a/spec/if/acfg/appl-needs-null-driver.yml b/spec/acfg/if/appl-needs-null-driver.yml index b7f5722d..b7f5722d 100644 --- a/spec/if/acfg/appl-needs-null-driver.yml +++ b/spec/acfg/if/appl-needs-null-driver.yml diff --git a/spec/if/acfg/appl-needs-rtc-driver.yml b/spec/acfg/if/appl-needs-rtc-driver.yml index bb0bfd3e..bb0bfd3e 100644 --- a/spec/if/acfg/appl-needs-rtc-driver.yml +++ b/spec/acfg/if/appl-needs-rtc-driver.yml diff --git a/spec/acfg/if/appl-needs-simple-console-driver.yml b/spec/acfg/if/appl-needs-simple-console-driver.yml new file mode 100644 index 00000000..2c991d67 --- /dev/null +++ b/spec/acfg/if/appl-needs-simple-console-driver.yml @@ -0,0 +1,37 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature-enable +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + In case this configuration option is defined, then the Simple Console Driver + is initialized during system initialization. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-devdrv +name: CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER +notes: | + This device driver is responsible for providing the :file:`/dev/console` + device file. This device is used to initialize the standard input, output, + and error file descriptors. + + This device driver reads via ${/rtems/io/if/getchark:/name}. + + This device driver writes via ${/rtems/io/if/putc:/name}. + + The Termios framework is not used. There is no support to change device + settings, e.g. baud, stop bits, parity, etc. + + The + + * ${appl-needs-console-driver:/name}, + + * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and + + * ${appl-needs-simple-task-console-driver:/name} + + configuration options are mutually exclusive. +text: '' +type: interface diff --git a/spec/acfg/if/appl-needs-simple-task-console-driver.yml b/spec/acfg/if/appl-needs-simple-task-console-driver.yml new file mode 100644 index 00000000..8f3f4325 --- /dev/null +++ b/spec/acfg/if/appl-needs-simple-task-console-driver.yml @@ -0,0 +1,46 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature-enable +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + In case this configuration option is defined, then the Simple Task Console + Driver is initialized during system initialization. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-devdrv +name: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER +notes: | + This device driver is responsible for providing the :file:`/dev/console` + device file. This device is used to initialize the standard input, output, + and error file descriptors. + + This device driver reads via ${/rtems/io/if/getchark:/name}. + + This device driver writes into a write buffer. The count of characters + written into the write buffer is returned. It might be less than the + requested count, in case the write buffer is full. The write is + non-blocking and may be called from interrupt context. A dedicated task + reads from the write buffer and outputs the characters via + ${/rtems/io/if/putc:/name}. This task runs with the least important priority. + The write buffer size is 2047 characters and it is not configurable. + + Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain the + write buffer. + + The Termios framework is not used. There is no support to change device + settings, e.g. baud, stop bits, parity, etc. + + The + + * ${appl-needs-console-driver:/name}, + + * ${appl-needs-simple-console-driver:/name}, and + + * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`` + + configuration options are mutually exclusive. +text: '' +type: interface diff --git a/spec/if/acfg/appl-needs-stub-driver.yml b/spec/acfg/if/appl-needs-stub-driver.yml index 36654cfe..36654cfe 100644 --- a/spec/if/acfg/appl-needs-stub-driver.yml +++ b/spec/acfg/if/appl-needs-stub-driver.yml diff --git a/spec/if/acfg/appl-needs-timer-driver.yml b/spec/acfg/if/appl-needs-timer-driver.yml index 5feff510..5feff510 100644 --- a/spec/if/acfg/appl-needs-timer-driver.yml +++ b/spec/acfg/if/appl-needs-timer-driver.yml diff --git a/spec/if/acfg/appl-needs-watchdog-driver.yml b/spec/acfg/if/appl-needs-watchdog-driver.yml index 63053c98..63053c98 100644 --- a/spec/if/acfg/appl-needs-watchdog-driver.yml +++ b/spec/acfg/if/appl-needs-watchdog-driver.yml diff --git a/spec/if/acfg/appl-needs-zero-driver.yml b/spec/acfg/if/appl-needs-zero-driver.yml index d69f3489..d69f3489 100644 --- a/spec/if/acfg/appl-needs-zero-driver.yml +++ b/spec/acfg/if/appl-needs-zero-driver.yml diff --git a/spec/acfg/if/appl-prerequisite-drivers.yml b/spec/acfg/if/appl-prerequisite-drivers.yml new file mode 100644 index 00000000..13f98c9e --- /dev/null +++ b/spec/acfg/if/appl-prerequisite-drivers.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: initializer +constraints: + texts: + - | + The value of this configuration option shall be a list of initializers for + structures of type ${/rtems/io/if/driver-address-table:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is the empty list. +description: | + The value of this configuration option is used to initialize the Device + Driver Table. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-devdrv +name: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS +notes: | + The value of this configuration option is placed after the entries defined by + ${bsp-prerequisite-drivers:/name} and before all other device driver + configuration options. + + See ${appl-extra-drivers:/name} for an alternative placement + of application device driver initializers. +text: '' +type: interface diff --git a/spec/if/acfg/ata-driver-task-priority.yml b/spec/acfg/if/ata-driver-task-priority.yml index f277c07b..f277c07b 100644 --- a/spec/if/acfg/ata-driver-task-priority.yml +++ b/spec/acfg/if/ata-driver-task-priority.yml diff --git a/spec/if/acfg/bdbuf-buffer-max-size.yml b/spec/acfg/if/bdbuf-buffer-max-size.yml index 1c6a4115..1c6a4115 100644 --- a/spec/if/acfg/bdbuf-buffer-max-size.yml +++ b/spec/acfg/if/bdbuf-buffer-max-size.yml diff --git a/spec/acfg/if/bdbuf-buffer-min-size.yml b/spec/acfg/if/bdbuf-buffer-min-size.yml new file mode 100644 index 00000000..767a58f4 --- /dev/null +++ b/spec/acfg/if/bdbuf-buffer-min-size.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 512 +description: | + The value of this configuration option defines the minimum size of a buffer + in bytes. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +name: CONFIGURE_BDBUF_BUFFER_MIN_SIZE +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/bdbuf-cache-memory-size.yml b/spec/acfg/if/bdbuf-cache-memory-size.yml new file mode 100644 index 00000000..9c9e52c1 --- /dev/null +++ b/spec/acfg/if/bdbuf-cache-memory-size.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/size_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 32768 +description: | + The value of this configuration option defines the size of the cache memory + in bytes. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +name: CONFIGURE_BDBUF_CACHE_MEMORY_SIZE +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/bdbuf-max-read-ahead-blocks.yml b/spec/acfg/if/bdbuf-max-read-ahead-blocks.yml new file mode 100644 index 00000000..32db192e --- /dev/null +++ b/spec/acfg/if/bdbuf-max-read-ahead-blocks.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 0 +description: | + The value of this configuration option defines the maximum blocks per + read-ahead request. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +name: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS +notes: | + A value of 0 disables the read-ahead task (default). The read-ahead task + will issue speculative read transfers if a sequential access pattern is + detected. This can improve the performance on some systems. +text: '' +type: interface diff --git a/spec/acfg/if/bdbuf-max-write-blocks.yml b/spec/acfg/if/bdbuf-max-write-blocks.yml new file mode 100644 index 00000000..a85bcb1f --- /dev/null +++ b/spec/acfg/if/bdbuf-max-write-blocks.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 16 +description: | + The value of this configuration option defines the maximum blocks per write + request. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +name: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS +notes: null +text: '' +type: interface diff --git a/spec/if/acfg/bdbuf-read-ahead-task-priority.yml b/spec/acfg/if/bdbuf-read-ahead-task-priority.yml index 34ed8993..34ed8993 100644 --- a/spec/if/acfg/bdbuf-read-ahead-task-priority.yml +++ b/spec/acfg/if/bdbuf-read-ahead-task-priority.yml diff --git a/spec/acfg/if/bdbuf-swapout-block-hold.yml b/spec/acfg/if/bdbuf-swapout-block-hold.yml new file mode 100644 index 00000000..5a2d5eb3 --- /dev/null +++ b/spec/acfg/if/bdbuf-swapout-block-hold.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 1000 +description: | + The value of this configuration option defines the swapout task maximum block + hold time in milliseconds. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +name: CONFIGURE_SWAPOUT_BLOCK_HOLD +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/bdbuf-swapout-swap-period.yml b/spec/acfg/if/bdbuf-swapout-swap-period.yml new file mode 100644 index 00000000..1d679570 --- /dev/null +++ b/spec/acfg/if/bdbuf-swapout-swap-period.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 250 +description: | + The value of this configuration option defines the swapout task swap period + in milliseconds. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +name: CONFIGURE_SWAPOUT_SWAP_PERIOD +notes: null +text: '' +type: interface diff --git a/spec/if/acfg/bdbuf-swapout-task-priority.yml b/spec/acfg/if/bdbuf-swapout-task-priority.yml index 82a5dd09..82a5dd09 100644 --- a/spec/if/acfg/bdbuf-swapout-task-priority.yml +++ b/spec/acfg/if/bdbuf-swapout-task-priority.yml diff --git a/spec/if/acfg/bdbuf-swapout-worker-taskp-riority.yml b/spec/acfg/if/bdbuf-swapout-worker-taskp-riority.yml index fa942af0..fa942af0 100644 --- a/spec/if/acfg/bdbuf-swapout-worker-taskp-riority.yml +++ b/spec/acfg/if/bdbuf-swapout-worker-taskp-riority.yml diff --git a/spec/acfg/if/bdbuf-swapout-worker-tasks.yml b/spec/acfg/if/bdbuf-swapout-worker-tasks.yml new file mode 100644 index 00000000..5d1a0799 --- /dev/null +++ b/spec/acfg/if/bdbuf-swapout-worker-tasks.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 0 +description: | + The value of this configuration option defines the swapout worker task count. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +name: CONFIGURE_SWAPOUT_WORKER_TASKS +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/bdbuf-task-stack-size.yml b/spec/acfg/if/bdbuf-task-stack-size.yml new file mode 100644 index 00000000..7d9727f3 --- /dev/null +++ b/spec/acfg/if/bdbuf-task-stack-size.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + min: ${min-task-stack-size:/name} +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: ${/rtems/task/if/minimum-stack-size:/name} +description: | + The value of this configuration option defines the task stack size of the + Block Device Cache tasks in bytes. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bdbuf +- role: constraint + uid: constraint-stackspace +- role: constraint + uid: constraint-memsz +name: CONFIGURE_BDBUF_TASK_STACK_SIZE +notes: null +text: '' +type: interface diff --git a/spec/if/acfg/bsp-idle-task-body.yml b/spec/acfg/if/bsp-idle-task-body.yml index ff8cd034..ff8cd034 100644 --- a/spec/if/acfg/bsp-idle-task-body.yml +++ b/spec/acfg/if/bsp-idle-task-body.yml diff --git a/spec/if/acfg/bsp-idle-task-stack-size.yml b/spec/acfg/if/bsp-idle-task-stack-size.yml index 63e9111e..63e9111e 100644 --- a/spec/if/acfg/bsp-idle-task-stack-size.yml +++ b/spec/acfg/if/bsp-idle-task-stack-size.yml diff --git a/spec/acfg/if/bsp-initial-extension.yml b/spec/acfg/if/bsp-initial-extension.yml new file mode 100644 index 00000000..9fb2b3ab --- /dev/null +++ b/spec/acfg/if/bsp-initial-extension.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: initializer +constraints: + texts: + - | + The value of this configuration option shall be a list of initializers for + structures of type ${/rtems/userext/if/table:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is BSP-specific. +description: | + If + + * this configuration option is defined by the BSP + + * and ${disable-bsp-settings:/name} is undefined, + + then the value of this configuration option is used to initialize the table + of initial user extensions. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bsp +name: BSP_INITIAL_EXTENSION +notes: | + The value of this configuration option is placed after the entries of all + other initial user extensions. +text: '' +type: interface diff --git a/spec/if/acfg/bsp-interrupt-stack-size.yml b/spec/acfg/if/bsp-interrupt-stack-size.yml index 82edfaa1..82edfaa1 100644 --- a/spec/if/acfg/bsp-interrupt-stack-size.yml +++ b/spec/acfg/if/bsp-interrupt-stack-size.yml diff --git a/spec/acfg/if/bsp-prerequisite-drivers.yml b/spec/acfg/if/bsp-prerequisite-drivers.yml new file mode 100644 index 00000000..6e7eb974 --- /dev/null +++ b/spec/acfg/if/bsp-prerequisite-drivers.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: initializer +constraints: + texts: + - | + The value of this configuration option shall be a list of initializers for + structures of type ${/rtems/userext/if/table:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is BSP-specific. +description: | + If + + * this configuration option is defined by the BSP + + * and ${disable-bsp-settings:/name} is undefined, + + then the value of this configuration option is used to initialize the table + of initial user extensions. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bsp +name: CONFIGURE_BSP_PREREQUISITE_DRIVERS +notes: | + The value of this configuration option is placed before the entries of all + other initial user extensions (including + ${appl-prerequisite-drivers:/name}). +text: '' +type: interface diff --git a/spec/acfg/if/cbs-max-servers.yml b/spec/acfg/if/cbs-max-servers.yml new file mode 100644 index 00000000..41eda107 --- /dev/null +++ b/spec/acfg/if/cbs-max-servers.yml @@ -0,0 +1,25 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/size_max:/name} + min: 0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default-value: ${max-tasks:/name} +description: | + The value of this configuration option defines the maximum number Constant + Bandwidth Servers that can be concurrently active. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-schedgeneral +- role: constraint + uid: constraint-memsz +name: CONFIGURE_CBS_MAXIMUM_SERVERS +notes: | + This configuration option is only evaluated if the configuration option + ${scheduler-cbs:/name} is defined. +text: '' +type: interface diff --git a/spec/if/acfg/constraint-bspappmin.yml b/spec/acfg/if/constraint-bspappmin.yml index 0cebb9b6..0cebb9b6 100644 --- a/spec/if/acfg/constraint-bspappmin.yml +++ b/spec/acfg/if/constraint-bspappmin.yml diff --git a/spec/acfg/if/constraint-idlestackarea.yml b/spec/acfg/if/constraint-idlestackarea.yml new file mode 100644 index 00000000..93301fc5 --- /dev/null +++ b/spec/acfg/if/constraint-idlestackarea.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +rationale: null +scope: user +text: | + The value of this configuration option shall be small enough so that the IDLE + task stack area calculation carried out by ``<rtems/confdefs.h>`` does not + overflow an integer of type ${/c/if/size_t:/name}. +type: constraint diff --git a/spec/acfg/if/constraint-isrstackalign.yml b/spec/acfg/if/constraint-isrstackalign.yml new file mode 100644 index 00000000..0282dfc3 --- /dev/null +++ b/spec/acfg/if/constraint-isrstackalign.yml @@ -0,0 +1,11 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +rationale: null +scope: user +text: | + The value of this configuration option shall be aligned according to + ${/score/cpu/if/interrupt-stack-alignment:/name}. +type: constraint diff --git a/spec/acfg/if/constraint-isrstackarea.yml b/spec/acfg/if/constraint-isrstackarea.yml new file mode 100644 index 00000000..12821341 --- /dev/null +++ b/spec/acfg/if/constraint-isrstackarea.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +rationale: null +scope: user +text: | + The value of this configuration option shall be small enough so that the + interrupt stack area calculation carried out by ``<rtems/confdefs.h>`` does + not overflow an integer of type ${/c/if/size_t:/name}. +type: constraint diff --git a/spec/if/acfg/constraint-memsz.yml b/spec/acfg/if/constraint-memsz.yml index b3a2204e..b3a2204e 100644 --- a/spec/if/acfg/constraint-memsz.yml +++ b/spec/acfg/if/constraint-memsz.yml diff --git a/spec/if/acfg/constraint-posix.yml b/spec/acfg/if/constraint-posix.yml index fa76c0a3..fa76c0a3 100644 --- a/spec/if/acfg/constraint-posix.yml +++ b/spec/acfg/if/constraint-posix.yml diff --git a/spec/if/acfg/constraint-prioclassic.yml b/spec/acfg/if/constraint-prioclassic.yml index dead5852..dead5852 100644 --- a/spec/if/acfg/constraint-prioclassic.yml +++ b/spec/acfg/if/constraint-prioclassic.yml diff --git a/spec/acfg/if/constraint-stackspace.yml b/spec/acfg/if/constraint-stackspace.yml new file mode 100644 index 00000000..e1110ab4 --- /dev/null +++ b/spec/acfg/if/constraint-stackspace.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +rationale: null +scope: user +text: | + The value of this configuration option shall be small enough so that the task + stack space calculation carried out by ``<rtems/confdefs.h>`` does not + overflow an integer of type ${/c/if/uintptr_t:/name}. +type: constraint diff --git a/spec/acfg/if/constraint-unlimited.yml b/spec/acfg/if/constraint-unlimited.yml new file mode 100644 index 00000000..c0ca1f4f --- /dev/null +++ b/spec/acfg/if/constraint-unlimited.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +rationale: null +scope: user +text: | + The value of this configuration option may be defined through + ${/rtems/config/if/resource-unlimited:/name} the enable unlimited objects for this + object class, if the value passed to ${/rtems/config/if/resource-unlimited:/name} + satisfies all other constraints of this configuration option. +type: constraint diff --git a/spec/acfg/if/constraint-wkspace.yml b/spec/acfg/if/constraint-wkspace.yml new file mode 100644 index 00000000..826721cc --- /dev/null +++ b/spec/acfg/if/constraint-wkspace.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +rationale: null +scope: user +text: | + The value of this configuration option shall be small enough so that the + RTEMS Workspace size calculation carried out by ``<rtems/confdefs.h>`` does + not overflow an integer of type ${/c/if/uintptr_t:/name}. +type: constraint diff --git a/spec/if/acfg/dirty-memory.yml b/spec/acfg/if/dirty-memory.yml index 1813d2bc..1813d2bc 100644 --- a/spec/if/acfg/dirty-memory.yml +++ b/spec/acfg/if/dirty-memory.yml diff --git a/spec/if/acfg/disable-bsp-settings.yml b/spec/acfg/if/disable-bsp-settings.yml index 84b376c0..84b376c0 100644 --- a/spec/if/acfg/disable-bsp-settings.yml +++ b/spec/acfg/if/disable-bsp-settings.yml diff --git a/spec/acfg/if/disable-newlib-reentrancy.yml b/spec/acfg/if/disable-newlib-reentrancy.yml new file mode 100644 index 00000000..530a1b77 --- /dev/null +++ b/spec/acfg/if/disable-newlib-reentrancy.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature-enable +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + In case this configuration option is defined, then the Newlib reentrancy + support per thread is disabled and a global reentrancy structure is used. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +name: CONFIGURE_DISABLE_NEWLIB_REENTRANCY +notes: | + You can enable this option to reduce the size of the :term:`TCB`. Use this + option with care, since it can lead to race conditions and undefined system + behaviour. For example, ${/c/if/errno:/name} is no longer a thread-local + variable if this option is enabled. +text: '' +type: interface diff --git a/spec/acfg/if/executive-ram-size.yml b/spec/acfg/if/executive-ram-size.yml new file mode 100644 index 00000000..89f4f960 --- /dev/null +++ b/spec/acfg/if/executive-ram-size.yml @@ -0,0 +1,28 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uintptr_max:/name} + min: 0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default-value: | + If this configuration option is undefined, then the RTEMS Workspace and task + stack space size is calculated by ``<rtems/confdefs.h>`` based on the values + configuration options. +description: | + The value of this configuration option defines the RTEMS Workspace size in + bytes. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +- role: constraint + uid: constraint-memsz +name: CONFIGURE_EXECUTIVE_RAM_SIZE +notes: | + This is an advanced configuration option. Use it only if you know exactly + what you are doing. +text: '' +type: interface diff --git a/spec/if/acfg/extra-task-stacks.yml b/spec/acfg/if/extra-task-stacks.yml index c9d16774..c9d16774 100644 --- a/spec/if/acfg/extra-task-stacks.yml +++ b/spec/acfg/if/extra-task-stacks.yml diff --git a/spec/if/acfg/filesystem-all.yml b/spec/acfg/if/filesystem-all.yml index 04a578a6..04a578a6 100644 --- a/spec/if/acfg/filesystem-all.yml +++ b/spec/acfg/if/filesystem-all.yml diff --git a/spec/if/acfg/filesystem-dosfs.yml b/spec/acfg/if/filesystem-dosfs.yml index bd69f4cb..bd69f4cb 100644 --- a/spec/if/acfg/filesystem-dosfs.yml +++ b/spec/acfg/if/filesystem-dosfs.yml diff --git a/spec/if/acfg/filesystem-ftpfs.yml b/spec/acfg/if/filesystem-ftpfs.yml index aca6c3f5..aca6c3f5 100644 --- a/spec/if/acfg/filesystem-ftpfs.yml +++ b/spec/acfg/if/filesystem-ftpfs.yml diff --git a/spec/if/acfg/filesystem-imfs.yml b/spec/acfg/if/filesystem-imfs.yml index dfeb3469..dfeb3469 100644 --- a/spec/if/acfg/filesystem-imfs.yml +++ b/spec/acfg/if/filesystem-imfs.yml diff --git a/spec/if/acfg/filesystem-jffs2.yml b/spec/acfg/if/filesystem-jffs2.yml index ca9c5b01..ca9c5b01 100644 --- a/spec/if/acfg/filesystem-jffs2.yml +++ b/spec/acfg/if/filesystem-jffs2.yml diff --git a/spec/if/acfg/filesystem-nfs.yml b/spec/acfg/if/filesystem-nfs.yml index a846229b..a846229b 100644 --- a/spec/if/acfg/filesystem-nfs.yml +++ b/spec/acfg/if/filesystem-nfs.yml diff --git a/spec/if/acfg/filesystem-rfs.yml b/spec/acfg/if/filesystem-rfs.yml index af9d4f26..af9d4f26 100644 --- a/spec/if/acfg/filesystem-rfs.yml +++ b/spec/acfg/if/filesystem-rfs.yml diff --git a/spec/if/acfg/filesystem-tftpfs.yml b/spec/acfg/if/filesystem-tftpfs.yml index 9ab6d4d2..9ab6d4d2 100644 --- a/spec/if/acfg/filesystem-tftpfs.yml +++ b/spec/acfg/if/filesystem-tftpfs.yml diff --git a/spec/acfg/if/group-bdbuf.yml b/spec/acfg/if/group-bdbuf.yml new file mode 100644 index 00000000..1824fa9e --- /dev/null +++ b/spec/acfg/if/group-bdbuf.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the Block Device Cache + (bdbuf). +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Block Device Cache Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-bsp.yml b/spec/acfg/if/group-bsp.yml new file mode 100644 index 00000000..239cec43 --- /dev/null +++ b/spec/acfg/if/group-bsp.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the BSP. Some + configuration options may have a BSP-specific setting which is defined by + ``<bsp.h>``. The BSP-specific settings can be disabled by the + ${disable-bsp-settings:/name} configuration option. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: BSP Related Configuration Options +text: '' +type: interface diff --git a/spec/acfg/if/group-classic.yml b/spec/acfg/if/group-classic.yml new file mode 100644 index 00000000..8b33606b --- /dev/null +++ b/spec/acfg/if/group-classic.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the Classic API. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Classic API Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-classicinit.yml b/spec/acfg/if/group-classicinit.yml new file mode 100644 index 00000000..f8786b5d --- /dev/null +++ b/spec/acfg/if/group-classicinit.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the Classic API + initialization task. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Classic API Initialization Task Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-devdrv.yml b/spec/acfg/if/group-devdrv.yml new file mode 100644 index 00000000..264d9903 --- /dev/null +++ b/spec/acfg/if/group-devdrv.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the device drivers. + Note that network device drivers are not covered by the following options. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Device Driver Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-eventrecord.yml b/spec/acfg/if/group-eventrecord.yml new file mode 100644 index 00000000..5fe6e6ee --- /dev/null +++ b/spec/acfg/if/group-eventrecord.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + This section describes configuration options related to the event recording. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Event Recording Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-filesystem.yml b/spec/acfg/if/group-filesystem.yml new file mode 100644 index 00000000..2349b0e4 --- /dev/null +++ b/spec/acfg/if/group-filesystem.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to filesytems. + By default, the In-Memory Filesystem (IMFS) is used as the base filesystem (also + known as root filesystem). In order to save some memory for your application, + you can disable the filesystem support with the + ${appl-disable-filesystem:/name} configuration option. + Alternatively, you can strip down the features of the base filesystem with the + ${use-miniimfs-as-base-filesystem:/name} and + ${use-devfs-as-base-filesystem:/name} configuration options. These + three configuration options are mutually exclusive. They are intended for an + advanced application configuration. + + Features of the IMFS can be disabled and enabled with the following + configuration options: + + * ${imfs-disable-chmod:/name} + + * ${imfs-disable-chown:/name} + + * ${imfs-disable-link:/name} + + * ${imfs-disable-mknod:/name} + + * ${imfs-disable-mknod-file:/name} + + * ${imfs-disable-mount:/name} + + * ${imfs-disable-readdir:/name} + + * ${imfs-disable-readlink:/name} + + * ${imfs-disable-rename:/name} + + * ${imfs-disable-rmnod:/name} + + * ${imfs-disable-symlink:/name} + + * ${imfs-disable-unmount:/name} + + * ${imfs-disable-utime:/name} + + * ${imfs-enable-mkfifo:/name} +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Filesystem Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-general.yml b/spec/acfg/if/group-general.yml new file mode 100644 index 00000000..ae7598fe --- /dev/null +++ b/spec/acfg/if/group-general.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes general system configuration options. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: General System Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-idle.yml b/spec/acfg/if/group-idle.yml new file mode 100644 index 00000000..ef6bb5f6 --- /dev/null +++ b/spec/acfg/if/group-idle.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the idle tasks. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Idle Task Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-mpci.yml b/spec/acfg/if/group-mpci.yml new file mode 100644 index 00000000..5d2209d0 --- /dev/null +++ b/spec/acfg/if/group-mpci.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes multiprocessing related configuration options. The + options are only used if RTEMS was built with the ``--enable-multiprocessing`` + build configuration option. Additionally, this class of configuration options + are only applicable if the configuration option ${mp-appl:/name} + is defined. The multiprocessing (MPCI) support must not be confused with the + SMP support. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Multiprocessing Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-posix.yml b/spec/acfg/if/group-posix.yml new file mode 100644 index 00000000..2d1fb9be --- /dev/null +++ b/spec/acfg/if/group-posix.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the POSIX API. Most + POSIX API objects are available by default since RTEMS 5.1. The queued signals + and timers are only available if RTEMS was built with the ``--enable-posix`` + build configuration option. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: POSIX API Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-posixinit.yml b/spec/acfg/if/group-posixinit.yml new file mode 100644 index 00000000..b12fed6e --- /dev/null +++ b/spec/acfg/if/group-posixinit.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the POSIX + initialization thread. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: POSIX Initialization Thread Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-schedgeneral.yml b/spec/acfg/if/group-schedgeneral.yml new file mode 100644 index 00000000..06581199 --- /dev/null +++ b/spec/acfg/if/group-schedgeneral.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to selecting a + scheduling algorithm for an application. A scheduler configuration is optional + and only necessary in very specific circumstances. A normal application + configuration does not need any of the configuration options described in this + section. + + By default, the ${.:/document-reference/scheduler-priority} + 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} + is selected as the default scheduler algorithm. + + For the schedulers provided by RTEMS (see ${.:/document-reference/scheduler-concepts}), the + configuration is straightforward. All that is required is to define the + configuration option which specifies which scheduler you want for in your + application. + + The pluggable scheduler interface also enables the user to provide their own + scheduling algorithm. If you choose to do this, you must define multiple + configuration option. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: General Scheduler Configuration +text: '' +type: interface diff --git a/spec/acfg/if/group-stackalloc.yml b/spec/acfg/if/group-stackalloc.yml new file mode 100644 index 00000000..394fb382 --- /dev/null +++ b/spec/acfg/if/group-stackalloc.yml @@ -0,0 +1,17 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + This section describes configuration options related to the task stack + allocator. RTEMS allows the application or BSP to define its own allocation + and deallocation methods for task stacks. This can be used to place task stacks + in special areas of memory or to utilize a Memory Management Unit so that stack + overflows are detected in hardware. +enabled-by: true +interface-type: appl-config-group +links: +- role: requirement-refinement + uid: ../../req/applconfig +name: Task Stack Allocator Configuration +text: '' +type: interface diff --git a/spec/if/acfg/idle-task-body.yml b/spec/acfg/if/idle-task-body.yml index 82fc7a4f..82fc7a4f 100644 --- a/spec/if/acfg/idle-task-body.yml +++ b/spec/acfg/if/idle-task-body.yml diff --git a/spec/if/acfg/idle-task-init-appl.yml b/spec/acfg/if/idle-task-init-appl.yml index ad5f31da..ad5f31da 100644 --- a/spec/if/acfg/idle-task-init-appl.yml +++ b/spec/acfg/if/idle-task-init-appl.yml diff --git a/spec/if/acfg/idle-task-stack-size.yml b/spec/acfg/if/idle-task-stack-size.yml index 9053a93b..9053a93b 100644 --- a/spec/if/acfg/idle-task-stack-size.yml +++ b/spec/acfg/if/idle-task-stack-size.yml diff --git a/spec/acfg/if/imfs-disable-chmod.yml b/spec/acfg/if/imfs-disable-chmod.yml new file mode 100644 index 00000000..15de46c1 --- /dev/null +++ b/spec/acfg/if/imfs-disable-chmod.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + changing the mode of files. +description: | + In case this configuration option is defined, then the root IMFS does not + support changing the mode of files (no support for ${/c/if/chmod:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_CHMOD +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-chown.yml b/spec/acfg/if/imfs-disable-chown.yml new file mode 100644 index 00000000..bdfaf013 --- /dev/null +++ b/spec/acfg/if/imfs-disable-chown.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + changing the ownership of files. +description: | + In case this configuration option is defined, then the root IMFS does not + support changing the ownership of files (no support for ${/c/if/chown:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_CHOWN +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-link.yml b/spec/acfg/if/imfs-disable-link.yml new file mode 100644 index 00000000..1b2e2eeb --- /dev/null +++ b/spec/acfg/if/imfs-disable-link.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports hard + links. +description: | + In case this configuration option is defined, then the root IMFS does not + support hard links (no support for ${/c/if/link:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_LINK +notes: null +text: '' +type: interface diff --git a/spec/if/acfg/imfs-disable-mknod-device.yml b/spec/acfg/if/imfs-disable-mknod-device.yml index 332c16ab..332c16ab 100644 --- a/spec/if/acfg/imfs-disable-mknod-device.yml +++ b/spec/acfg/if/imfs-disable-mknod-device.yml diff --git a/spec/if/acfg/imfs-disable-mknod-file.yml b/spec/acfg/if/imfs-disable-mknod-file.yml index 952d7b77..952d7b77 100644 --- a/spec/if/acfg/imfs-disable-mknod-file.yml +++ b/spec/acfg/if/imfs-disable-mknod-file.yml diff --git a/spec/acfg/if/imfs-disable-mknod.yml b/spec/acfg/if/imfs-disable-mknod.yml new file mode 100644 index 00000000..24eb5271 --- /dev/null +++ b/spec/acfg/if/imfs-disable-mknod.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports making + files. +description: | + In case this configuration option is defined, then the root IMFS does not + support making files (no support for ${/c/if/mknod:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_MKNOD +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-mount.yml b/spec/acfg/if/imfs-disable-mount.yml new file mode 100644 index 00000000..319fbf32 --- /dev/null +++ b/spec/acfg/if/imfs-disable-mount.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + mounting other filesystems. +description: | + In case this configuration option is defined, then the root IMFS does not + support mounting other filesystems (no support for + ${/rtems/io/if/mount:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_MOUNT +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-readdir.yml b/spec/acfg/if/imfs-disable-readdir.yml new file mode 100644 index 00000000..a8262cfd --- /dev/null +++ b/spec/acfg/if/imfs-disable-readdir.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + reading directories. +description: | + In case this configuration option is defined, then the root IMFS does not + support reading directories (no support for ${/c/if/readdir:/name}). It is + still possible to open files in a directory. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_READDIR +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-readlink.yml b/spec/acfg/if/imfs-disable-readlink.yml new file mode 100644 index 00000000..85a2383f --- /dev/null +++ b/spec/acfg/if/imfs-disable-readlink.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + reading symbolic links. +description: | + In case this configuration option is defined, then the root IMFS does not + support reading symbolic links (no support for ${/c/if/readlink:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_READLINK +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-rename.yml b/spec/acfg/if/imfs-disable-rename.yml new file mode 100644 index 00000000..0a84a35f --- /dev/null +++ b/spec/acfg/if/imfs-disable-rename.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + renaming files. +description: | + In case this configuration option is defined, then the root IMFS does not + support renaming files (no support for ${/c/if/rename:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_RENAME +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-rmnod.yml b/spec/acfg/if/imfs-disable-rmnod.yml new file mode 100644 index 00000000..310ef3a1 --- /dev/null +++ b/spec/acfg/if/imfs-disable-rmnod.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + removing files. +description: | + In case this configuration option is defined, then the root IMFS does not + support removing files (no support for ${/c/if/rmnod:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_RMNOD +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-symlink.yml b/spec/acfg/if/imfs-disable-symlink.yml new file mode 100644 index 00000000..c62c2303 --- /dev/null +++ b/spec/acfg/if/imfs-disable-symlink.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + creating symbolic links. +description: | + In case this configuration option is defined, then the root IMFS does not + support creating symbolic links (no support for ${/c/if/symlink:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_SYMLINK +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-unmount.yml b/spec/acfg/if/imfs-disable-unmount.yml new file mode 100644 index 00000000..e4518e3a --- /dev/null +++ b/spec/acfg/if/imfs-disable-unmount.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + unmounting other filesystems. +description: | + In case this configuration option is defined, then the root IMFS does not + support unmounting other filesystems (no support for + ${/rtems/io/if/unmount:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_UNMOUNT +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-disable-utime.yml b/spec/acfg/if/imfs-disable-utime.yml new file mode 100644 index 00000000..adb6268b --- /dev/null +++ b/spec/acfg/if/imfs-disable-utime.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS supports + changing file times. +description: | + In case this configuration option is defined, then the root IMFS does not + support changing file times (no support for ${/c/if/utime:/name}). +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_DISABLE_UTIME +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/imfs-enable-mkfifo.yml b/spec/acfg/if/imfs-enable-mkfifo.yml new file mode 100644 index 00000000..366f4384 --- /dev/null +++ b/spec/acfg/if/imfs-enable-mkfifo.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default: | + If this configuration option is undefined, then the root IMFS does not + support making FIFOs (no support for ${/c/if/mkfifo:/name}). +description: | + In case this configuration option is defined, then the root IMFS supports + making FIFOs. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-filesystem +name: CONFIGURE_IMFS_ENABLE_MKFIFO +notes: null +text: '' +type: interface diff --git a/spec/if/acfg/imfs-memfile-bytes-per-block.yml b/spec/acfg/if/imfs-memfile-bytes-per-block.yml index 7f7ed899..7f7ed899 100644 --- a/spec/if/acfg/imfs-memfile-bytes-per-block.yml +++ b/spec/acfg/if/imfs-memfile-bytes-per-block.yml diff --git a/spec/acfg/if/init-task-arguments.yml b/spec/acfg/if/init-task-arguments.yml new file mode 100644 index 00000000..07fea7e9 --- /dev/null +++ b/spec/acfg/if/init-task-arguments.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + texts: + - | + The value of this configuration option shall be a valid integer of type + ${/rtems/task/if/argument:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 0 +description: | + The value of this configuration option defines task argument of the Classic + API initialization task. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-classicinit +name: CONFIGURE_INIT_TASK_ARGUMENTS +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/init-task-attributes.yml b/spec/acfg/if/init-task-attributes.yml new file mode 100644 index 00000000..606c221b --- /dev/null +++ b/spec/acfg/if/init-task-attributes.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + texts: + - | + The value of this configuration option shall be a valid task attribute set. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: ${/rtems/attr/if/default:/name} +description: | + The value of this configuration option defines the task attributes of the + Classic API initialization task. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-classicinit +name: CONFIGURE_INIT_TASK_ATTRIBUTES +notes: null +text: '' +type: interface diff --git a/spec/if/acfg/init-task-entrypoint.yml b/spec/acfg/if/init-task-entrypoint.yml index 2b5813dc..2b5813dc 100644 --- a/spec/if/acfg/init-task-entrypoint.yml +++ b/spec/acfg/if/init-task-entrypoint.yml diff --git a/spec/acfg/if/init-task-initial-modes.yml b/spec/acfg/if/init-task-initial-modes.yml new file mode 100644 index 00000000..407a1810 --- /dev/null +++ b/spec/acfg/if/init-task-initial-modes.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + texts: + - | + The value of this configuration option shall be a valid task mode set. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + In SMP configurations, the default value is ${/rtems/mode/if/default:/name} + otherwise the default value is ${/rtems/mode/if/no-preempt:/name}. +description: | + The value of this configuration option defines the initial execution mode of + the Classic API initialization task. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-classicinit +name: CONFIGURE_INIT_TASK_INITIAL_MODES +notes: null +text: '' +type: interface diff --git a/spec/acfg/if/init-task-name.yml b/spec/acfg/if/init-task-name.yml new file mode 100644 index 00000000..81056b0c --- /dev/null +++ b/spec/acfg/if/init-task-name.yml @@ -0,0 +1,25 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + texts: + - | + The value of this configuration option shall be a valid integer of type + ${/rtems/type/if/name:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``. +description: | + The value of this configuration option defines the name of the Classic API + initialization task. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-classicinit +name: CONFIGURE_INIT_TASK_NAME +notes: | + Use ${/rtems/object/if/build-name:/name} to define the task name. +text: '' +type: interface diff --git a/spec/if/acfg/init-task-priority.yml b/spec/acfg/if/init-task-priority.yml index f5da6b4f..f5da6b4f 100644 --- a/spec/if/acfg/init-task-priority.yml +++ b/spec/acfg/if/init-task-priority.yml diff --git a/spec/if/acfg/init-task-stack-size.yml b/spec/acfg/if/init-task-stack-size.yml index 8bccea64..8bccea64 100644 --- a/spec/if/acfg/init-task-stack-size.yml +++ b/spec/acfg/if/init-task-stack-size.yml diff --git a/spec/acfg/if/initial-extensions.yml b/spec/acfg/if/initial-extensions.yml new file mode 100644 index 00000000..76af433c --- /dev/null +++ b/spec/acfg/if/initial-extensions.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: initializer +constraints: + texts: + - | + The value of this configuration option shall be a list of initializers for + structures of type ${/rtems/userext/if/table:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is the empty list. +description: | + The value of this configuration option is used to initialize the table of + initial user extensions. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +name: CONFIGURE_INITIAL_EXTENSIONS +notes: | + The value of this configuration option is placed before the entries of + ${bsp-initial-extension:/name} and after the entries of all other initial + user extensions. +text: '' +type: interface diff --git a/spec/acfg/if/interrupt-stack-size.yml b/spec/acfg/if/interrupt-stack-size.yml new file mode 100644 index 00000000..75209b5c --- /dev/null +++ b/spec/acfg/if/interrupt-stack-size.yml @@ -0,0 +1,44 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: {} +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is ${bsp-interrupt-stack-size:/name} in case it is defined, + otherwise the default value is ${/score/cpu/if/stack-minimum-size:/name}. +description: | + The value of this configuration option defines the size of an interrupt stack + in bytes. +enabled-by: true +index-entries: +- interrupt stack size +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +- role: constraint + uid: constraint-isrstackalign +- role: constraint + uid: constraint-isrstackarea +- role: constraint + uid: constraint-bspappmin +name: CONFIGURE_INTERRUPT_STACK_SIZE +notes: | + There is one interrupt stack available for each configured processor + (${max-processors:/name}). The interrupt stack areas are + statically allocated in a special linker section (``.rtemsstack.interrupt``). + The placement of this linker section is BSP-specific. + + Some BSPs use the interrupt stack as the initialization stack which is used + to perform the sequential system initialization before the multithreading + is started. + + The interrupt stacks are covered by the stack checker, see + ${stack-checker-enabled:/name}. However, using a too small interrupt stack + size may still result in undefined behaviour. + + In releases before RTEMS 5.1 the default value was + ${min-task-stack-size:/name} instead of + ${/score/cpu/if/stack-minimum-size:/name}. +text: '' +type: interface diff --git a/spec/acfg/if/malloc-bsp-supports-sbrk.yml b/spec/acfg/if/malloc-bsp-supports-sbrk.yml new file mode 100644 index 00000000..31235866 --- /dev/null +++ b/spec/acfg/if/malloc-bsp-supports-sbrk.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature-enable +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + If + + * this configuration option is defined by the BSP + + * and ${disable-bsp-settings:/name} is undefined, + + then not all memory is made available to the C Program Heap immediately at + system initialization time. When ${/c/if/malloc:/name} or other standard + memory allocation functions are unable to allocate memory, they will call the + BSP supplied ${/c/if/sbrk:/name} function to obtain more memory. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-bsp +name: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK +notes: | + This option should not be defined by the application. Only the BSP knows how + it allocates memory to the C Program Heap. +text: '' +type: interface diff --git a/spec/acfg/if/malloc-dirty.yml b/spec/acfg/if/malloc-dirty.yml new file mode 100644 index 00000000..704bc046 --- /dev/null +++ b/spec/acfg/if/malloc-dirty.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature-enable +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + In case this configuration option is defined, then each memory area returned + by C Program Heap allocator functions such as ${/c/if/malloc:/name} is dirtied + with a ``0xCF`` byte pattern before it is handed over to the application. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +name: CONFIGURE_MALLOC_DIRTY +notes: | + The dirtying performed by this option is carried out for each successful + memory allocation from the C Program Heap in contrast to + ${dirty-memory:/name} which dirties the memory only once during the + system initialization. +text: '' +type: interface diff --git a/spec/if/acfg/max-barriers.yml b/spec/acfg/if/max-barriers.yml index 129e552e..129e552e 100644 --- a/spec/if/acfg/max-barriers.yml +++ b/spec/acfg/if/max-barriers.yml diff --git a/spec/acfg/if/max-drivers.yml b/spec/acfg/if/max-drivers.yml new file mode 100644 index 00000000..244419c2 --- /dev/null +++ b/spec/acfg/if/max-drivers.yml @@ -0,0 +1,65 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/size_max:/name} + texts: + - | + It shall be greater than or equal than the number of statically configured + device drivers. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + This is computed by default, and is set to the number of statically + configured device drivers configured using the following configuration + options: + + * ${appl-extra-drivers:/name} + + * ${appl-needs-ata-driver:/name} + + * ${appl-needs-clock-driver:/name} + + * ${appl-needs-console-driver:/name} + + * ${appl-needs-framebuffer-driver:/name} + + * ${appl-needs-ide-driver:/name} + + * ${appl-needs-libblock:/name} + + * ${appl-needs-null-driver:/name} + + * ${appl-needs-rtc-driver:/name} + + * ${appl-needs-simple-console-driver:/name} + + * ${appl-needs-simple-task-console-driver:/name} + + * ${appl-needs-stub-driver:/name} + + * ${appl-needs-timer-driver:/name} + + * ${appl-needs-watchdog-driver:/name} + + * ${appl-needs-zero-driver:/name} + + * ${appl-prerequisite-drivers:/name} + + * ${bsp-prerequisite-drivers:/name} +description: | + The value of this configuration option defines the number of device drivers. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-devdrv +- role: constraint + uid: constraint-memsz +name: CONFIGURE_MAXIMUM_DRIVERS +notes: | + If the application will dynamically install device drivers, then the + configuration option value shall be larger than the number of statically + configured device drivers. +text: '' +type: interface diff --git a/spec/acfg/if/max-file-descriptors.yml b/spec/acfg/if/max-file-descriptors.yml new file mode 100644 index 00000000..ceb6260a --- /dev/null +++ b/spec/acfg/if/max-file-descriptors.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/size_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 3 +description: | + The value of this configuration option defines the maximum number of file + like objects that can be concurrently open. +enabled-by: true +index-entries: +- maximum file descriptors +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +- role: constraint + uid: constraint-memsz +name: CONFIGURE_MAXIMUM_FILE_DESCRIPTORS +notes: | + The default value of three file descriptors allows RTEMS to support standard + input, output, and error I/O streams on :file:`/dev/console`. +text: '' +type: interface diff --git a/spec/if/acfg/max-message-queues.yml b/spec/acfg/if/max-message-queues.yml index ad471a5c..ad471a5c 100644 --- a/spec/if/acfg/max-message-queues.yml +++ b/spec/acfg/if/max-message-queues.yml diff --git a/spec/if/acfg/max-partitions.yml b/spec/acfg/if/max-partitions.yml index ef151f1c..ef151f1c 100644 --- a/spec/if/acfg/max-partitions.yml +++ b/spec/acfg/if/max-partitions.yml diff --git a/spec/if/acfg/max-periods.yml b/spec/acfg/if/max-periods.yml index 008236dc..008236dc 100644 --- a/spec/if/acfg/max-periods.yml +++ b/spec/acfg/if/max-periods.yml diff --git a/spec/if/acfg/max-ports.yml b/spec/acfg/if/max-ports.yml index a9617ed8..a9617ed8 100644 --- a/spec/if/acfg/max-ports.yml +++ b/spec/acfg/if/max-ports.yml diff --git a/spec/acfg/if/max-posix-key-value-pairs.yml b/spec/acfg/if/max-posix-key-value-pairs.yml new file mode 100644 index 00000000..73d967c5 --- /dev/null +++ b/spec/acfg/if/max-posix-key-value-pairs.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: 65535 + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is + ${max-posix-keys:/name} * + ${max-tasks:/name} + + ${max-posix-threads:/name}. +description: | + The value of this configuration option defines the maximum number of key + value pairs used by POSIX API Keys that can be concurrently active. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-posix +- role: constraint + uid: constraint-unlimited +- role: constraint + uid: constraint-memsz +name: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS +notes: | + This object class can be configured in unlimited allocation mode, see + ${.:/document-reference/config-unlimited-objects}. + + 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. +text: '' +type: interface diff --git a/spec/if/acfg/max-posix-keys.yml b/spec/acfg/if/max-posix-keys.yml index 82308c31..82308c31 100644 --- a/spec/if/acfg/max-posix-keys.yml +++ b/spec/acfg/if/max-posix-keys.yml diff --git a/spec/if/acfg/max-posix-message-queues.yml b/spec/acfg/if/max-posix-message-queues.yml index 1028f6c8..1028f6c8 100644 --- a/spec/if/acfg/max-posix-message-queues.yml +++ b/spec/acfg/if/max-posix-message-queues.yml diff --git a/spec/if/acfg/max-posix-queued-signals.yml b/spec/acfg/if/max-posix-queued-signals.yml index 541c8ffd..541c8ffd 100644 --- a/spec/if/acfg/max-posix-queued-signals.yml +++ b/spec/acfg/if/max-posix-queued-signals.yml diff --git a/spec/acfg/if/max-posix-semaphores.yml b/spec/acfg/if/max-posix-semaphores.yml new file mode 100644 index 00000000..af37f8f6 --- /dev/null +++ b/spec/acfg/if/max-posix-semaphores.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: 65535 + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 0 +description: | + The value of this configuration option defines the maximum number of POSIX + API Named Semaphores that can be concurrently active. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-posix +- role: constraint + uid: constraint-unlimited +- role: constraint + uid: constraint-wkspace +- role: constraint + uid: constraint-memsz +name: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES +notes: | + This object class can be configured in unlimited allocation mode, see + ${.:/document-reference/config-unlimited-objects}. + + Named semaphores are created with ${/c/if/sem_open:/name}. Semaphores + initialized with ${/c/if/sem_init:/name} are not affected by this + configuration option since the storage space for these semaphores is + user-provided. +text: '' +type: interface diff --git a/spec/if/acfg/max-posix-shms.yml b/spec/acfg/if/max-posix-shms.yml index f3087fe4..f3087fe4 100644 --- a/spec/if/acfg/max-posix-shms.yml +++ b/spec/acfg/if/max-posix-shms.yml diff --git a/spec/if/acfg/max-posix-threads.yml b/spec/acfg/if/max-posix-threads.yml index aba1ba9b..aba1ba9b 100644 --- a/spec/if/acfg/max-posix-threads.yml +++ b/spec/acfg/if/max-posix-threads.yml diff --git a/spec/if/acfg/max-posix-timers.yml b/spec/acfg/if/max-posix-timers.yml index 4830bdb7..4830bdb7 100644 --- a/spec/if/acfg/max-posix-timers.yml +++ b/spec/acfg/if/max-posix-timers.yml diff --git a/spec/if/acfg/max-priority.yml b/spec/acfg/if/max-priority.yml index 8f561f30..8f561f30 100644 --- a/spec/if/acfg/max-priority.yml +++ b/spec/acfg/if/max-priority.yml diff --git a/spec/acfg/if/max-processors.yml b/spec/acfg/if/max-processors.yml new file mode 100644 index 00000000..ff4d5d41 --- /dev/null +++ b/spec/acfg/if/max-processors.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/score/cpu/if/maximum-processors:/name} + min: 1 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 1 +description: | + The value of this configuration option defines the maximum number of + processors an application intends to use. The number of actually available + processors depends on the hardware and may be less. It is recommended to use + the smallest value suitable for the application in order to save memory. + Each processor needs an IDLE task stack and interrupt stack for example. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +name: CONFIGURE_MAXIMUM_PROCESSORS +notes: | + If there are more processors available than configured, the rest will be + ignored. + + This configuration option is only evaluated in SMP configurations (e.g. RTEMS + was built with the ``--enable-smp`` build configuration option). In all + other configurations it has no effect. +text: '' +type: interface diff --git a/spec/if/acfg/max-regions.yml b/spec/acfg/if/max-regions.yml index 38b63072..38b63072 100644 --- a/spec/if/acfg/max-regions.yml +++ b/spec/acfg/if/max-regions.yml diff --git a/spec/if/acfg/max-semaphores.yml b/spec/acfg/if/max-semaphores.yml index 4bb560c8..4bb560c8 100644 --- a/spec/if/acfg/max-semaphores.yml +++ b/spec/acfg/if/max-semaphores.yml diff --git a/spec/if/acfg/max-tasks.yml b/spec/acfg/if/max-tasks.yml index 86f97695..86f97695 100644 --- a/spec/if/acfg/max-tasks.yml +++ b/spec/acfg/if/max-tasks.yml diff --git a/spec/acfg/if/max-thread-local-storage-size.yml b/spec/acfg/if/max-thread-local-storage-size.yml new file mode 100644 index 00000000..dfb979ba --- /dev/null +++ b/spec/acfg/if/max-thread-local-storage-size.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/size_max:/name} + min: 0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default-value: 0 +description: | + If the value of this configuration option is greater than zero, then it + defines the maximum thread-local storage size, otherwise the thread-local + storage size is defined by the linker depending on the thread-local storage + objects used by the application in the statically-linked executable. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-classic +name: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE +notes: | + This configuration option can be used to reserve space for the dynamic linking + of modules with thread-local storage objects. + + If the thread-local storage size defined by the thread-local storage + objects used by the application in the statically-linked executable is greater + than a non-zero value of this configuration option, then a fatal error will + occur during system initialization. + + Use ${/rtems/basedefs/if/align-up:/name} and + ${/rtems/task/if/storage-alignment:/name} to adjust the size to meet the + minimum alignment requirement of a thread-local storage area. +text: '' +type: interface diff --git a/spec/acfg/if/max-thread-name-size.yml b/spec/acfg/if/max-thread-name-size.yml new file mode 100644 index 00000000..6ce4ac2a --- /dev/null +++ b/spec/acfg/if/max-thread-name-size.yml @@ -0,0 +1,31 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/size_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 16 +description: | + The value of this configuration option defines the maximum thread name size + including the terminating ``NUL`` character. +enabled-by: true +index-entries: +- maximum thread name size +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +- role: constraint + uid: constraint-memsz +name: CONFIGURE_MAXIMUM_THREAD_NAME_SIZE +notes: | + The default value was chosen for Linux compatibility, see + ${.:/document-reference/pthread-setname-np}. + + The size of the thread control block is increased by the maximum thread name + size. + + This configuration option is available since RTEMS 5.1. +text: '' +type: interface diff --git a/spec/if/acfg/max-timers.yml b/spec/acfg/if/max-timers.yml index 5cc6783c..5cc6783c 100644 --- a/spec/if/acfg/max-timers.yml +++ b/spec/acfg/if/max-timers.yml diff --git a/spec/if/acfg/max-user-extensions.yml b/spec/acfg/if/max-user-extensions.yml index c3b46807..c3b46807 100644 --- a/spec/if/acfg/max-user-extensions.yml +++ b/spec/acfg/if/max-user-extensions.yml diff --git a/spec/if/acfg/memory-overhead.yml b/spec/acfg/if/memory-overhead.yml index 39061e26..39061e26 100644 --- a/spec/if/acfg/memory-overhead.yml +++ b/spec/acfg/if/memory-overhead.yml diff --git a/spec/if/acfg/message-buffer-memory.yml b/spec/acfg/if/message-buffer-memory.yml index fcdd762d..fcdd762d 100644 --- a/spec/if/acfg/message-buffer-memory.yml +++ b/spec/acfg/if/message-buffer-memory.yml diff --git a/spec/if/acfg/microseconds-per-tick.yml b/spec/acfg/if/microseconds-per-tick.yml index 07060869..07060869 100644 --- a/spec/if/acfg/microseconds-per-tick.yml +++ b/spec/acfg/if/microseconds-per-tick.yml diff --git a/spec/if/acfg/min-posix-thread-stack-size.yml b/spec/acfg/if/min-posix-thread-stack-size.yml index 8b3d364f..8b3d364f 100644 --- a/spec/if/acfg/min-posix-thread-stack-size.yml +++ b/spec/acfg/if/min-posix-thread-stack-size.yml diff --git a/spec/acfg/if/min-task-stack-size.yml b/spec/acfg/if/min-task-stack-size.yml new file mode 100644 index 00000000..2bce8e46 --- /dev/null +++ b/spec/acfg/if/min-task-stack-size.yml @@ -0,0 +1,44 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: {} +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: ${/score/cpu/if/stack-minimum-size:/name} +description: | + The value of this configuration option defines the minimum stack size in + bytes for every user task or thread in the system. +enabled-by: true +index-entries: +- minimum task stack size +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +- role: constraint + uid: constraint-bspappmin +- role: constraint + uid: constraint-stackspace +name: CONFIGURE_MINIMUM_TASK_STACK_SIZE +notes: | + Adjusting this parameter should be done with caution. Examining the actual + stack usage using the stack checker usage reporting facility is recommended + (see also ${stack-checker-enabled:/name}). + + This parameter can be used to lower the minimum from that recommended. This + can be used in low memory systems to reduce memory consumption for + stacks. However, this shall be done with caution as it could increase the + possibility of a blown task stack. + + This parameter can be used to increase the minimum from that + recommended. This can be used in higher memory systems to reduce the risk + of stack overflow without performing analysis on actual consumption. + + By default, this configuration parameter defines also the minimum stack + size of POSIX threads. This can be changed with the + ${min-posix-thread-stack-size:/name} + configuration option. + + In releases before RTEMS 5.1 the ``CONFIGURE_MINIMUM_TASK_STACK_SIZE`` was + used to define the default value of ${interrupt-stack-size:/name}. +text: '' +type: interface diff --git a/spec/acfg/if/min-tasks-with-user-provided-storage.yml b/spec/acfg/if/min-tasks-with-user-provided-storage.yml new file mode 100644 index 00000000..84d39f17 --- /dev/null +++ b/spec/acfg/if/min-tasks-with-user-provided-storage.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${max-tasks:/name} + min: 0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default-value: 0 +description: | + The value of this configuration option defines the minimum count of Classic + API Tasks which are constructed by ${/rtems/task/if/construct:/name}. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-classic +name: CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE +notes: | + By default, the calculation for the required memory in the RTEMS Workspace + for tasks assumes that all Classic API Tasks are created by + ${/rtems/task/if/create:/name}. This configuration option can be used to + reduce the required memory for the system-provided task storage areas since + tasks constructed by ${/rtems/task/if/construct:/name} use a user-provided + task storage area. +text: '' +type: interface diff --git a/spec/if/acfg/mp-appl.yml b/spec/acfg/if/mp-appl.yml index 2474a79b..2474a79b 100644 --- a/spec/if/acfg/mp-appl.yml +++ b/spec/acfg/if/mp-appl.yml diff --git a/spec/acfg/if/mp-extra-server-stack.yml b/spec/acfg/if/mp-extra-server-stack.yml new file mode 100644 index 00000000..6f515fbd --- /dev/null +++ b/spec/acfg/if/mp-extra-server-stack.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 + texts: + - | + The value of this configuration option shall be small enough so that the + MPCI receive server stack area calculation carried out by + ``<rtems/confdefs.h>`` does not overflow an integer of type + ${/c/if/size_t:/name}. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default-value: 0 +description: | + The value of this configuration option defines the number of bytes the + applications wishes to add to the MPCI task stack on top of + ${min-task-stack-size:/name}. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-mpci +name: CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK +notes: | + This configuration option is only evaluated if + ${mp-appl:/name} is defined. +text: '' +type: interface diff --git a/spec/acfg/if/mp-max-global-objects.yml b/spec/acfg/if/mp-max-global-objects.yml new file mode 100644 index 00000000..faa1badb --- /dev/null +++ b/spec/acfg/if/mp-max-global-objects.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 32 +description: | + The value of this configuration option defines the maximum number of + concurrently active global objects in a multiprocessor system. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-mpci +name: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS +notes: | + This value corresponds to the total number of objects which can be created + with the ${/rtems/attr/if/global:/name} attribute. + + This configuration option is only evaluated if + ${mp-appl:/name} is defined. +text: '' +type: interface diff --git a/spec/acfg/if/mp-max-nodes.yml b/spec/acfg/if/mp-max-nodes.yml new file mode 100644 index 00000000..077c5b1e --- /dev/null +++ b/spec/acfg/if/mp-max-nodes.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 2 +description: | + The value of this configuration option defines the maximum number of nodes in + a multiprocessor system. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-mpci +name: CONFIGURE_MP_MAXIMUM_NODES +notes: | + This configuration option is only evaluated if + ${mp-appl:/name} is defined. +text: '' +type: interface diff --git a/spec/acfg/if/mp-max-proxies.yml b/spec/acfg/if/mp-max-proxies.yml new file mode 100644 index 00000000..71f63ba9 --- /dev/null +++ b/spec/acfg/if/mp-max-proxies.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 32 +description: | + The value of this configuration option defines the maximum number of + concurrently active thread/task proxies on this node in a multiprocessor + system. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-mpci +name: CONFIGURE_MP_MAXIMUM_PROXIES +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}. + + This configuration option is only evaluated if + ${mp-appl:/name} is defined. +text: '' +type: interface diff --git a/spec/acfg/if/mp-mpci-table-pointer.yml b/spec/acfg/if/mp-mpci-table-pointer.yml new file mode 100644 index 00000000..2cbfafd2 --- /dev/null +++ b/spec/acfg/if/mp-mpci-table-pointer.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: initializer +constraints: + texts: + - | + The value of this configuration option shall be a pointer to + ${/rtems/type/if/mpci-table:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: '``&MPCI_table``' +description: | + The value of this configuration option initializes the MPCI Configuration + Table. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-mpci +name: CONFIGURE_MP_MPCI_TABLE_POINTER +notes: | + RTEMS provides a Shared Memory MPCI Device Driver which can be used on any + Multiprocessor System assuming the BSP provides the proper set of + supporting methods. + + This configuration option is only evaluated if + ${mp-appl:/name} is defined. +text: '' +type: interface diff --git a/spec/acfg/if/mp-node-number.yml b/spec/acfg/if/mp-node-number.yml new file mode 100644 index 00000000..fd68310d --- /dev/null +++ b/spec/acfg/if/mp-node-number.yml @@ -0,0 +1,28 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: '``NODE_NUMBER``' +description: | + The value of this configuration option defines the node number of this node + in a multiprocessor system. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-mpci +name: CONFIGURE_MP_NODE_NUMBER +notes: | + In the RTEMS Multiprocessing Test Suite, the node number is derived from + the Makefile variable ``NODE_NUMBER``. The same code is compiled with the + ``NODE_NUMBER`` set to different values. The test programs behave + differently based upon their node number. + + This configuration option is only evaluated if + ${mp-appl:/name} is defined. +text: '' +type: interface diff --git a/spec/if/acfg/posix-init-thread-entry-point.yml b/spec/acfg/if/posix-init-thread-entry-point.yml index fca4e899..fca4e899 100644 --- a/spec/if/acfg/posix-init-thread-entry-point.yml +++ b/spec/acfg/if/posix-init-thread-entry-point.yml diff --git a/spec/if/acfg/posix-init-thread-stack-size.yml b/spec/acfg/if/posix-init-thread-stack-size.yml index b3be22e1..b3be22e1 100644 --- a/spec/if/acfg/posix-init-thread-stack-size.yml +++ b/spec/acfg/if/posix-init-thread-stack-size.yml diff --git a/spec/if/acfg/posix-init-thread-table.yml b/spec/acfg/if/posix-init-thread-table.yml index 6ed00c00..6ed00c00 100644 --- a/spec/if/acfg/posix-init-thread-table.yml +++ b/spec/acfg/if/posix-init-thread-table.yml diff --git a/spec/if/acfg/record-extensions-enabled.yml b/spec/acfg/if/record-extensions-enabled.yml index bf894918..bf894918 100644 --- a/spec/if/acfg/record-extensions-enabled.yml +++ b/spec/acfg/if/record-extensions-enabled.yml diff --git a/spec/if/acfg/record-fatal-dump-base64-zlib.yml b/spec/acfg/if/record-fatal-dump-base64-zlib.yml index 4856f7c5..4856f7c5 100644 --- a/spec/if/acfg/record-fatal-dump-base64-zlib.yml +++ b/spec/acfg/if/record-fatal-dump-base64-zlib.yml diff --git a/spec/if/acfg/record-fatal-dump-base64.yml b/spec/acfg/if/record-fatal-dump-base64.yml index 8a977e14..8a977e14 100644 --- a/spec/if/acfg/record-fatal-dump-base64.yml +++ b/spec/acfg/if/record-fatal-dump-base64.yml diff --git a/spec/acfg/if/record-per-processor-items.yml b/spec/acfg/if/record-per-processor-items.yml new file mode 100644 index 00000000..4f655e7e --- /dev/null +++ b/spec/acfg/if/record-per-processor-items.yml @@ -0,0 +1,28 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/size_max:/name} + min: 16 + texts: + - It shall be a power of two. +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +default-value: 0 +description: | + The value of this configuration option defines the event record item count + per processor. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-eventrecord +- role: constraint + uid: constraint-memsz +name: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS +notes: | + The event record buffers are statically allocated for each configured + processor (${max-processors:/name}). If the value of this + configuration option is zero, then nothing is allocated. +text: '' +type: interface diff --git a/spec/if/acfg/rtems-init-tasks-table.yml b/spec/acfg/if/rtems-init-tasks-table.yml index 655e24e9..655e24e9 100644 --- a/spec/if/acfg/rtems-init-tasks-table.yml +++ b/spec/acfg/if/rtems-init-tasks-table.yml diff --git a/spec/if/acfg/scheduler-assignments.yml b/spec/acfg/if/scheduler-assignments.yml index 51ca9a4b..51ca9a4b 100644 --- a/spec/if/acfg/scheduler-assignments.yml +++ b/spec/acfg/if/scheduler-assignments.yml diff --git a/spec/if/acfg/scheduler-cbs.yml b/spec/acfg/if/scheduler-cbs.yml index c9692d28..c9692d28 100644 --- a/spec/if/acfg/scheduler-cbs.yml +++ b/spec/acfg/if/scheduler-cbs.yml diff --git a/spec/if/acfg/scheduler-edf-smp.yml b/spec/acfg/if/scheduler-edf-smp.yml index 176db96a..176db96a 100644 --- a/spec/if/acfg/scheduler-edf-smp.yml +++ b/spec/acfg/if/scheduler-edf-smp.yml diff --git a/spec/if/acfg/scheduler-edf.yml b/spec/acfg/if/scheduler-edf.yml index 0a93ad69..0a93ad69 100644 --- a/spec/if/acfg/scheduler-edf.yml +++ b/spec/acfg/if/scheduler-edf.yml diff --git a/spec/acfg/if/scheduler-name.yml b/spec/acfg/if/scheduler-name.yml new file mode 100644 index 00000000..22493868 --- /dev/null +++ b/spec/acfg/if/scheduler-name.yml @@ -0,0 +1,46 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + texts: + - | + The value of this configuration option shall be a valid integer of type + ${/rtems/type/if/name:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: | + The default value is + + * ``"MEDF"`` for the ${.:/document-reference/scheduler-smp-edf}, + + * ``"MPA "`` for the ${.:/document-reference/scheduler-smp-priority-affinity}, + + * ``"MPD "`` for the ${.:/document-reference/scheduler-smp-priority}, + + * ``"MPS "`` for the ${.:/document-reference/scheduler-smp-priority-simple}, + + * ``"UCBS"`` for the ${.:/document-reference/scheduler-cbs}, + + * ``"UEDF"`` for the ${.:/document-reference/scheduler-edf}, + + * ``"UPD "`` for the ${.:/document-reference/scheduler-priority}, and + + * ``"UPS "`` for the ${.:/document-reference/scheduler-priority-simple}. +description: | + The value of this configuration option defines the name of the default + scheduler. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-schedgeneral +name: CONFIGURE_SCHEDULER_NAME +notes: | + This scheduler configuration option is an advanced configuration option. + Think twice before you use it. + + Schedulers can be identified via ${/rtems/scheduler/if/ident:/name}. + + Use ${/rtems/object/if/build-name:/name} to define the scheduler name. +text: '' +type: interface diff --git a/spec/if/acfg/scheduler-priority-affinity-smp.yml b/spec/acfg/if/scheduler-priority-affinity-smp.yml index 2423d994..2423d994 100644 --- a/spec/if/acfg/scheduler-priority-affinity-smp.yml +++ b/spec/acfg/if/scheduler-priority-affinity-smp.yml diff --git a/spec/if/acfg/scheduler-priority-smp.yml b/spec/acfg/if/scheduler-priority-smp.yml index 527a9d6d..527a9d6d 100644 --- a/spec/if/acfg/scheduler-priority-smp.yml +++ b/spec/acfg/if/scheduler-priority-smp.yml diff --git a/spec/if/acfg/scheduler-priority.yml b/spec/acfg/if/scheduler-priority.yml index 05f291df..05f291df 100644 --- a/spec/if/acfg/scheduler-priority.yml +++ b/spec/acfg/if/scheduler-priority.yml diff --git a/spec/if/acfg/scheduler-simple-smp.yml b/spec/acfg/if/scheduler-simple-smp.yml index 16d6edb3..16d6edb3 100644 --- a/spec/if/acfg/scheduler-simple-smp.yml +++ b/spec/acfg/if/scheduler-simple-smp.yml diff --git a/spec/if/acfg/scheduler-simple.yml b/spec/acfg/if/scheduler-simple.yml index 234a65ff..234a65ff 100644 --- a/spec/if/acfg/scheduler-simple.yml +++ b/spec/acfg/if/scheduler-simple.yml diff --git a/spec/if/acfg/scheduler-strong-apa.yml b/spec/acfg/if/scheduler-strong-apa.yml index d4a98198..d4a98198 100644 --- a/spec/if/acfg/scheduler-strong-apa.yml +++ b/spec/acfg/if/scheduler-strong-apa.yml diff --git a/spec/if/acfg/scheduler-user.yml b/spec/acfg/if/scheduler-user.yml index b7967f1d..b7967f1d 100644 --- a/spec/if/acfg/scheduler-user.yml +++ b/spec/acfg/if/scheduler-user.yml diff --git a/spec/if/acfg/stack-checker-enabled.yml b/spec/acfg/if/stack-checker-enabled.yml index ca0e55fc..ca0e55fc 100644 --- a/spec/if/acfg/stack-checker-enabled.yml +++ b/spec/acfg/if/stack-checker-enabled.yml diff --git a/spec/acfg/if/task-stack-allocator-init.yml b/spec/acfg/if/task-stack-allocator-init.yml new file mode 100644 index 00000000..27d86c09 --- /dev/null +++ b/spec/acfg/if/task-stack-allocator-init.yml @@ -0,0 +1,31 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: initializer +constraints: + texts: + - | + The value of this configuration option shall be defined to a valid function + pointer of the type ``void ( *initialize )( size_t )`` or to + ${/c/if/null:/name}. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: ${/c/if/null:/name} +description: | + The value of this configuration option initializes the stack allocator + initialization handler. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-stackalloc +name: CONFIGURE_TASK_STACK_ALLOCATOR_INIT +notes: | + A correctly configured system shall configure the following to be consistent: + + * ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT`` + + * ${task-stack-allocator:/name} + + * ${task-stack-deallocator:/name} +text: '' +type: interface diff --git a/spec/if/acfg/task-stack-allocator.yml b/spec/acfg/if/task-stack-allocator.yml index fe877091..fe877091 100644 --- a/spec/if/acfg/task-stack-allocator.yml +++ b/spec/acfg/if/task-stack-allocator.yml diff --git a/spec/if/acfg/task-stack-deallocator.yml b/spec/acfg/if/task-stack-deallocator.yml index d18d158f..d18d158f 100644 --- a/spec/if/acfg/task-stack-deallocator.yml +++ b/spec/acfg/if/task-stack-deallocator.yml diff --git a/spec/if/acfg/task-stack-from-alloc.yml b/spec/acfg/if/task-stack-from-alloc.yml index 7b3e6c31..7b3e6c31 100644 --- a/spec/if/acfg/task-stack-from-alloc.yml +++ b/spec/acfg/if/task-stack-from-alloc.yml diff --git a/spec/if/acfg/task-stack-no-workspace.yml b/spec/acfg/if/task-stack-no-workspace.yml index 3cbe5502..3cbe5502 100644 --- a/spec/if/acfg/task-stack-no-workspace.yml +++ b/spec/acfg/if/task-stack-no-workspace.yml diff --git a/spec/acfg/if/ticks-per-time-slice.yml b/spec/acfg/if/ticks-per-time-slice.yml new file mode 100644 index 00000000..81f6483e --- /dev/null +++ b/spec/acfg/if/ticks-per-time-slice.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + max: ${/c/if/uint32_max:/name} + min: 0 +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +default-value: 50 +description: | + The value of this configuration option defines the length of the timeslice + quantum in ticks for each task. +enabled-by: true +index-entries: +- ticks per timeslice +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +name: CONFIGURE_TICKS_PER_TIMESLICE +notes: | + This configuration option has no impact if the Clock Driver is not + configured, see ${appl-does-not-need-clock-driver:/name}. +text: '' +type: interface diff --git a/spec/if/acfg/unified-work-areas.yml b/spec/acfg/if/unified-work-areas.yml index 8d57342c..8d57342c 100644 --- a/spec/if/acfg/unified-work-areas.yml +++ b/spec/acfg/if/unified-work-areas.yml diff --git a/spec/acfg/if/unlimited-allocation-size.yml b/spec/acfg/if/unlimited-allocation-size.yml new file mode 100644 index 00000000..f206c5b9 --- /dev/null +++ b/spec/acfg/if/unlimited-allocation-size.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: integer +constraints: + texts: + - | + The value of this configuration option shall meet the constraints of all + object classes to which it is applied. +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +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 + ``rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )``. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +name: CONFIGURE_UNLIMITED_ALLOCATION_SIZE +notes: | + By allowing users to declare all resources as being unlimited the user can + avoid identifying and limiting the resources used. + + The object maximum of each class can be configured also individually using + the ${/rtems/config/if/resource-unlimited:/name} macro. +text: '' +type: interface diff --git a/spec/if/acfg/unlimited-objects.yml b/spec/acfg/if/unlimited-objects.yml index bdfb30d8..bdfb30d8 100644 --- a/spec/if/acfg/unlimited-objects.yml +++ b/spec/acfg/if/unlimited-objects.yml diff --git a/spec/if/acfg/use-devfs-as-base-filesystem.yml b/spec/acfg/if/use-devfs-as-base-filesystem.yml index 72e46305..72e46305 100644 --- a/spec/if/acfg/use-devfs-as-base-filesystem.yml +++ b/spec/acfg/if/use-devfs-as-base-filesystem.yml diff --git a/spec/if/acfg/use-miniimfs-as-base-filesystem.yml b/spec/acfg/if/use-miniimfs-as-base-filesystem.yml index 13474187..13474187 100644 --- a/spec/if/acfg/use-miniimfs-as-base-filesystem.yml +++ b/spec/acfg/if/use-miniimfs-as-base-filesystem.yml diff --git a/spec/acfg/if/verbose-system-init.yml b/spec/acfg/if/verbose-system-init.yml new file mode 100644 index 00000000..6b355830 --- /dev/null +++ b/spec/acfg/if/verbose-system-init.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +appl-config-option-type: feature-enable +copyrights: +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: | + In case this configuration option is defined, then the system initialization + is verbose. +enabled-by: true +index-entries: [] +interface-type: appl-config-option +links: +- role: appl-config-group-member + uid: group-general +name: CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION +notes: | + You may use this feature to debug system initialization issues. The + ${/rtems/io/if/printk:/name} function is used to print the information. +text: '' +type: interface diff --git a/spec/if/acfg/zero-workspace-automatically.yml b/spec/acfg/if/zero-workspace-automatically.yml index ccca0125..ccca0125 100644 --- a/spec/if/acfg/zero-workspace-automatically.yml +++ b/spec/acfg/if/zero-workspace-automatically.yml diff --git a/spec/if/build-options/ada.yml b/spec/build-options/if/ada.yml index 254f5e81..254f5e81 100644 --- a/spec/if/build-options/ada.yml +++ b/spec/build-options/if/ada.yml diff --git a/spec/build-options/if/container.yml b/spec/build-options/if/container.yml new file mode 100644 index 00000000..a5d0e96f --- /dev/null +++ b/spec/build-options/if/container.yml @@ -0,0 +1,9 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: container +links: +- role: interface-placement + uid: domain +type: interface diff --git a/spec/build-options/if/cpuopts.yml b/spec/build-options/if/cpuopts.yml new file mode 100644 index 00000000..0f5fe997 --- /dev/null +++ b/spec/build-options/if/cpuopts.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces provided by the CPU build options. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: rtems/score/cpuopts.h +prefix: '' +type: interface diff --git a/spec/if/build-options/debug.yml b/spec/build-options/if/debug.yml index 67ea221a..67ea221a 100644 --- a/spec/if/build-options/debug.yml +++ b/spec/build-options/if/debug.yml diff --git a/spec/if/domains/build-options.yml b/spec/build-options/if/domain.yml index d03f8e77..d03f8e77 100644 --- a/spec/if/domains/build-options.yml +++ b/spec/build-options/if/domain.yml diff --git a/spec/if/build-options/drvmgr.yml b/spec/build-options/if/drvmgr.yml index b5f30fe4..b5f30fe4 100644 --- a/spec/if/build-options/drvmgr.yml +++ b/spec/build-options/if/drvmgr.yml diff --git a/spec/if/build-options/multiprocessing.yml b/spec/build-options/if/multiprocessing.yml index 9f334931..9f334931 100644 --- a/spec/if/build-options/multiprocessing.yml +++ b/spec/build-options/if/multiprocessing.yml diff --git a/spec/if/build-options/networking.yml b/spec/build-options/if/networking.yml index e20517c6..e20517c6 100644 --- a/spec/if/build-options/networking.yml +++ b/spec/build-options/if/networking.yml diff --git a/spec/if/build-options/paravirt.yml b/spec/build-options/if/paravirt.yml index ff938b58..ff938b58 100644 --- a/spec/if/build-options/paravirt.yml +++ b/spec/build-options/if/paravirt.yml diff --git a/spec/if/build-options/posix.yml b/spec/build-options/if/posix.yml index eeb8bac9..eeb8bac9 100644 --- a/spec/if/build-options/posix.yml +++ b/spec/build-options/if/posix.yml diff --git a/spec/if/build-options/profiling.yml b/spec/build-options/if/profiling.yml index a8561aa6..a8561aa6 100644 --- a/spec/if/build-options/profiling.yml +++ b/spec/build-options/if/profiling.yml diff --git a/spec/if/build-options/smp.yml b/spec/build-options/if/smp.yml index c8d2a517..c8d2a517 100644 --- a/spec/if/build-options/smp.yml +++ b/spec/build-options/if/smp.yml diff --git a/spec/if/c/bool.yml b/spec/c/if/bool.yml index df1696fa..df1696fa 100644 --- a/spec/if/c/bool.yml +++ b/spec/c/if/bool.yml diff --git a/spec/if/c/chmod.yml b/spec/c/if/chmod.yml index 79ab25cd..79ab25cd 100644 --- a/spec/if/c/chmod.yml +++ b/spec/c/if/chmod.yml diff --git a/spec/if/c/chown.yml b/spec/c/if/chown.yml index a53f0040..a53f0040 100644 --- a/spec/if/c/chown.yml +++ b/spec/c/if/chown.yml diff --git a/spec/if/c/cpu_set_t.yml b/spec/c/if/cpu_set_t.yml index 2809da25..2809da25 100644 --- a/spec/if/c/cpu_set_t.yml +++ b/spec/c/if/cpu_set_t.yml diff --git a/spec/if/domains/c.yml b/spec/c/if/domain.yml index b49867da..b49867da 100644 --- a/spec/if/domains/c.yml +++ b/spec/c/if/domain.yml diff --git a/spec/c/if/errno-header.yml b/spec/c/if/errno-header.yml new file mode 100644 index 00000000..f823813b --- /dev/null +++ b/spec/c/if/errno-header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: errno.h +prefix: '' +type: interface diff --git a/spec/if/c/errno.yml b/spec/c/if/errno.yml index 6d8de29a..6d8de29a 100644 --- a/spec/if/c/errno.yml +++ b/spec/c/if/errno.yml diff --git a/spec/if/c/false.yml b/spec/c/if/false.yml index 7d0b10f6..7d0b10f6 100644 --- a/spec/if/c/false.yml +++ b/spec/c/if/false.yml diff --git a/spec/if/c/free.yml b/spec/c/if/free.yml index e1495a7c..e1495a7c 100644 --- a/spec/if/c/free.yml +++ b/spec/c/if/free.yml diff --git a/spec/if/c/int16_t.yml b/spec/c/if/int16_t.yml index 73b6d686..73b6d686 100644 --- a/spec/if/c/int16_t.yml +++ b/spec/c/if/int16_t.yml diff --git a/spec/if/c/int32_t.yml b/spec/c/if/int32_t.yml index 2ce38bbe..2ce38bbe 100644 --- a/spec/if/c/int32_t.yml +++ b/spec/c/if/int32_t.yml diff --git a/spec/if/c/int64_t.yml b/spec/c/if/int64_t.yml index 93779592..93779592 100644 --- a/spec/if/c/int64_t.yml +++ b/spec/c/if/int64_t.yml diff --git a/spec/if/c/int8_t.yml b/spec/c/if/int8_t.yml index 59575e8e..59575e8e 100644 --- a/spec/if/c/int8_t.yml +++ b/spec/c/if/int8_t.yml diff --git a/spec/if/c/intmax_t.yml b/spec/c/if/intmax_t.yml index d8e3ea1b..d8e3ea1b 100644 --- a/spec/if/c/intmax_t.yml +++ b/spec/c/if/intmax_t.yml diff --git a/spec/if/c/intptr_t.yml b/spec/c/if/intptr_t.yml index 8fde550a..8fde550a 100644 --- a/spec/if/c/intptr_t.yml +++ b/spec/c/if/intptr_t.yml diff --git a/spec/if/c/link.yml b/spec/c/if/link.yml index a7787795..a7787795 100644 --- a/spec/if/c/link.yml +++ b/spec/c/if/link.yml diff --git a/spec/if/c/malloc.yml b/spec/c/if/malloc.yml index c6ec567a..c6ec567a 100644 --- a/spec/if/c/malloc.yml +++ b/spec/c/if/malloc.yml diff --git a/spec/if/c/mkfifo.yml b/spec/c/if/mkfifo.yml index b5700d74..b5700d74 100644 --- a/spec/if/c/mkfifo.yml +++ b/spec/c/if/mkfifo.yml diff --git a/spec/if/c/mknod.yml b/spec/c/if/mknod.yml index a252a813..a252a813 100644 --- a/spec/if/c/mknod.yml +++ b/spec/c/if/mknod.yml diff --git a/spec/if/c/null.yml b/spec/c/if/null.yml index ddce81a8..ddce81a8 100644 --- a/spec/if/c/null.yml +++ b/spec/c/if/null.yml diff --git a/spec/if/c/offsetof.yml b/spec/c/if/offsetof.yml index dbbc10e2..dbbc10e2 100644 --- a/spec/if/c/offsetof.yml +++ b/spec/c/if/offsetof.yml diff --git a/spec/if/c/printf.yml b/spec/c/if/printf.yml index 370c590a..370c590a 100644 --- a/spec/if/c/printf.yml +++ b/spec/c/if/printf.yml diff --git a/spec/c/if/pthread.yml b/spec/c/if/pthread.yml new file mode 100644 index 00000000..241cf4ea --- /dev/null +++ b/spec/c/if/pthread.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: pthread.h +prefix: '' +type: interface diff --git a/spec/if/c/pthread_setspecific.yml b/spec/c/if/pthread_setspecific.yml index df0d7369..df0d7369 100644 --- a/spec/if/c/pthread_setspecific.yml +++ b/spec/c/if/pthread_setspecific.yml diff --git a/spec/if/c/readdir.yml b/spec/c/if/readdir.yml index b95db4ea..b95db4ea 100644 --- a/spec/if/c/readdir.yml +++ b/spec/c/if/readdir.yml diff --git a/spec/if/c/readlink.yml b/spec/c/if/readlink.yml index dad767f8..dad767f8 100644 --- a/spec/if/c/readlink.yml +++ b/spec/c/if/readlink.yml diff --git a/spec/if/c/rename.yml b/spec/c/if/rename.yml index 2e43681e..2e43681e 100644 --- a/spec/if/c/rename.yml +++ b/spec/c/if/rename.yml diff --git a/spec/if/c/rmnod.yml b/spec/c/if/rmnod.yml index 76d55cc0..76d55cc0 100644 --- a/spec/if/c/rmnod.yml +++ b/spec/c/if/rmnod.yml diff --git a/spec/if/c/sbrk.yml b/spec/c/if/sbrk.yml index 92e70a81..92e70a81 100644 --- a/spec/if/c/sbrk.yml +++ b/spec/c/if/sbrk.yml diff --git a/spec/if/c/sem_init.yml b/spec/c/if/sem_init.yml index 234f798c..234f798c 100644 --- a/spec/if/c/sem_init.yml +++ b/spec/c/if/sem_init.yml diff --git a/spec/if/c/sem_open.yml b/spec/c/if/sem_open.yml index 07287d73..07287d73 100644 --- a/spec/if/c/sem_open.yml +++ b/spec/c/if/sem_open.yml diff --git a/spec/c/if/semaphore.yml b/spec/c/if/semaphore.yml new file mode 100644 index 00000000..655bf9e9 --- /dev/null +++ b/spec/c/if/semaphore.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: semaphore.h +prefix: '' +type: interface diff --git a/spec/if/c/size_max.yml b/spec/c/if/size_max.yml index 328a6222..328a6222 100644 --- a/spec/if/c/size_max.yml +++ b/spec/c/if/size_max.yml diff --git a/spec/if/c/size_t.yml b/spec/c/if/size_t.yml index b7c1d828..b7c1d828 100644 --- a/spec/if/c/size_t.yml +++ b/spec/c/if/size_t.yml diff --git a/spec/c/if/stdatomic.yml b/spec/c/if/stdatomic.yml new file mode 100644 index 00000000..83f4932e --- /dev/null +++ b/spec/c/if/stdatomic.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: stdatomic.h +prefix: '' +type: interface diff --git a/spec/c/if/stdbool.yml b/spec/c/if/stdbool.yml new file mode 100644 index 00000000..3feede87 --- /dev/null +++ b/spec/c/if/stdbool.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: stdbool.h +prefix: '' +type: interface diff --git a/spec/c/if/stddef.yml b/spec/c/if/stddef.yml new file mode 100644 index 00000000..69b56cf3 --- /dev/null +++ b/spec/c/if/stddef.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: stddef.h +prefix: '' +type: interface diff --git a/spec/c/if/stdint.yml b/spec/c/if/stdint.yml new file mode 100644 index 00000000..e7fd0e13 --- /dev/null +++ b/spec/c/if/stdint.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: stdint.h +prefix: '' +type: interface diff --git a/spec/c/if/stdio.yml b/spec/c/if/stdio.yml new file mode 100644 index 00000000..ec177f41 --- /dev/null +++ b/spec/c/if/stdio.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: stdio.h +prefix: '' +type: interface diff --git a/spec/c/if/stdlib.yml b/spec/c/if/stdlib.yml new file mode 100644 index 00000000..f0f5a46e --- /dev/null +++ b/spec/c/if/stdlib.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: stdlib.h +prefix: '' +type: interface diff --git a/spec/c/if/string.yml b/spec/c/if/string.yml new file mode 100644 index 00000000..3e362ced --- /dev/null +++ b/spec/c/if/string.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: string.h +prefix: '' +type: interface diff --git a/spec/if/c/symlink.yml b/spec/c/if/symlink.yml index 86bef234..86bef234 100644 --- a/spec/if/c/symlink.yml +++ b/spec/c/if/symlink.yml diff --git a/spec/c/if/sys-cpuset.yml b/spec/c/if/sys-cpuset.yml new file mode 100644 index 00000000..9e29f7df --- /dev/null +++ b/spec/c/if/sys-cpuset.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is FreeBSD defined header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: sys/cpuset.h +prefix: '' +type: interface diff --git a/spec/c/if/sys-impl-timespec.yml b/spec/c/if/sys-impl-timespec.yml new file mode 100644 index 00000000..8d17d4f0 --- /dev/null +++ b/spec/c/if/sys-impl-timespec.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file provides POSIX time related definitions. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: sys/_timespec.h +prefix: '' +type: interface diff --git a/spec/c/if/sys-impl-timeval.yml b/spec/c/if/sys-impl-timeval.yml new file mode 100644 index 00000000..ba74899d --- /dev/null +++ b/spec/c/if/sys-impl-timeval.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file provides POSIX time related definitions. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: sys/_timeval.h +prefix: '' +type: interface diff --git a/spec/c/if/sys-stat.yml b/spec/c/if/sys-stat.yml new file mode 100644 index 00000000..f1584412 --- /dev/null +++ b/spec/c/if/sys-stat.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is POSIX header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: sys/stat.h +prefix: '' +type: interface diff --git a/spec/c/if/sys-types.yml b/spec/c/if/sys-types.yml new file mode 100644 index 00000000..83e969d1 --- /dev/null +++ b/spec/c/if/sys-types.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is POSIX header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: sys/types.h +prefix: '' +type: interface diff --git a/spec/c/if/time.yml b/spec/c/if/time.yml new file mode 100644 index 00000000..9ea2d615 --- /dev/null +++ b/spec/c/if/time.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: time.h +prefix: '' +type: interface diff --git a/spec/if/c/time_t.yml b/spec/c/if/time_t.yml index cb3514e1..cb3514e1 100644 --- a/spec/if/c/time_t.yml +++ b/spec/c/if/time_t.yml diff --git a/spec/if/c/timespec.yml b/spec/c/if/timespec.yml index 631b57cf..631b57cf 100644 --- a/spec/if/c/timespec.yml +++ b/spec/c/if/timespec.yml diff --git a/spec/if/c/timeval.yml b/spec/c/if/timeval.yml index d40ac3ec..d40ac3ec 100644 --- a/spec/if/c/timeval.yml +++ b/spec/c/if/timeval.yml diff --git a/spec/if/c/true.yml b/spec/c/if/true.yml index 7b4ea5e6..7b4ea5e6 100644 --- a/spec/if/c/true.yml +++ b/spec/c/if/true.yml diff --git a/spec/if/c/uint16_t.yml b/spec/c/if/uint16_t.yml index 549f1ff3..549f1ff3 100644 --- a/spec/if/c/uint16_t.yml +++ b/spec/c/if/uint16_t.yml diff --git a/spec/if/c/uint32_max.yml b/spec/c/if/uint32_max.yml index 55413690..55413690 100644 --- a/spec/if/c/uint32_max.yml +++ b/spec/c/if/uint32_max.yml diff --git a/spec/if/c/uint32_t.yml b/spec/c/if/uint32_t.yml index 2f0553c6..2f0553c6 100644 --- a/spec/if/c/uint32_t.yml +++ b/spec/c/if/uint32_t.yml diff --git a/spec/if/c/uint64_t.yml b/spec/c/if/uint64_t.yml index 798f90ea..798f90ea 100644 --- a/spec/if/c/uint64_t.yml +++ b/spec/c/if/uint64_t.yml diff --git a/spec/if/c/uint8_t.yml b/spec/c/if/uint8_t.yml index 67542027..67542027 100644 --- a/spec/if/c/uint8_t.yml +++ b/spec/c/if/uint8_t.yml diff --git a/spec/if/c/uintmax_t.yml b/spec/c/if/uintmax_t.yml index 0f4ca6c8..0f4ca6c8 100644 --- a/spec/if/c/uintmax_t.yml +++ b/spec/c/if/uintmax_t.yml diff --git a/spec/if/c/uintptr_max.yml b/spec/c/if/uintptr_max.yml index 313c65b1..313c65b1 100644 --- a/spec/if/c/uintptr_max.yml +++ b/spec/c/if/uintptr_max.yml diff --git a/spec/if/c/uintptr_t.yml b/spec/c/if/uintptr_t.yml index 80725a20..80725a20 100644 --- a/spec/if/c/uintptr_t.yml +++ b/spec/c/if/uintptr_t.yml diff --git a/spec/c/if/unistd.yml b/spec/c/if/unistd.yml new file mode 100644 index 00000000..5e49e894 --- /dev/null +++ b/spec/c/if/unistd.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This is a standard C library header file. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: domain +path: unistd.h +prefix: '' +type: interface diff --git a/spec/if/c/utime.yml b/spec/c/if/utime.yml index a813ecd0..a813ecd0 100644 --- a/spec/if/c/utime.yml +++ b/spec/c/if/utime.yml diff --git a/spec/if/compiler/asm.yml b/spec/compiler/if/asm.yml index 3817a8f9..3817a8f9 100644 --- a/spec/if/compiler/asm.yml +++ b/spec/compiler/if/asm.yml diff --git a/spec/if/compiler/builtin-choose-expr.yml b/spec/compiler/if/builtin-choose-expr.yml index b9a9ac8f..b9a9ac8f 100644 --- a/spec/if/compiler/builtin-choose-expr.yml +++ b/spec/compiler/if/builtin-choose-expr.yml diff --git a/spec/if/compiler/builtin-expect.yml b/spec/compiler/if/builtin-expect.yml index 9e3e9fc4..9e3e9fc4 100644 --- a/spec/if/compiler/builtin-expect.yml +++ b/spec/compiler/if/builtin-expect.yml diff --git a/spec/if/compiler/builtin-return-address.yml b/spec/compiler/if/builtin-return-address.yml index 9fedfb3d..9fedfb3d 100644 --- a/spec/if/compiler/builtin-return-address.yml +++ b/spec/compiler/if/builtin-return-address.yml diff --git a/spec/if/compiler/builtin-types-compatible-p.yml b/spec/compiler/if/builtin-types-compatible-p.yml index 7b12272c..7b12272c 100644 --- a/spec/if/compiler/builtin-types-compatible-p.yml +++ b/spec/compiler/if/builtin-types-compatible-p.yml diff --git a/spec/if/compiler/builtin-unreachable.yml b/spec/compiler/if/builtin-unreachable.yml index fe47d3cf..fe47d3cf 100644 --- a/spec/if/compiler/builtin-unreachable.yml +++ b/spec/compiler/if/builtin-unreachable.yml diff --git a/spec/compiler/if/container.yml b/spec/compiler/if/container.yml new file mode 100644 index 00000000..a5d0e96f --- /dev/null +++ b/spec/compiler/if/container.yml @@ -0,0 +1,9 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: container +links: +- role: interface-placement + uid: domain +type: interface diff --git a/spec/if/compiler/cplusplus.yml b/spec/compiler/if/cplusplus.yml index 9c0e8213..9c0e8213 100644 --- a/spec/if/compiler/cplusplus.yml +++ b/spec/compiler/if/cplusplus.yml diff --git a/spec/if/domains/compiler.yml b/spec/compiler/if/domain.yml index fb6e4835..fb6e4835 100644 --- a/spec/if/domains/compiler.yml +++ b/spec/compiler/if/domain.yml diff --git a/spec/if/compiler/gnuc.yml b/spec/compiler/if/gnuc.yml index f498c3ab..f498c3ab 100644 --- a/spec/if/compiler/gnuc.yml +++ b/spec/compiler/if/gnuc.yml diff --git a/spec/if/compiler/stdc-version.yml b/spec/compiler/if/stdc-version.yml index ef79dcfb..ef79dcfb 100644 --- a/spec/if/compiler/stdc-version.yml +++ b/spec/compiler/if/stdc-version.yml diff --git a/spec/if/compiler/typeof.yml b/spec/compiler/if/typeof.yml index b38846dd..b38846dd 100644 --- a/spec/if/compiler/typeof.yml +++ b/spec/compiler/if/typeof.yml diff --git a/spec/if/compiler/user-label-prefix.yml b/spec/compiler/if/user-label-prefix.yml index b84a47b5..b84a47b5 100644 --- a/spec/if/compiler/user-label-prefix.yml +++ b/spec/compiler/if/user-label-prefix.yml diff --git a/spec/if/acfg/appl-disable-filesystem.yml b/spec/if/acfg/appl-disable-filesystem.yml deleted file mode 100644 index bc0da09d..00000000 --- a/spec/if/acfg/appl-disable-filesystem.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then a base filesystem and the - configured filesystems are initialized during system initialization. -description: | - In case this configuration option is defined, then **no base filesystem** is - initialized during system initialization and **no filesystems** are - configured. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_APPLICATION_DISABLE_FILESYSTEM -notes: | - Filesystems shall be initialized to support file descriptor based device - drivers and basic input/output functions such as ${../c/printf:/name}. - Filesystems can be disabled to reduce the memory footprint of an application. -text: '' -type: interface diff --git a/spec/if/acfg/appl-extra-drivers.yml b/spec/if/acfg/appl-extra-drivers.yml deleted file mode 100644 index 20b1dc50..00000000 --- a/spec/if/acfg/appl-extra-drivers.yml +++ /dev/null @@ -1,29 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: initializer -constraints: - texts: - - | - The value of this configuration option shall be a list of initializers for - structures of type ${../rtems/io/driver-address-table:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is the empty list. -description: | - The value of this configuration option is used to initialize the Device - Driver Table. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-devdrv -name: CONFIGURE_APPLICATION_EXTRA_DRIVERS -notes: | - The value of this configuration option is placed after the entries of other - device driver configuration options. - - See ${appl-prerequisite-drivers:/name} for an alternative - placement of application device driver initializers. -text: '' -type: interface diff --git a/spec/if/acfg/appl-needs-console-driver.yml b/spec/if/acfg/appl-needs-console-driver.yml deleted file mode 100644 index 5ad708fc..00000000 --- a/spec/if/acfg/appl-needs-console-driver.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature-enable -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - In case this configuration option is defined, then the Console Driver is - initialized during system initialization. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-devdrv -name: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER -notes: | - The Console Driver is responsible for providing the :file:`/dev/console` - device file. This device is used to initialize the standard input, output, - and error file descriptors. - - BSPs should be constructed in a manner that allows ${../rtems/io/printk:/name} to work - properly without the need for the Console Driver to be configured. - - The - - * ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``, - - * ${appl-needs-simple-console-driver:/name}, and - - * ${appl-needs-simple-task-console-driver:/name} - - configuration options are mutually exclusive. -text: '' -type: interface diff --git a/spec/if/acfg/appl-needs-simple-console-driver.yml b/spec/if/acfg/appl-needs-simple-console-driver.yml deleted file mode 100644 index 2f3e8ed3..00000000 --- a/spec/if/acfg/appl-needs-simple-console-driver.yml +++ /dev/null @@ -1,37 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature-enable -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - In case this configuration option is defined, then the Simple Console Driver - is initialized during system initialization. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-devdrv -name: CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER -notes: | - This device driver is responsible for providing the :file:`/dev/console` - device file. This device is used to initialize the standard input, output, - and error file descriptors. - - This device driver reads via ${../rtems/io/getchark:/name}. - - This device driver writes via ${../rtems/io/putc:/name}. - - The Termios framework is not used. There is no support to change device - settings, e.g. baud, stop bits, parity, etc. - - The - - * ${appl-needs-console-driver:/name}, - - * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and - - * ${appl-needs-simple-task-console-driver:/name} - - configuration options are mutually exclusive. -text: '' -type: interface diff --git a/spec/if/acfg/appl-needs-simple-task-console-driver.yml b/spec/if/acfg/appl-needs-simple-task-console-driver.yml deleted file mode 100644 index 83650785..00000000 --- a/spec/if/acfg/appl-needs-simple-task-console-driver.yml +++ /dev/null @@ -1,46 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature-enable -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - In case this configuration option is defined, then the Simple Task Console - Driver is initialized during system initialization. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-devdrv -name: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER -notes: | - This device driver is responsible for providing the :file:`/dev/console` - device file. This device is used to initialize the standard input, output, - and error file descriptors. - - This device driver reads via ${../rtems/io/getchark:/name}. - - This device driver writes into a write buffer. The count of characters - written into the write buffer is returned. It might be less than the - requested count, in case the write buffer is full. The write is - non-blocking and may be called from interrupt context. A dedicated task - reads from the write buffer and outputs the characters via - ${../rtems/io/putc:/name}. This task runs with the least important priority. - The write buffer size is 2047 characters and it is not configurable. - - Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain the - write buffer. - - The Termios framework is not used. There is no support to change device - settings, e.g. baud, stop bits, parity, etc. - - The - - * ${appl-needs-console-driver:/name}, - - * ${appl-needs-simple-console-driver:/name}, and - - * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`` - - configuration options are mutually exclusive. -text: '' -type: interface diff --git a/spec/if/acfg/appl-prerequisite-drivers.yml b/spec/if/acfg/appl-prerequisite-drivers.yml deleted file mode 100644 index 552756e6..00000000 --- a/spec/if/acfg/appl-prerequisite-drivers.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: initializer -constraints: - texts: - - | - The value of this configuration option shall be a list of initializers for - structures of type ${../rtems/io/driver-address-table:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is the empty list. -description: | - The value of this configuration option is used to initialize the Device - Driver Table. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-devdrv -name: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS -notes: | - The value of this configuration option is placed after the entries defined by - ${bsp-prerequisite-drivers:/name} and before all other device driver - configuration options. - - See ${appl-extra-drivers:/name} for an alternative placement - of application device driver initializers. -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-buffer-min-size.yml b/spec/if/acfg/bdbuf-buffer-min-size.yml deleted file mode 100644 index d9c901c0..00000000 --- a/spec/if/acfg/bdbuf-buffer-min-size.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 512 -description: | - The value of this configuration option defines the minimum size of a buffer - in bytes. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -name: CONFIGURE_BDBUF_BUFFER_MIN_SIZE -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-cache-memory-size.yml b/spec/if/acfg/bdbuf-cache-memory-size.yml deleted file mode 100644 index 8d71e4c7..00000000 --- a/spec/if/acfg/bdbuf-cache-memory-size.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/size_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 32768 -description: | - The value of this configuration option defines the size of the cache memory - in bytes. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -name: CONFIGURE_BDBUF_CACHE_MEMORY_SIZE -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-max-read-ahead-blocks.yml b/spec/if/acfg/bdbuf-max-read-ahead-blocks.yml deleted file mode 100644 index 0b8dfe77..00000000 --- a/spec/if/acfg/bdbuf-max-read-ahead-blocks.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 0 -description: | - The value of this configuration option defines the maximum blocks per - read-ahead request. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -name: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS -notes: | - A value of 0 disables the read-ahead task (default). The read-ahead task - will issue speculative read transfers if a sequential access pattern is - detected. This can improve the performance on some systems. -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-max-write-blocks.yml b/spec/if/acfg/bdbuf-max-write-blocks.yml deleted file mode 100644 index 3dc8bfef..00000000 --- a/spec/if/acfg/bdbuf-max-write-blocks.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 16 -description: | - The value of this configuration option defines the maximum blocks per write - request. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -name: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-swapout-block-hold.yml b/spec/if/acfg/bdbuf-swapout-block-hold.yml deleted file mode 100644 index d5d6e34d..00000000 --- a/spec/if/acfg/bdbuf-swapout-block-hold.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 1000 -description: | - The value of this configuration option defines the swapout task maximum block - hold time in milliseconds. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -name: CONFIGURE_SWAPOUT_BLOCK_HOLD -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-swapout-swap-period.yml b/spec/if/acfg/bdbuf-swapout-swap-period.yml deleted file mode 100644 index bb76831b..00000000 --- a/spec/if/acfg/bdbuf-swapout-swap-period.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 250 -description: | - The value of this configuration option defines the swapout task swap period - in milliseconds. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -name: CONFIGURE_SWAPOUT_SWAP_PERIOD -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-swapout-worker-tasks.yml b/spec/if/acfg/bdbuf-swapout-worker-tasks.yml deleted file mode 100644 index afc6dc6f..00000000 --- a/spec/if/acfg/bdbuf-swapout-worker-tasks.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 0 -description: | - The value of this configuration option defines the swapout worker task count. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -name: CONFIGURE_SWAPOUT_WORKER_TASKS -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/bdbuf-task-stack-size.yml b/spec/if/acfg/bdbuf-task-stack-size.yml deleted file mode 100644 index d0391226..00000000 --- a/spec/if/acfg/bdbuf-task-stack-size.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - min: ${min-task-stack-size:/name} -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: ${../rtems/tasks/minimum-stack-size:/name} -description: | - The value of this configuration option defines the task stack size of the - Block Device Cache tasks in bytes. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bdbuf -- role: constraint - uid: constraint-stackspace -- role: constraint - uid: constraint-memsz -name: CONFIGURE_BDBUF_TASK_STACK_SIZE -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/bsp-initial-extension.yml b/spec/if/acfg/bsp-initial-extension.yml deleted file mode 100644 index e1cb01e8..00000000 --- a/spec/if/acfg/bsp-initial-extension.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: initializer -constraints: - texts: - - | - The value of this configuration option shall be a list of initializers for - structures of type ${../rtems/userext/table:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is BSP-specific. -description: | - If - - * this configuration option is defined by the BSP - - * and ${disable-bsp-settings:/name} is undefined, - - then the value of this configuration option is used to initialize the table - of initial user extensions. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bsp -name: BSP_INITIAL_EXTENSION -notes: | - The value of this configuration option is placed after the entries of all - other initial user extensions. -text: '' -type: interface diff --git a/spec/if/acfg/bsp-prerequisite-drivers.yml b/spec/if/acfg/bsp-prerequisite-drivers.yml deleted file mode 100644 index e95f53a1..00000000 --- a/spec/if/acfg/bsp-prerequisite-drivers.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: initializer -constraints: - texts: - - | - The value of this configuration option shall be a list of initializers for - structures of type ${../rtems/userext/table:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is BSP-specific. -description: | - If - - * this configuration option is defined by the BSP - - * and ${disable-bsp-settings:/name} is undefined, - - then the value of this configuration option is used to initialize the table - of initial user extensions. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bsp -name: CONFIGURE_BSP_PREREQUISITE_DRIVERS -notes: | - The value of this configuration option is placed before the entries of all - other initial user extensions (including - ${appl-prerequisite-drivers:/name}). -text: '' -type: interface diff --git a/spec/if/acfg/cbs-max-servers.yml b/spec/if/acfg/cbs-max-servers.yml deleted file mode 100644 index 9b171aa9..00000000 --- a/spec/if/acfg/cbs-max-servers.yml +++ /dev/null @@ -1,25 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/size_max:/name} - min: 0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default-value: ${max-tasks:/name} -description: | - The value of this configuration option defines the maximum number Constant - Bandwidth Servers that can be concurrently active. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-schedgeneral -- role: constraint - uid: constraint-memsz -name: CONFIGURE_CBS_MAXIMUM_SERVERS -notes: | - This configuration option is only evaluated if the configuration option - ${scheduler-cbs:/name} is defined. -text: '' -type: interface diff --git a/spec/if/acfg/constraint-idlestackarea.yml b/spec/if/acfg/constraint-idlestackarea.yml deleted file mode 100644 index 561e0dbf..00000000 --- a/spec/if/acfg/constraint-idlestackarea.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -rationale: null -scope: user -text: | - The value of this configuration option shall be small enough so that the IDLE - task stack area calculation carried out by ``<rtems/confdefs.h>`` does not - overflow an integer of type ${../c/size_t:/name}. -type: constraint diff --git a/spec/if/acfg/constraint-isrstackalign.yml b/spec/if/acfg/constraint-isrstackalign.yml deleted file mode 100644 index 24db5f19..00000000 --- a/spec/if/acfg/constraint-isrstackalign.yml +++ /dev/null @@ -1,11 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -rationale: null -scope: user -text: | - The value of this configuration option shall be aligned according to - ${../impl/cpu/interrupt-stack-alignment:/name}. -type: constraint diff --git a/spec/if/acfg/constraint-isrstackarea.yml b/spec/if/acfg/constraint-isrstackarea.yml deleted file mode 100644 index 7c526ace..00000000 --- a/spec/if/acfg/constraint-isrstackarea.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -rationale: null -scope: user -text: | - The value of this configuration option shall be small enough so that the - interrupt stack area calculation carried out by ``<rtems/confdefs.h>`` does - not overflow an integer of type ${../c/size_t:/name}. -type: constraint diff --git a/spec/if/acfg/constraint-stackspace.yml b/spec/if/acfg/constraint-stackspace.yml deleted file mode 100644 index 41a3e1a2..00000000 --- a/spec/if/acfg/constraint-stackspace.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -rationale: null -scope: user -text: | - The value of this configuration option shall be small enough so that the task - stack space calculation carried out by ``<rtems/confdefs.h>`` does not - overflow an integer of type ${../c/uintptr_t:/name}. -type: constraint diff --git a/spec/if/acfg/constraint-unlimited.yml b/spec/if/acfg/constraint-unlimited.yml deleted file mode 100644 index 5338c30c..00000000 --- a/spec/if/acfg/constraint-unlimited.yml +++ /dev/null @@ -1,13 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -rationale: null -scope: user -text: | - The value of this configuration option may be defined through - ${../rtems/config/resource-unlimited:/name} the enable unlimited objects for this - object class, if the value passed to ${../rtems/config/resource-unlimited:/name} - satisfies all other constraints of this configuration option. -type: constraint diff --git a/spec/if/acfg/constraint-wkspace.yml b/spec/if/acfg/constraint-wkspace.yml deleted file mode 100644 index 63202f44..00000000 --- a/spec/if/acfg/constraint-wkspace.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -rationale: null -scope: user -text: | - The value of this configuration option shall be small enough so that the - RTEMS Workspace size calculation carried out by ``<rtems/confdefs.h>`` does - not overflow an integer of type ${../c/uintptr_t:/name}. -type: constraint diff --git a/spec/if/acfg/disable-newlib-reentrancy.yml b/spec/if/acfg/disable-newlib-reentrancy.yml deleted file mode 100644 index 6959e5ae..00000000 --- a/spec/if/acfg/disable-newlib-reentrancy.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature-enable -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: | - In case this configuration option is defined, then the Newlib reentrancy - support per thread is disabled and a global reentrancy structure is used. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -name: CONFIGURE_DISABLE_NEWLIB_REENTRANCY -notes: | - You can enable this option to reduce the size of the :term:`TCB`. Use this - option with care, since it can lead to race conditions and undefined system - behaviour. For example, ${../c/errno:/name} is no longer a thread-local - variable if this option is enabled. -text: '' -type: interface diff --git a/spec/if/acfg/executive-ram-size.yml b/spec/if/acfg/executive-ram-size.yml deleted file mode 100644 index 7e95b52b..00000000 --- a/spec/if/acfg/executive-ram-size.yml +++ /dev/null @@ -1,28 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uintptr_max:/name} - min: 0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default-value: | - If this configuration option is undefined, then the RTEMS Workspace and task - stack space size is calculated by ``<rtems/confdefs.h>`` based on the values - configuration options. -description: | - The value of this configuration option defines the RTEMS Workspace size in - bytes. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -- role: constraint - uid: constraint-memsz -name: CONFIGURE_EXECUTIVE_RAM_SIZE -notes: | - This is an advanced configuration option. Use it only if you know exactly - what you are doing. -text: '' -type: interface diff --git a/spec/if/acfg/group-bdbuf.yml b/spec/if/acfg/group-bdbuf.yml deleted file mode 100644 index 77810634..00000000 --- a/spec/if/acfg/group-bdbuf.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the Block Device Cache - (bdbuf). -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Block Device Cache Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-bsp.yml b/spec/if/acfg/group-bsp.yml deleted file mode 100644 index 439c9951..00000000 --- a/spec/if/acfg/group-bsp.yml +++ /dev/null @@ -1,16 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the BSP. Some - configuration options may have a BSP-specific setting which is defined by - ``<bsp.h>``. The BSP-specific settings can be disabled by the - ${disable-bsp-settings:/name} configuration option. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: BSP Related Configuration Options -text: '' -type: interface diff --git a/spec/if/acfg/group-classic.yml b/spec/if/acfg/group-classic.yml deleted file mode 100644 index 43f9b634..00000000 --- a/spec/if/acfg/group-classic.yml +++ /dev/null @@ -1,13 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the Classic API. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Classic API Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-classicinit.yml b/spec/if/acfg/group-classicinit.yml deleted file mode 100644 index e8d3a617..00000000 --- a/spec/if/acfg/group-classicinit.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the Classic API - initialization task. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Classic API Initialization Task Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-devdrv.yml b/spec/if/acfg/group-devdrv.yml deleted file mode 100644 index 451e1fb1..00000000 --- a/spec/if/acfg/group-devdrv.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the device drivers. - Note that network device drivers are not covered by the following options. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Device Driver Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-eventrecord.yml b/spec/if/acfg/group-eventrecord.yml deleted file mode 100644 index 7427575c..00000000 --- a/spec/if/acfg/group-eventrecord.yml +++ /dev/null @@ -1,13 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: | - This section describes configuration options related to the event recording. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Event Recording Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-filesystem.yml b/spec/if/acfg/group-filesystem.yml deleted file mode 100644 index bc2ea05a..00000000 --- a/spec/if/acfg/group-filesystem.yml +++ /dev/null @@ -1,53 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to filesytems. - By default, the In-Memory Filesystem (IMFS) is used as the base filesystem (also - known as root filesystem). In order to save some memory for your application, - you can disable the filesystem support with the - ${appl-disable-filesystem:/name} configuration option. - Alternatively, you can strip down the features of the base filesystem with the - ${use-miniimfs-as-base-filesystem:/name} and - ${use-devfs-as-base-filesystem:/name} configuration options. These - three configuration options are mutually exclusive. They are intended for an - advanced application configuration. - - Features of the IMFS can be disabled and enabled with the following - configuration options: - - * ${imfs-disable-chmod:/name} - - * ${imfs-disable-chown:/name} - - * ${imfs-disable-link:/name} - - * ${imfs-disable-mknod:/name} - - * ${imfs-disable-mknod-file:/name} - - * ${imfs-disable-mount:/name} - - * ${imfs-disable-readdir:/name} - - * ${imfs-disable-readlink:/name} - - * ${imfs-disable-rename:/name} - - * ${imfs-disable-rmnod:/name} - - * ${imfs-disable-symlink:/name} - - * ${imfs-disable-unmount:/name} - - * ${imfs-disable-utime:/name} - - * ${imfs-enable-mkfifo:/name} -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Filesystem Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-general.yml b/spec/if/acfg/group-general.yml deleted file mode 100644 index b4733766..00000000 --- a/spec/if/acfg/group-general.yml +++ /dev/null @@ -1,13 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes general system configuration options. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: General System Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-idle.yml b/spec/if/acfg/group-idle.yml deleted file mode 100644 index 5dd6b39f..00000000 --- a/spec/if/acfg/group-idle.yml +++ /dev/null @@ -1,13 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the idle tasks. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Idle Task Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-mpci.yml b/spec/if/acfg/group-mpci.yml deleted file mode 100644 index a302a4d1..00000000 --- a/spec/if/acfg/group-mpci.yml +++ /dev/null @@ -1,18 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes multiprocessing related configuration options. The - options are only used if RTEMS was built with the ``--enable-multiprocessing`` - build configuration option. Additionally, this class of configuration options - are only applicable if the configuration option ${mp-appl:/name} - is defined. The multiprocessing (MPCI) support must not be confused with the - SMP support. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Multiprocessing Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-posix.yml b/spec/if/acfg/group-posix.yml deleted file mode 100644 index 0da249e5..00000000 --- a/spec/if/acfg/group-posix.yml +++ /dev/null @@ -1,16 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the POSIX API. Most - POSIX API objects are available by default since RTEMS 5.1. The queued signals - and timers are only available if RTEMS was built with the ``--enable-posix`` - build configuration option. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: POSIX API Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-posixinit.yml b/spec/if/acfg/group-posixinit.yml deleted file mode 100644 index a9eeaa09..00000000 --- a/spec/if/acfg/group-posixinit.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the POSIX - initialization thread. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: POSIX Initialization Thread Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-schedgeneral.yml b/spec/if/acfg/group-schedgeneral.yml deleted file mode 100644 index cb4492e1..00000000 --- a/spec/if/acfg/group-schedgeneral.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to selecting a - scheduling algorithm for an application. A scheduler configuration is optional - and only necessary in very specific circumstances. A normal application - configuration does not need any of the configuration options described in this - section. - - By default, the ${.:/document-reference/scheduler-priority} - 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} - is selected as the default scheduler algorithm. - - For the schedulers provided by RTEMS (see ${.:/document-reference/scheduler-concepts}), the - configuration is straightforward. All that is required is to define the - configuration option which specifies which scheduler you want for in your - application. - - The pluggable scheduler interface also enables the user to provide their own - scheduling algorithm. If you choose to do this, you must define multiple - configuration option. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: General Scheduler Configuration -text: '' -type: interface diff --git a/spec/if/acfg/group-stackalloc.yml b/spec/if/acfg/group-stackalloc.yml deleted file mode 100644 index 45a7470b..00000000 --- a/spec/if/acfg/group-stackalloc.yml +++ /dev/null @@ -1,17 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - This section describes configuration options related to the task stack - allocator. RTEMS allows the application or BSP to define its own allocation - and deallocation methods for task stacks. This can be used to place task stacks - in special areas of memory or to utilize a Memory Management Unit so that stack - overflows are detected in hardware. -enabled-by: true -interface-type: appl-config-group -links: -- role: requirement-refinement - uid: ../applconfig -name: Task Stack Allocator Configuration -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-chmod.yml b/spec/if/acfg/imfs-disable-chmod.yml deleted file mode 100644 index c54079b4..00000000 --- a/spec/if/acfg/imfs-disable-chmod.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - changing the mode of files. -description: | - In case this configuration option is defined, then the root IMFS does not - support changing the mode of files (no support for ${../c/chmod:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_CHMOD -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-chown.yml b/spec/if/acfg/imfs-disable-chown.yml deleted file mode 100644 index b275cd0d..00000000 --- a/spec/if/acfg/imfs-disable-chown.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - changing the ownership of files. -description: | - In case this configuration option is defined, then the root IMFS does not - support changing the ownership of files (no support for ${../c/chown:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_CHOWN -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-link.yml b/spec/if/acfg/imfs-disable-link.yml deleted file mode 100644 index dd804c90..00000000 --- a/spec/if/acfg/imfs-disable-link.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports hard - links. -description: | - In case this configuration option is defined, then the root IMFS does not - support hard links (no support for ${../c/link:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_LINK -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-mknod.yml b/spec/if/acfg/imfs-disable-mknod.yml deleted file mode 100644 index 35098764..00000000 --- a/spec/if/acfg/imfs-disable-mknod.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports making - files. -description: | - In case this configuration option is defined, then the root IMFS does not - support making files (no support for ${../c/mknod:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_MKNOD -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-mount.yml b/spec/if/acfg/imfs-disable-mount.yml deleted file mode 100644 index 8cdc66d1..00000000 --- a/spec/if/acfg/imfs-disable-mount.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - mounting other filesystems. -description: | - In case this configuration option is defined, then the root IMFS does not - support mounting other filesystems (no support for - ${../rtems/io/mount:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_MOUNT -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-readdir.yml b/spec/if/acfg/imfs-disable-readdir.yml deleted file mode 100644 index 5037334e..00000000 --- a/spec/if/acfg/imfs-disable-readdir.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - reading directories. -description: | - In case this configuration option is defined, then the root IMFS does not - support reading directories (no support for ${../c/readdir:/name}). It is - still possible to open files in a directory. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_READDIR -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-readlink.yml b/spec/if/acfg/imfs-disable-readlink.yml deleted file mode 100644 index a8ebfb83..00000000 --- a/spec/if/acfg/imfs-disable-readlink.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - reading symbolic links. -description: | - In case this configuration option is defined, then the root IMFS does not - support reading symbolic links (no support for ${../c/readlink:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_READLINK -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-rename.yml b/spec/if/acfg/imfs-disable-rename.yml deleted file mode 100644 index 864b5d8f..00000000 --- a/spec/if/acfg/imfs-disable-rename.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - renaming files. -description: | - In case this configuration option is defined, then the root IMFS does not - support renaming files (no support for ${../c/rename:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_RENAME -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-rmnod.yml b/spec/if/acfg/imfs-disable-rmnod.yml deleted file mode 100644 index 30ad6a8d..00000000 --- a/spec/if/acfg/imfs-disable-rmnod.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - removing files. -description: | - In case this configuration option is defined, then the root IMFS does not - support removing files (no support for ${../c/rmnod:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_RMNOD -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-symlink.yml b/spec/if/acfg/imfs-disable-symlink.yml deleted file mode 100644 index f564a03f..00000000 --- a/spec/if/acfg/imfs-disable-symlink.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - creating symbolic links. -description: | - In case this configuration option is defined, then the root IMFS does not - support creating symbolic links (no support for ${../c/symlink:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_SYMLINK -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-unmount.yml b/spec/if/acfg/imfs-disable-unmount.yml deleted file mode 100644 index fc992f8f..00000000 --- a/spec/if/acfg/imfs-disable-unmount.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - unmounting other filesystems. -description: | - In case this configuration option is defined, then the root IMFS does not - support unmounting other filesystems (no support for - ${../rtems/io/unmount:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_UNMOUNT -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-disable-utime.yml b/spec/if/acfg/imfs-disable-utime.yml deleted file mode 100644 index 285f23e3..00000000 --- a/spec/if/acfg/imfs-disable-utime.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS supports - changing file times. -description: | - In case this configuration option is defined, then the root IMFS does not - support changing file times (no support for ${../c/utime:/name}). -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_DISABLE_UTIME -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/imfs-enable-mkfifo.yml b/spec/if/acfg/imfs-enable-mkfifo.yml deleted file mode 100644 index 15fc2ff9..00000000 --- a/spec/if/acfg/imfs-enable-mkfifo.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default: | - If this configuration option is undefined, then the root IMFS does not - support making FIFOs (no support for ${../c/mkfifo:/name}). -description: | - In case this configuration option is defined, then the root IMFS supports - making FIFOs. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-filesystem -name: CONFIGURE_IMFS_ENABLE_MKFIFO -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/init-task-arguments.yml b/spec/if/acfg/init-task-arguments.yml deleted file mode 100644 index 992b693b..00000000 --- a/spec/if/acfg/init-task-arguments.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - texts: - - | - The value of this configuration option shall be a valid integer of type - ${../rtems/tasks/argument:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 0 -description: | - The value of this configuration option defines task argument of the Classic - API initialization task. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-classicinit -name: CONFIGURE_INIT_TASK_ARGUMENTS -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/init-task-attributes.yml b/spec/if/acfg/init-task-attributes.yml deleted file mode 100644 index 1087ceba..00000000 --- a/spec/if/acfg/init-task-attributes.yml +++ /dev/null @@ -1,22 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - texts: - - | - The value of this configuration option shall be a valid task attribute set. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: ${../rtems/attr/default:/name} -description: | - The value of this configuration option defines the task attributes of the - Classic API initialization task. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-classicinit -name: CONFIGURE_INIT_TASK_ATTRIBUTES -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/init-task-initial-modes.yml b/spec/if/acfg/init-task-initial-modes.yml deleted file mode 100644 index 9c729f47..00000000 --- a/spec/if/acfg/init-task-initial-modes.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - texts: - - | - The value of this configuration option shall be a valid task mode set. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - In SMP configurations, the default value is ${../rtems/modes/default:/name} - otherwise the default value is ${../rtems/modes/no-preempt:/name}. -description: | - The value of this configuration option defines the initial execution mode of - the Classic API initialization task. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-classicinit -name: CONFIGURE_INIT_TASK_INITIAL_MODES -notes: null -text: '' -type: interface diff --git a/spec/if/acfg/init-task-name.yml b/spec/if/acfg/init-task-name.yml deleted file mode 100644 index 62eb8d23..00000000 --- a/spec/if/acfg/init-task-name.yml +++ /dev/null @@ -1,25 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - texts: - - | - The value of this configuration option shall be a valid integer of type - ${../rtems/types/name:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``. -description: | - The value of this configuration option defines the name of the Classic API - initialization task. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-classicinit -name: CONFIGURE_INIT_TASK_NAME -notes: | - Use ${../rtems/object/build-name:/name} to define the task name. -text: '' -type: interface diff --git a/spec/if/acfg/initial-extensions.yml b/spec/if/acfg/initial-extensions.yml deleted file mode 100644 index d719f334..00000000 --- a/spec/if/acfg/initial-extensions.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: initializer -constraints: - texts: - - | - The value of this configuration option shall be a list of initializers for - structures of type ${../rtems/userext/table:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is the empty list. -description: | - The value of this configuration option is used to initialize the table of - initial user extensions. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -name: CONFIGURE_INITIAL_EXTENSIONS -notes: | - The value of this configuration option is placed before the entries of - ${bsp-initial-extension:/name} and after the entries of all other initial - user extensions. -text: '' -type: interface diff --git a/spec/if/acfg/interrupt-stack-size.yml b/spec/if/acfg/interrupt-stack-size.yml deleted file mode 100644 index d5674171..00000000 --- a/spec/if/acfg/interrupt-stack-size.yml +++ /dev/null @@ -1,44 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: {} -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is ${bsp-interrupt-stack-size:/name} in case it is defined, - otherwise the default value is ${../impl/cpu/stack-minimum-size:/name}. -description: | - The value of this configuration option defines the size of an interrupt stack - in bytes. -enabled-by: true -index-entries: -- interrupt stack size -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -- role: constraint - uid: constraint-isrstackalign -- role: constraint - uid: constraint-isrstackarea -- role: constraint - uid: constraint-bspappmin -name: CONFIGURE_INTERRUPT_STACK_SIZE -notes: | - There is one interrupt stack available for each configured processor - (${max-processors:/name}). The interrupt stack areas are - statically allocated in a special linker section (``.rtemsstack.interrupt``). - The placement of this linker section is BSP-specific. - - Some BSPs use the interrupt stack as the initialization stack which is used - to perform the sequential system initialization before the multithreading - is started. - - The interrupt stacks are covered by the stack checker, see - ${stack-checker-enabled:/name}. However, using a too small interrupt stack - size may still result in undefined behaviour. - - In releases before RTEMS 5.1 the default value was - ${min-task-stack-size:/name} instead of - ${../impl/cpu/stack-minimum-size:/name}. -text: '' -type: interface diff --git a/spec/if/acfg/malloc-bsp-supports-sbrk.yml b/spec/if/acfg/malloc-bsp-supports-sbrk.yml deleted file mode 100644 index d27c00d5..00000000 --- a/spec/if/acfg/malloc-bsp-supports-sbrk.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature-enable -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - If - - * this configuration option is defined by the BSP - - * and ${disable-bsp-settings:/name} is undefined, - - then not all memory is made available to the C Program Heap immediately at - system initialization time. When ${../c/malloc:/name} or other standard - memory allocation functions are unable to allocate memory, they will call the - BSP supplied ${../c/sbrk:/name} function to obtain more memory. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-bsp -name: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK -notes: | - This option should not be defined by the application. Only the BSP knows how - it allocates memory to the C Program Heap. -text: '' -type: interface diff --git a/spec/if/acfg/malloc-dirty.yml b/spec/if/acfg/malloc-dirty.yml deleted file mode 100644 index 70496944..00000000 --- a/spec/if/acfg/malloc-dirty.yml +++ /dev/null @@ -1,22 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature-enable -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: | - In case this configuration option is defined, then each memory area returned - by C Program Heap allocator functions such as ${../c/malloc:/name} is dirtied - with a ``0xCF`` byte pattern before it is handed over to the application. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -name: CONFIGURE_MALLOC_DIRTY -notes: | - The dirtying performed by this option is carried out for each successful - memory allocation from the C Program Heap in contrast to - ${dirty-memory:/name} which dirties the memory only once during the - system initialization. -text: '' -type: interface diff --git a/spec/if/acfg/max-drivers.yml b/spec/if/acfg/max-drivers.yml deleted file mode 100644 index 5422bd42..00000000 --- a/spec/if/acfg/max-drivers.yml +++ /dev/null @@ -1,65 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/size_max:/name} - texts: - - | - It shall be greater than or equal than the number of statically configured - device drivers. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - This is computed by default, and is set to the number of statically - configured device drivers configured using the following configuration - options: - - * ${appl-extra-drivers:/name} - - * ${appl-needs-ata-driver:/name} - - * ${appl-needs-clock-driver:/name} - - * ${appl-needs-console-driver:/name} - - * ${appl-needs-framebuffer-driver:/name} - - * ${appl-needs-ide-driver:/name} - - * ${appl-needs-libblock:/name} - - * ${appl-needs-null-driver:/name} - - * ${appl-needs-rtc-driver:/name} - - * ${appl-needs-simple-console-driver:/name} - - * ${appl-needs-simple-task-console-driver:/name} - - * ${appl-needs-stub-driver:/name} - - * ${appl-needs-timer-driver:/name} - - * ${appl-needs-watchdog-driver:/name} - - * ${appl-needs-zero-driver:/name} - - * ${appl-prerequisite-drivers:/name} - - * ${bsp-prerequisite-drivers:/name} -description: | - The value of this configuration option defines the number of device drivers. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-devdrv -- role: constraint - uid: constraint-memsz -name: CONFIGURE_MAXIMUM_DRIVERS -notes: | - If the application will dynamically install device drivers, then the - configuration option value shall be larger than the number of statically - configured device drivers. -text: '' -type: interface diff --git a/spec/if/acfg/max-file-descriptors.yml b/spec/if/acfg/max-file-descriptors.yml deleted file mode 100644 index 28970764..00000000 --- a/spec/if/acfg/max-file-descriptors.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/size_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 3 -description: | - The value of this configuration option defines the maximum number of file - like objects that can be concurrently open. -enabled-by: true -index-entries: -- maximum file descriptors -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -- role: constraint - uid: constraint-memsz -name: CONFIGURE_MAXIMUM_FILE_DESCRIPTORS -notes: | - The default value of three file descriptors allows RTEMS to support standard - input, output, and error I/O streams on :file:`/dev/console`. -text: '' -type: interface diff --git a/spec/if/acfg/max-posix-key-value-pairs.yml b/spec/if/acfg/max-posix-key-value-pairs.yml deleted file mode 100644 index b9ea9911..00000000 --- a/spec/if/acfg/max-posix-key-value-pairs.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: 65535 - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is - ${max-posix-keys:/name} * - ${max-tasks:/name} + - ${max-posix-threads:/name}. -description: | - The value of this configuration option defines the maximum number of key - value pairs used by POSIX API Keys that can be concurrently active. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-posix -- role: constraint - uid: constraint-unlimited -- role: constraint - uid: constraint-memsz -name: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS -notes: | - This object class can be configured in unlimited allocation mode, see - ${.:/document-reference/config-unlimited-objects}. - - A key value pair is created by ${../c/pthread_setspecific:/name} if the value - is not ${../c/null:/name}, otherwise it is deleted. -text: '' -type: interface diff --git a/spec/if/acfg/max-posix-semaphores.yml b/spec/if/acfg/max-posix-semaphores.yml deleted file mode 100644 index 5e58ddc0..00000000 --- a/spec/if/acfg/max-posix-semaphores.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: 65535 - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 0 -description: | - The value of this configuration option defines the maximum number of POSIX - API Named Semaphores that can be concurrently active. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-posix -- role: constraint - uid: constraint-unlimited -- role: constraint - uid: constraint-wkspace -- role: constraint - uid: constraint-memsz -name: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES -notes: | - This object class can be configured in unlimited allocation mode, see - ${.:/document-reference/config-unlimited-objects}. - - Named semaphores are created with ${../c/sem_open:/name}. Semaphores - initialized with ${../c/sem_init:/name} are not affected by this - configuration option since the storage space for these semaphores is - user-provided. -text: '' -type: interface diff --git a/spec/if/acfg/max-processors.yml b/spec/if/acfg/max-processors.yml deleted file mode 100644 index bc9e10d9..00000000 --- a/spec/if/acfg/max-processors.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../impl/cpu/maximum-processors:/name} - min: 1 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 1 -description: | - The value of this configuration option defines the maximum number of - processors an application intends to use. The number of actually available - processors depends on the hardware and may be less. It is recommended to use - the smallest value suitable for the application in order to save memory. - Each processor needs an IDLE task stack and interrupt stack for example. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -name: CONFIGURE_MAXIMUM_PROCESSORS -notes: | - If there are more processors available than configured, the rest will be - ignored. - - This configuration option is only evaluated in SMP configurations (e.g. RTEMS - was built with the ``--enable-smp`` build configuration option). In all - other configurations it has no effect. -text: '' -type: interface diff --git a/spec/if/acfg/max-thread-local-storage-size.yml b/spec/if/acfg/max-thread-local-storage-size.yml deleted file mode 100644 index b07b57af..00000000 --- a/spec/if/acfg/max-thread-local-storage-size.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/size_max:/name} - min: 0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default-value: 0 -description: | - If the value of this configuration option is greater than zero, then it - defines the maximum thread-local storage size, otherwise the thread-local - storage size is defined by the linker depending on the thread-local storage - objects used by the application in the statically-linked executable. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-classic -name: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE -notes: | - This configuration option can be used to reserve space for the dynamic linking - of modules with thread-local storage objects. - - If the thread-local storage size defined by the thread-local storage - objects used by the application in the statically-linked executable is greater - than a non-zero value of this configuration option, then a fatal error will - occur during system initialization. - - Use ${../rtems/basedefs/align-up:/name} and - ${../rtems/tasks/storage-alignment:/name} to adjust the size to meet the - minimum alignment requirement of a thread-local storage area. -text: '' -type: interface diff --git a/spec/if/acfg/max-thread-name-size.yml b/spec/if/acfg/max-thread-name-size.yml deleted file mode 100644 index f119bec2..00000000 --- a/spec/if/acfg/max-thread-name-size.yml +++ /dev/null @@ -1,31 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/size_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 16 -description: | - The value of this configuration option defines the maximum thread name size - including the terminating ``NUL`` character. -enabled-by: true -index-entries: -- maximum thread name size -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -- role: constraint - uid: constraint-memsz -name: CONFIGURE_MAXIMUM_THREAD_NAME_SIZE -notes: | - The default value was chosen for Linux compatibility, see - ${.:/document-reference/pthread-setname-np}. - - The size of the thread control block is increased by the maximum thread name - size. - - This configuration option is available since RTEMS 5.1. -text: '' -type: interface diff --git a/spec/if/acfg/min-task-stack-size.yml b/spec/if/acfg/min-task-stack-size.yml deleted file mode 100644 index 1d0bcaac..00000000 --- a/spec/if/acfg/min-task-stack-size.yml +++ /dev/null @@ -1,44 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: {} -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: ${../impl/cpu/stack-minimum-size:/name} -description: | - The value of this configuration option defines the minimum stack size in - bytes for every user task or thread in the system. -enabled-by: true -index-entries: -- minimum task stack size -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -- role: constraint - uid: constraint-bspappmin -- role: constraint - uid: constraint-stackspace -name: CONFIGURE_MINIMUM_TASK_STACK_SIZE -notes: | - Adjusting this parameter should be done with caution. Examining the actual - stack usage using the stack checker usage reporting facility is recommended - (see also ${stack-checker-enabled:/name}). - - This parameter can be used to lower the minimum from that recommended. This - can be used in low memory systems to reduce memory consumption for - stacks. However, this shall be done with caution as it could increase the - possibility of a blown task stack. - - This parameter can be used to increase the minimum from that - recommended. This can be used in higher memory systems to reduce the risk - of stack overflow without performing analysis on actual consumption. - - By default, this configuration parameter defines also the minimum stack - size of POSIX threads. This can be changed with the - ${min-posix-thread-stack-size:/name} - configuration option. - - In releases before RTEMS 5.1 the ``CONFIGURE_MINIMUM_TASK_STACK_SIZE`` was - used to define the default value of ${interrupt-stack-size:/name}. -text: '' -type: interface diff --git a/spec/if/acfg/min-tasks-with-user-provided-storage.yml b/spec/if/acfg/min-tasks-with-user-provided-storage.yml deleted file mode 100644 index 2001c01b..00000000 --- a/spec/if/acfg/min-tasks-with-user-provided-storage.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${max-tasks:/name} - min: 0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default-value: 0 -description: | - The value of this configuration option defines the minimum count of Classic - API Tasks which are constructed by ${../rtems/tasks/construct:/name}. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-classic -name: CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE -notes: | - By default, the calculation for the required memory in the RTEMS Workspace - for tasks assumes that all Classic API Tasks are created by - ${../rtems/tasks/create:/name}. This configuration option can be used to - reduce the required memory for the system-provided task storage areas since - tasks constructed by ${../rtems/tasks/construct:/name} use a user-provided - task storage area. -text: '' -type: interface diff --git a/spec/if/acfg/mp-extra-server-stack.yml b/spec/if/acfg/mp-extra-server-stack.yml deleted file mode 100644 index 85f07d59..00000000 --- a/spec/if/acfg/mp-extra-server-stack.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 - texts: - - | - The value of this configuration option shall be small enough so that the - MPCI receive server stack area calculation carried out by - ``<rtems/confdefs.h>`` does not overflow an integer of type - ${../c/size_t:/name}. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -default-value: 0 -description: | - The value of this configuration option defines the number of bytes the - applications wishes to add to the MPCI task stack on top of - ${min-task-stack-size:/name}. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-mpci -name: CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK -notes: | - This configuration option is only evaluated if - ${mp-appl:/name} is defined. -text: '' -type: interface diff --git a/spec/if/acfg/mp-max-global-objects.yml b/spec/if/acfg/mp-max-global-objects.yml deleted file mode 100644 index 6ca30c08..00000000 --- a/spec/if/acfg/mp-max-global-objects.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 32 -description: | - The value of this configuration option defines the maximum number of - concurrently active global objects in a multiprocessor system. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-mpci -name: CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS -notes: | - This value corresponds to the total number of objects which can be created - with the ${../rtems/attr/global:/name} attribute. - - This configuration option is only evaluated if - ${mp-appl:/name} is defined. -text: '' -type: interface diff --git a/spec/if/acfg/mp-max-nodes.yml b/spec/if/acfg/mp-max-nodes.yml deleted file mode 100644 index 10c2cf17..00000000 --- a/spec/if/acfg/mp-max-nodes.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 2 -description: | - The value of this configuration option defines the maximum number of nodes in - a multiprocessor system. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-mpci -name: CONFIGURE_MP_MAXIMUM_NODES -notes: | - This configuration option is only evaluated if - ${mp-appl:/name} is defined. -text: '' -type: interface diff --git a/spec/if/acfg/mp-max-proxies.yml b/spec/if/acfg/mp-max-proxies.yml deleted file mode 100644 index a61ab2ad..00000000 --- a/spec/if/acfg/mp-max-proxies.yml +++ /dev/null @@ -1,29 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 32 -description: | - The value of this configuration option defines the maximum number of - concurrently active thread/task proxies on this node in a multiprocessor - system. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-mpci -name: CONFIGURE_MP_MAXIMUM_PROXIES -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}. - - This configuration option is only evaluated if - ${mp-appl:/name} is defined. -text: '' -type: interface diff --git a/spec/if/acfg/mp-mpci-table-pointer.yml b/spec/if/acfg/mp-mpci-table-pointer.yml deleted file mode 100644 index 2f92d4d9..00000000 --- a/spec/if/acfg/mp-mpci-table-pointer.yml +++ /dev/null @@ -1,29 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: initializer -constraints: - texts: - - | - The value of this configuration option shall be a pointer to - ${../rtems/types/mpci-table:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: '``&MPCI_table``' -description: | - The value of this configuration option initializes the MPCI Configuration - Table. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-mpci -name: CONFIGURE_MP_MPCI_TABLE_POINTER -notes: | - RTEMS provides a Shared Memory MPCI Device Driver which can be used on any - Multiprocessor System assuming the BSP provides the proper set of - supporting methods. - - This configuration option is only evaluated if - ${mp-appl:/name} is defined. -text: '' -type: interface diff --git a/spec/if/acfg/mp-node-number.yml b/spec/if/acfg/mp-node-number.yml deleted file mode 100644 index 24e44315..00000000 --- a/spec/if/acfg/mp-node-number.yml +++ /dev/null @@ -1,28 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: '``NODE_NUMBER``' -description: | - The value of this configuration option defines the node number of this node - in a multiprocessor system. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-mpci -name: CONFIGURE_MP_NODE_NUMBER -notes: | - In the RTEMS Multiprocessing Test Suite, the node number is derived from - the Makefile variable ``NODE_NUMBER``. The same code is compiled with the - ``NODE_NUMBER`` set to different values. The test programs behave - differently based upon their node number. - - This configuration option is only evaluated if - ${mp-appl:/name} is defined. -text: '' -type: interface diff --git a/spec/if/acfg/record-per-processor-items.yml b/spec/if/acfg/record-per-processor-items.yml deleted file mode 100644 index e52d15cf..00000000 --- a/spec/if/acfg/record-per-processor-items.yml +++ /dev/null @@ -1,28 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/size_max:/name} - min: 16 - texts: - - It shall be a power of two. -copyrights: -- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) -default-value: 0 -description: | - The value of this configuration option defines the event record item count - per processor. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-eventrecord -- role: constraint - uid: constraint-memsz -name: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS -notes: | - The event record buffers are statically allocated for each configured - processor (${max-processors:/name}). If the value of this - configuration option is zero, then nothing is allocated. -text: '' -type: interface diff --git a/spec/if/acfg/scheduler-name.yml b/spec/if/acfg/scheduler-name.yml deleted file mode 100644 index 50d191df..00000000 --- a/spec/if/acfg/scheduler-name.yml +++ /dev/null @@ -1,46 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - texts: - - | - The value of this configuration option shall be a valid integer of type - ${../rtems/types/name:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: | - The default value is - - * ``"MEDF"`` for the ${.:/document-reference/scheduler-smp-edf}, - - * ``"MPA "`` for the ${.:/document-reference/scheduler-smp-priority-affinity}, - - * ``"MPD "`` for the ${.:/document-reference/scheduler-smp-priority}, - - * ``"MPS "`` for the ${.:/document-reference/scheduler-smp-priority-simple}, - - * ``"UCBS"`` for the ${.:/document-reference/scheduler-cbs}, - - * ``"UEDF"`` for the ${.:/document-reference/scheduler-edf}, - - * ``"UPD "`` for the ${.:/document-reference/scheduler-priority}, and - - * ``"UPS "`` for the ${.:/document-reference/scheduler-priority-simple}. -description: | - The value of this configuration option defines the name of the default - scheduler. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-schedgeneral -name: CONFIGURE_SCHEDULER_NAME -notes: | - This scheduler configuration option is an advanced configuration option. - Think twice before you use it. - - Schedulers can be identified via ${../rtems/scheduler/ident:/name}. - - Use ${../rtems/object/build-name:/name} to define the scheduler name. -text: '' -type: interface diff --git a/spec/if/acfg/task-stack-allocator-init.yml b/spec/if/acfg/task-stack-allocator-init.yml deleted file mode 100644 index 8e56ae30..00000000 --- a/spec/if/acfg/task-stack-allocator-init.yml +++ /dev/null @@ -1,31 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: initializer -constraints: - texts: - - | - The value of this configuration option shall be defined to a valid function - pointer of the type ``void ( *initialize )( size_t )`` or to - ${../c/null:/name}. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: ${../c/null:/name} -description: | - The value of this configuration option initializes the stack allocator - initialization handler. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-stackalloc -name: CONFIGURE_TASK_STACK_ALLOCATOR_INIT -notes: | - A correctly configured system shall configure the following to be consistent: - - * ``CONFIGURE_TASK_STACK_ALLOCATOR_INIT`` - - * ${task-stack-allocator:/name} - - * ${task-stack-deallocator:/name} -text: '' -type: interface diff --git a/spec/if/acfg/ticks-per-time-slice.yml b/spec/if/acfg/ticks-per-time-slice.yml deleted file mode 100644 index ff23f3c6..00000000 --- a/spec/if/acfg/ticks-per-time-slice.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - max: ${../c/uint32_max:/name} - min: 0 -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -default-value: 50 -description: | - The value of this configuration option defines the length of the timeslice - quantum in ticks for each task. -enabled-by: true -index-entries: -- ticks per timeslice -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -name: CONFIGURE_TICKS_PER_TIMESLICE -notes: | - This configuration option has no impact if the Clock Driver is not - configured, see ${appl-does-not-need-clock-driver:/name}. -text: '' -type: interface diff --git a/spec/if/acfg/unlimited-allocation-size.yml b/spec/if/acfg/unlimited-allocation-size.yml deleted file mode 100644 index f0a2db95..00000000 --- a/spec/if/acfg/unlimited-allocation-size.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: integer -constraints: - texts: - - | - The value of this configuration option shall meet the constraints of all - object classes to which it is applied. -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -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 - ``rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )``. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -name: CONFIGURE_UNLIMITED_ALLOCATION_SIZE -notes: | - By allowing users to declare all resources as being unlimited the user can - avoid identifying and limiting the resources used. - - The object maximum of each class can be configured also individually using - the ${../rtems/config/resource-unlimited:/name} macro. -text: '' -type: interface diff --git a/spec/if/acfg/verbose-system-init.yml b/spec/if/acfg/verbose-system-init.yml deleted file mode 100644 index dcc5ae62..00000000 --- a/spec/if/acfg/verbose-system-init.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -appl-config-option-type: feature-enable -copyrights: -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: | - In case this configuration option is defined, then the system initialization - is verbose. -enabled-by: true -index-entries: [] -interface-type: appl-config-option -links: -- role: appl-config-group-member - uid: group-general -name: CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION -notes: | - You may use this feature to debug system initialization issues. The - ${../rtems/io/printk:/name} function is used to print the information. -text: '' -type: interface diff --git a/spec/if/api.yml b/spec/if/api.yml index 69553ecf..077a7a4a 100644 --- a/spec/if/api.yml +++ b/spec/if/api.yml @@ -9,9 +9,9 @@ identifier: RTEMSAPI interface-type: group links: - role: requirement-refinement - uid: ../system + uid: ../req/system - role: interface-placement - uid: rtems/basedefs/header + uid: ../rtems/basedefs/if/header name: API text: | The system shall have an ${../glossary/api:/term}. diff --git a/spec/if/applconfig.yml b/spec/if/applconfig.yml deleted file mode 100644 index d1f808c6..00000000 --- a/spec/if/applconfig.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de -enabled-by: true -links: -- role: requirement-refinement - uid: api -non-functional-type: interface-requirement -rationale: null -references: [] -requirement-type: non-functional -text: | - The system shall provide configuration options to the application to set - configurable system parameters at link time. -type: requirement diff --git a/spec/if/build-options/container.yml b/spec/if/build-options/container.yml deleted file mode 100644 index f0e130ab..00000000 --- a/spec/if/build-options/container.yml +++ /dev/null @@ -1,9 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: container -links: -- role: interface-placement - uid: /if/domains/build-options -type: interface diff --git a/spec/if/build-options/cpuopts.yml b/spec/if/build-options/cpuopts.yml deleted file mode 100644 index 803c28e6..00000000 --- a/spec/if/build-options/cpuopts.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces provided by the CPU build options. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/build-options -path: rtems/score/cpuopts.h -prefix: '' -type: interface diff --git a/spec/if/c/errno-header.yml b/spec/if/c/errno-header.yml deleted file mode 100644 index c03e1e7c..00000000 --- a/spec/if/c/errno-header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: errno.h -prefix: '' -type: interface diff --git a/spec/if/c/pthread.yml b/spec/if/c/pthread.yml deleted file mode 100644 index a4cc736f..00000000 --- a/spec/if/c/pthread.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: pthread.h -prefix: '' -type: interface diff --git a/spec/if/c/semaphore.yml b/spec/if/c/semaphore.yml deleted file mode 100644 index d9f88990..00000000 --- a/spec/if/c/semaphore.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: semaphore.h -prefix: '' -type: interface diff --git a/spec/if/c/stdatomic.yml b/spec/if/c/stdatomic.yml deleted file mode 100644 index 7ff24fc1..00000000 --- a/spec/if/c/stdatomic.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: stdatomic.h -prefix: '' -type: interface diff --git a/spec/if/c/stdbool.yml b/spec/if/c/stdbool.yml deleted file mode 100644 index 8adbb490..00000000 --- a/spec/if/c/stdbool.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: stdbool.h -prefix: '' -type: interface diff --git a/spec/if/c/stddef.yml b/spec/if/c/stddef.yml deleted file mode 100644 index 0903df33..00000000 --- a/spec/if/c/stddef.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: stddef.h -prefix: '' -type: interface diff --git a/spec/if/c/stdint.yml b/spec/if/c/stdint.yml deleted file mode 100644 index 6322d4e7..00000000 --- a/spec/if/c/stdint.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: stdint.h -prefix: '' -type: interface diff --git a/spec/if/c/stdio.yml b/spec/if/c/stdio.yml deleted file mode 100644 index 93712a76..00000000 --- a/spec/if/c/stdio.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: stdio.h -prefix: '' -type: interface diff --git a/spec/if/c/stdlib.yml b/spec/if/c/stdlib.yml deleted file mode 100644 index cfb9eede..00000000 --- a/spec/if/c/stdlib.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: stdlib.h -prefix: '' -type: interface diff --git a/spec/if/c/string.yml b/spec/if/c/string.yml deleted file mode 100644 index 2b3fbbee..00000000 --- a/spec/if/c/string.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: string.h -prefix: '' -type: interface diff --git a/spec/if/c/sys-cpuset.yml b/spec/if/c/sys-cpuset.yml deleted file mode 100644 index de6f3d78..00000000 --- a/spec/if/c/sys-cpuset.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is FreeBSD defined header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: sys/cpuset.h -prefix: '' -type: interface diff --git a/spec/if/c/sys-impl-timespec.yml b/spec/if/c/sys-impl-timespec.yml deleted file mode 100644 index e8d4e621..00000000 --- a/spec/if/c/sys-impl-timespec.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file provides POSIX time related definitions. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: sys/_timespec.h -prefix: '' -type: interface diff --git a/spec/if/c/sys-impl-timeval.yml b/spec/if/c/sys-impl-timeval.yml deleted file mode 100644 index c77cea75..00000000 --- a/spec/if/c/sys-impl-timeval.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file provides POSIX time related definitions. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: sys/_timeval.h -prefix: '' -type: interface diff --git a/spec/if/c/sys-stat.yml b/spec/if/c/sys-stat.yml deleted file mode 100644 index ca75b64c..00000000 --- a/spec/if/c/sys-stat.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is POSIX header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: sys/stat.h -prefix: '' -type: interface diff --git a/spec/if/c/sys-types.yml b/spec/if/c/sys-types.yml deleted file mode 100644 index 18df5dc8..00000000 --- a/spec/if/c/sys-types.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is POSIX header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: sys/types.h -prefix: '' -type: interface diff --git a/spec/if/c/time.yml b/spec/if/c/time.yml deleted file mode 100644 index 1d2c39f4..00000000 --- a/spec/if/c/time.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: time.h -prefix: '' -type: interface diff --git a/spec/if/c/unistd.yml b/spec/if/c/unistd.yml deleted file mode 100644 index b89ca925..00000000 --- a/spec/if/c/unistd.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This is a standard C library header file. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/c -path: unistd.h -prefix: '' -type: interface diff --git a/spec/if/compiler/container.yml b/spec/if/compiler/container.yml deleted file mode 100644 index 82155fce..00000000 --- a/spec/if/compiler/container.yml +++ /dev/null @@ -1,9 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: container -links: -- role: interface-placement - uid: /if/domains/compiler -type: interface diff --git a/spec/if/domains/api.yml b/spec/if/domain.yml index d10b7228..d10b7228 100644 --- a/spec/if/domains/api.yml +++ b/spec/if/domain.yml diff --git a/spec/if/impl/assert-unreachable.yml b/spec/if/impl/assert-unreachable.yml deleted file mode 100644 index 01dce6d9..00000000 --- a/spec/if/impl/assert-unreachable.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Asserts that this program point is unreachable. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - do { } while ( 0 ) - variants: - - definition: | - _Assert( 0 ) - enabled-by: - - defined(${/if/build-options/debug:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: /if/rtems/basedefs/header -name: _Assert_Unreachable -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/impl/context/header.yml b/spec/if/impl/context/header.yml deleted file mode 100644 index aeca1f95..00000000 --- a/spec/if/impl/context/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the Stack Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/context.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/cpu/header.yml b/spec/if/impl/cpu/header.yml deleted file mode 100644 index 8c52a9c6..00000000 --- a/spec/if/impl/cpu/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the CPU port. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/cpu.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/dequalify-types-not-compatible.yml b/spec/if/impl/dequalify-types-not-compatible.yml deleted file mode 100644 index 3d05f322..00000000 --- a/spec/if/impl/dequalify-types-not-compatible.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - A not implemented function to trigger compile time errors with an error - message. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2014 Paval Pisa -definition: - default: - body: null - params: [] - return: void * - variants: - - definition: - body: null - params: [] - return: __attribute__((__error__("RTEMS_DEQUALIFY() types differ not only by - volatile and const"))) void * - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: - not: ASM -interface-type: function -links: -- role: interface-placement - uid: /if/rtems/basedefs/header -name: RTEMS_DEQUALIFY_types_not_compatible -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/impl/heap/header.yml b/spec/if/impl/heap/header.yml deleted file mode 100644 index 84acf0c4..00000000 --- a/spec/if/impl/heap/header.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file defines interfaces of the Heap Handler which provide - information of a heap. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/heapinfo.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/interr/header.yml b/spec/if/impl/interr/header.yml deleted file mode 100644 index 8c0255e2..00000000 --- a/spec/if/impl/interr/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the interfaces of the Fatal Error Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/interr.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/isr/header-2.yml b/spec/if/impl/isr/header-2.yml deleted file mode 100644 index 6aedaf66..00000000 --- a/spec/if/impl/isr/header-2.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces related to the ISR level. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/isrlevel.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/isr/header-3.yml b/spec/if/impl/isr/header-3.yml deleted file mode 100644 index 6bcf1270..00000000 --- a/spec/if/impl/isr/header-3.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the ISR Lock Handler -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/isrlock.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/isr/header.yml b/spec/if/impl/isr/header.yml deleted file mode 100644 index 0323b435..00000000 --- a/spec/if/impl/isr/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the ISR Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/isr.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/maximum-priority.yml b/spec/if/impl/maximum-priority.yml deleted file mode 100644 index 7d8b9b72..00000000 --- a/spec/if/impl/maximum-priority.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum priority of the scheduler with index zero. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/rtems/tasks/priority:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: /if/rtems/tasks/header -name: _RTEMS_Maximum_priority -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/impl/memory/header.yml b/spec/if/impl/memory/header.yml deleted file mode 100644 index 4b35d99a..00000000 --- a/spec/if/impl/memory/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the Memory Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/memory.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/mpci/header-2.yml b/spec/if/impl/mpci/header-2.yml deleted file mode 100644 index 56470b31..00000000 --- a/spec/if/impl/mpci/header-2.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the MPCI packet interfaces. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/mppkt.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/mpci/header.yml b/spec/if/impl/mpci/header.yml deleted file mode 100644 index b959193f..00000000 --- a/spec/if/impl/mpci/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the interface of the MPCI implementation. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/mpci.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/object/header.yml b/spec/if/impl/object/header.yml deleted file mode 100644 index 8a1c69a3..00000000 --- a/spec/if/impl/object/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the Object Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/object.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/smp/header-2.yml b/spec/if/impl/smp/header-2.yml deleted file mode 100644 index 4cf217a0..00000000 --- a/spec/if/impl/smp/header-2.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the SMP Lock Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/smplock.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/smp/header.yml b/spec/if/impl/smp/header.yml deleted file mode 100644 index d7952c0e..00000000 --- a/spec/if/impl/smp/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the SMP Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/smp.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/stack/header.yml b/spec/if/impl/stack/header.yml deleted file mode 100644 index 92b9ff03..00000000 --- a/spec/if/impl/stack/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines interfaces of the Stack Handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/stack.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/thread/header.yml b/spec/if/impl/thread/header.yml deleted file mode 100644 index 70655c43..00000000 --- a/spec/if/impl/thread/header.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file defines data structures of the Thread Handler used to - instantiate idle thread related objects defined by the application - configuration. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/threadidledata.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/tod-to-seconds.yml b/spec/if/impl/tod-to-seconds.yml deleted file mode 100644 index 8273a504..00000000 --- a/spec/if/impl/tod-to-seconds.yml +++ /dev/null @@ -1,28 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const ${/if/rtems/types/time-of-day:/name} *${.:/params[0]/name} - return: ${watchdog/interval:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: /if/rtems/clock/header -name: _TOD_To_seconds -notes: null -params: -- description: '%' - dir: null - name: the_tod -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/impl/tod-validate.yml b/spec/if/impl/tod-validate.yml deleted file mode 100644 index 9e89f147..00000000 --- a/spec/if/impl/tod-validate.yml +++ /dev/null @@ -1,28 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const ${/if/rtems/types/time-of-day:/name} *${.:/params[0]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: /if/rtems/clock/header -name: _TOD_Validate -notes: null -params: -- description: '%' - dir: null - name: the_tod -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/impl/userext/header.yml b/spec/if/impl/userext/header.yml deleted file mode 100644 index a44dd92c..00000000 --- a/spec/if/impl/userext/header.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file defines data structures of the User Extensions Handler used - to instantiate objects defined by the application configuration. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/userextdata.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/watchdog/header.yml b/spec/if/impl/watchdog/header.yml deleted file mode 100644 index 39aa67df..00000000 --- a/spec/if/impl/watchdog/header.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file defines data structures of the Watchdog Handler used to - instantiate clock tick related objects defined by the application - configuration. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/watchdogticks.h -prefix: cpukit/include -type: interface diff --git a/spec/if/impl/wkspace/header.yml b/spec/if/impl/wkspace/header.yml deleted file mode 100644 index f0e2f577..00000000 --- a/spec/if/impl/wkspace/header.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file defines data structures of the Workspace Handler used to - instantiate objects defined by the application configuration. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/implementation -path: rtems/score/wkspacedata.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/attr/attribute.yml b/spec/if/rtems/attr/attribute.yml deleted file mode 100644 index 3134ace4..00000000 --- a/spec/if/rtems/attr/attribute.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type is used to represent Classic API attributes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_attribute -notes: | - Attributes are primarily used when creating objects. -type: interface diff --git a/spec/if/rtems/attr/group.yml b/spec/if/rtems/attr/group.yml deleted file mode 100644 index 9bf22505..00000000 --- a/spec/if/rtems/attr/group.yml +++ /dev/null @@ -1,18 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains the Classic API directive attributes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicAttr -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Directive Attributes -text: | - The Classic API shall provide an interface to directive attributes. -type: interface diff --git a/spec/if/rtems/attr/header.yml b/spec/if/rtems/attr/header.yml deleted file mode 100644 index 1ef0839a..00000000 --- a/spec/if/rtems/attr/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines attributes provided by the API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/attr.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/barrier/create.yml b/spec/if/rtems/barrier/create.yml deleted file mode 100644 index 803cc1c6..00000000 --- a/spec/if/rtems/barrier/create.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../attr/attribute:/name} ${.:/params[1]/name} - - ${/if/c/uint32_t:/name} ${.:/params[2]/name} - - ${../types/id:/name} *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_barrier_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: attribute_set -- description: '%' - dir: null - name: maximum_waiters -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/barrier/delete.yml b/spec/if/rtems/barrier/delete.yml deleted file mode 100644 index 8e66786d..00000000 --- a/spec/if/rtems/barrier/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_barrier_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/barrier/group.yml b/spec/if/rtems/barrier/group.yml deleted file mode 100644 index 514dacea..00000000 --- a/spec/if/rtems/barrier/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Barrier Manager provides a unique synchronization capability which can be - used to have a set of tasks block and be unblocked as a set. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicBarrier -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Barrier Manager -text: | - The Classic API shall provide an interface to the Barrier Manager. -type: interface diff --git a/spec/if/rtems/barrier/header.yml b/spec/if/rtems/barrier/header.yml deleted file mode 100644 index fc76a102..00000000 --- a/spec/if/rtems/barrier/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Barrier Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/barrier.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/barrier/ident.yml b/spec/if/rtems/barrier/ident.yml deleted file mode 100644 index b75f8b2a..00000000 --- a/spec/if/rtems/barrier/ident.yml +++ /dev/null @@ -1,60 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a barrier object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the barrier identifier associated with the barrier - name specified in ``${.:/params[0]/name}``. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_barrier_ident -notes: | - If the barrier name is not unique, then the barrier identifier will match the - first barrier with that name in the search order. However, this barrier - identifier is not guaranteed to correspond to the desired barrier. The - barrier identifier is used with other barrier related directives to access - the barrier. - - The objects are searched from lowest to the highest index. Only the local - node is searched. -params: -- description: is the object name to look up. - dir: null - name: name -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the local node. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/barrier/release.yml b/spec/if/rtems/barrier/release.yml deleted file mode 100644 index 36d1b19f..00000000 --- a/spec/if/rtems/barrier/release.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_barrier_release -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: released -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/barrier/wait.yml b/spec/if/rtems/barrier/wait.yml deleted file mode 100644 index 8de1cb31..00000000 --- a/spec/if/rtems/barrier/wait.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/interval:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_barrier_wait -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: timeout -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/alias.yml b/spec/if/rtems/basedefs/alias.yml deleted file mode 100644 index 17559f54..00000000 --- a/spec/if/rtems/basedefs/alias.yml +++ /dev/null @@ -1,31 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Instructs the compiler to generate an alias to the specified target function. -copyrights: -- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__alias__(#_target))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_ALIAS -notes: null -params: -- description: | - is the target function name. - dir: null - name: _target -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/aligned.yml b/spec/if/rtems/basedefs/aligned.yml deleted file mode 100644 index 5aa5256e..00000000 --- a/spec/if/rtems/basedefs/aligned.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Instructs the compiler in a declaration or definition to enforce the - specified alignment. -copyrights: -- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__aligned__(_alignment))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_ALIGNED -notes: null -params: -- description: | - is the desired alignment in bytes. - dir: null - name: _alignment -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/alloc-align.yml b/spec/if/rtems/basedefs/alloc-align.yml deleted file mode 100644 index 1018b81e..00000000 --- a/spec/if/rtems/basedefs/alloc-align.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a declaration that the memory allocation alignment - parameter of this function is similar to aligned_alloc(). -copyrights: -- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__alloc_align__(_index))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_ALLOC_ALIGN -notes: null -params: -- description: | - is the allocation alignment parameter index (starting with one). - dir: null - name: _index -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/alloc-size-2.yml b/spec/if/rtems/basedefs/alloc-size-2.yml deleted file mode 100644 index e0bae5d7..00000000 --- a/spec/if/rtems/basedefs/alloc-size-2.yml +++ /dev/null @@ -1,36 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a declaration that the memory allocation item count and - item size parameter of this function is similar to calloc(). -copyrights: -- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__alloc_size__(_count_index, _size_index))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_ALLOC_SIZE_2 -notes: null -params: -- description: | - is the allocation item count parameter index (starting with one). - dir: null - name: _count_index -- description: | - is the allocation item size parameter index (starting with one). - dir: null - name: _size_index -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/alloc-size.yml b/spec/if/rtems/basedefs/alloc-size.yml deleted file mode 100644 index 7b7e4062..00000000 --- a/spec/if/rtems/basedefs/alloc-size.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a declaration that the memory allocation size parameter - of this function is similar to malloc(). -copyrights: -- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__alloc_size__(_index))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_ALLOC_SIZE -notes: null -params: -- description: | - is the allocation size parameter index (starting with one). - dir: null - name: _index -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/compiler-memory-barrier.yml b/spec/if/rtems/basedefs/compiler-memory-barrier.yml deleted file mode 100644 index bf05b9fb..00000000 --- a/spec/if/rtems/basedefs/compiler-memory-barrier.yml +++ /dev/null @@ -1,28 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This macro forbids the compiler to reorder read and write commands around it. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - do { } while ( 0 ) - variants: - - definition: | - ${/if/compiler/asm:/name} volatile( "" ::: "memory" ) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_COMPILER_MEMORY_BARRIER -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/const.yml b/spec/if/rtems/basedefs/const.yml deleted file mode 100644 index f5f3eab2..00000000 --- a/spec/if/rtems/basedefs/const.yml +++ /dev/null @@ -1,25 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a function declaration that this function has no effect - except the return value and that the return value depends only on the value - of parameters. -copyrights: -- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__const__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_CONST -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/container-of.yml b/spec/if/rtems/basedefs/container-of.yml deleted file mode 100644 index 1d4070f5..00000000 --- a/spec/if/rtems/basedefs/container-of.yml +++ /dev/null @@ -1,37 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the pointer to the container of a specified member pointer. -copyrights: -- Copyright (C) 2014 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - ( (_type *) ( (${/if/c/uintptr_t:/name}) ( _m ) - ${/if/c/offsetof:/name}( _type, _member_name ) ) ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_CONTAINER_OF -notes: null -params: -- description: | - is the pointer to a member of the container. - dir: null - name: _m -- description: | - is the type of the container. - dir: null - name: _type -- description: | - is the designator name of the container member. - dir: null - name: _member_name -return: - return: | - Returns the pointer to the container of a specified member pointer. - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/define-global-symbol.yml b/spec/if/rtems/basedefs/define-global-symbol.yml deleted file mode 100644 index a63f5999..00000000 --- a/spec/if/rtems/basedefs/define-global-symbol.yml +++ /dev/null @@ -1,44 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Defines a global symbol with the specified name and value. -copyrights: -- Copyright (C) 2018, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - ${/if/compiler/asm:/name}( - "\t.globl " ${xstring:/name}( ${symbol-name:/name}( _name ) ) - "\n\t.set " ${xstring:/name}( ${symbol-name:/name}( _name ) ) - ", " ${string:/name}( _value ) "\n" - ) - enabled-by: - - defined(${/if/compiler/user-label-prefix:/name}) -description: | - This macro shall be placed at file scope. -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_DEFINE_GLOBAL_SYMBOL -notes: null -params: -- description: | - is the user defined name of the symbol. The name shall be a valid - designator. On the name a macro expansion is performed and afterwards it - is stringified. - dir: null - name: _name -- description: | - is the value of the symbol. On the value a macro expansion is performed - and afterwards it is stringified. It shall expand to an integer expression - understood by the assembler. - dir: null - name: _value -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/deprecated.yml b/spec/if/rtems/basedefs/deprecated.yml deleted file mode 100644 index a9e60dfe..00000000 --- a/spec/if/rtems/basedefs/deprecated.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Instructs the compiler in a declaration to issue a warning whenever a - variable, function, or type using this declaration will be used. -copyrights: -- Copyright (C) 2009 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__deprecated__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_DEPRECATED -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/dequalify-depthx.yml b/spec/if/rtems/basedefs/dequalify-depthx.yml deleted file mode 100644 index 1d7247df..00000000 --- a/spec/if/rtems/basedefs/dequalify-depthx.yml +++ /dev/null @@ -1,50 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Performs a type cast which removes qualifiers without warnings to the - specified type for the specified variable. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2014 Paval Pisa -definition: - default: ((_type)(${/if/c/uintptr_t:/name})(const volatile void *)(_var)) - variants: - - definition: | - (const_cast<_type>(_var)) - enabled-by: - - defined(${/if/compiler/cplusplus:/name}) - - definition: | - ${/if/compiler/builtin-choose-expr:/name}(${/if/compiler/builtin-types-compatible-p:/name}( - ${typeof-refx:/name}(_ptr_level, _var), - ${typeof-refx:/name}(_ptr_level, _type) - ) || ${/if/compiler/builtin-types-compatible-p:/name}(_type, void *), - (_type)(_var), - ${/if/impl/dequalify-types-not-compatible:/name}()) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_DEQUALIFY_DEPTHX -notes: null -params: -- description: | - is the pointer indirection level expressed in *. - dir: null - name: _ptr_level -- description: | - is the target type of the cast. - dir: null - name: _type -- description: | - is the variable. - dir: null - name: _var -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/group.yml b/spec/if/rtems/basedefs/group.yml deleted file mode 100644 index a5340f0f..00000000 --- a/spec/if/rtems/basedefs/group.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains basic macros and defines to give access to - compiler-specific features. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIBaseDefs -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../../api -name: Base Definitions -text: | - The API shall provide an interface to compiler-specific features. -type: interface diff --git a/spec/if/rtems/basedefs/have-member-same-type.yml b/spec/if/rtems/basedefs/have-member-same-type.yml deleted file mode 100644 index 2b7a2844..00000000 --- a/spec/if/rtems/basedefs/have-member-same-type.yml +++ /dev/null @@ -1,48 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Evaluates to true if the specified members of two types have compatible - types, otherwise to false. -copyrights: -- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - ${/if/c/true:/name} - variants: - - definition: | - ${/if/compiler/builtin-types-compatible-p:/name}( - ${/if/compiler/typeof:/name}( ( (_t_lhs *) 0 )->_m_lhs ), - ${/if/compiler/typeof:/name}( ( (_t_rhs *) 0 )->_m_rhs ) - ) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_HAVE_MEMBER_SAME_TYPE -notes: null -params: -- description: | - is the left hand side type. - dir: null - name: _t_lhs -- description: | - is the left hand side member. - dir: null - name: _m_lhs -- description: | - is the right hand side type. - dir: null - name: _t_rhs -- description: | - is the right hand side member. - dir: null - name: _m_rhs -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/header.yml b/spec/if/rtems/basedefs/header.yml deleted file mode 100644 index 0fe9a823..00000000 --- a/spec/if/rtems/basedefs/header.yml +++ /dev/null @@ -1,29 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file provides basic definitions used by the API and - the implementation. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- enabled-by: [] - role: interface-include - uid: /if/build-options/cpuopts -- enabled-by: - not: ASM - role: interface-include - uid: /if/c/stddef -- enabled-by: - not: ASM - role: interface-include - uid: /if/c/stdbool -- enabled-by: - not: ASM - role: interface-include - uid: /if/c/stdint -- role: interface-placement - uid: /if/domains/api -path: rtems/score/basedefs.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/basedefs/inline-routine.yml b/spec/if/rtems/basedefs/inline-routine.yml deleted file mode 100644 index 7ce5f60e..00000000 --- a/spec/if/rtems/basedefs/inline-routine.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Gives a hint to the compiler in a function declaration to inline this - function. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: static inline - variants: - - definition: static __inline__ - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_INLINE_ROUTINE -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/malloclike.yml b/spec/if/rtems/basedefs/malloclike.yml deleted file mode 100644 index 40948b56..00000000 --- a/spec/if/rtems/basedefs/malloclike.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a declaration that this function is a memory allocation - function similar to malloc(). -copyrights: -- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__malloc__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_MALLOCLIKE -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/no-inline.yml b/spec/if/rtems/basedefs/no-inline.yml deleted file mode 100644 index b61ccb43..00000000 --- a/spec/if/rtems/basedefs/no-inline.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Instructs the compiler in a function declaration to not inline this function. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__noinline__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_NO_INLINE -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/no-return.yml b/spec/if/rtems/basedefs/no-return.yml deleted file mode 100644 index 24f4900e..00000000 --- a/spec/if/rtems/basedefs/no-return.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a function declaration that this function does not - return. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__noreturn__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_NO_RETURN -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/obfuscate-variable.yml b/spec/if/rtems/basedefs/obfuscate-variable.yml deleted file mode 100644 index 512e2c21..00000000 --- a/spec/if/rtems/basedefs/obfuscate-variable.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Obfuscates the variable so that the compiler cannot perform optimizations - based on the variable value. -copyrights: -- Copyright (C) 2016, 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - (void) (_var) - variants: - - definition: | - ${/if/compiler/asm:/name}( "" : "+r" ( _var ) ) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: | - The variable must be simple enough to fit into a register. -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_OBFUSCATE_VARIABLE -notes: null -params: -- description: | - is the variable to obfuscate. - dir: null - name: _var -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/packed.yml b/spec/if/rtems/basedefs/packed.yml deleted file mode 100644 index a31f9773..00000000 --- a/spec/if/rtems/basedefs/packed.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Instructs the compiler in a type definition to place members of a structure - or union so that the memory required is minimized. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__packed__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_PACKED -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/predict-false.yml b/spec/if/rtems/basedefs/predict-false.yml deleted file mode 100644 index fffd5690..00000000 --- a/spec/if/rtems/basedefs/predict-false.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the value of the specified integral expression and tells the compiler - that the predicted value is false (1). -copyrights: -- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - ( _exp ) - variants: - - definition: | - ${/if/compiler/builtin-expect:/name}( ( _exp ), 0 ) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_PREDICT_FALSE -notes: null -params: -- description: | - is the expression. - dir: null - name: _exp -return: - return: The value of the expression. - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/predict-true.yml b/spec/if/rtems/basedefs/predict-true.yml deleted file mode 100644 index 477059c2..00000000 --- a/spec/if/rtems/basedefs/predict-true.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the value of the specified integral expression and tells the compiler - that the predicted value is true (1). -copyrights: -- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - ( _exp ) - variants: - - definition: | - ${/if/compiler/builtin-expect:/name}( ( _exp ), 1 ) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_PREDICT_TRUE -notes: null -params: -- description: | - is the expression. - dir: null - name: _exp -return: - return: The value of the expression. - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/printflike.yml b/spec/if/rtems/basedefs/printflike.yml deleted file mode 100644 index b33cf217..00000000 --- a/spec/if/rtems/basedefs/printflike.yml +++ /dev/null @@ -1,37 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a declaration that this function expects printf()-like - arguments. -copyrights: -- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__format__(__printf__, _format_pos, _ap_pos))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_PRINTFLIKE -notes: null -params: -- description: | - is the position of the format parameter index (starting with one). - dir: null - name: _format_pos -- description: | - is the position of the argument pointer parameter index (starting with - one). - dir: null - name: _ap_pos -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/pure.yml b/spec/if/rtems/basedefs/pure.yml deleted file mode 100644 index 7585ebb8..00000000 --- a/spec/if/rtems/basedefs/pure.yml +++ /dev/null @@ -1,25 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a function declaration that this function has no effect - except the return value and that the return value depends only on the value - of parameters and/or global variables. -copyrights: -- Copyright (C) 2011 On-Line Applications Research Corporation (OAR) -definition: - default: '' - variants: - - definition: | - __attribute__((__pure__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_PURE -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/return-address.yml b/spec/if/rtems/basedefs/return-address.yml deleted file mode 100644 index 5f141c68..00000000 --- a/spec/if/rtems/basedefs/return-address.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the return address of the current function. -copyrights: -- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/c/null:/name} - variants: - - definition: | - ${/if/compiler/builtin-return-address:/name}(0) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_RETURN_ADDRESS -notes: null -params: [] -return: - return: The return address of the current function. - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/section.yml b/spec/if/rtems/basedefs/section.yml deleted file mode 100644 index 9191b51c..00000000 --- a/spec/if/rtems/basedefs/section.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Instructs the compiler to place a specific variable or function in the - specified section. -copyrights: -- Copyright (C) 2015 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__section__(_section))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_SECTION -notes: null -params: -- description: | - is the section name as a string. - dir: null - name: _section -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/static-assert.yml b/spec/if/rtems/basedefs/static-assert.yml deleted file mode 100644 index a56d9713..00000000 --- a/spec/if/rtems/basedefs/static-assert.yml +++ /dev/null @@ -1,41 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Asserts at compile time that the specified condition is satisfied. -copyrights: -- Copyright (C) 2011, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - struct rtems_static_assert_ ## _msg - { int rtems_static_assert_ ## _msg : (_cond) ? 1 : -1; } - variants: - - definition: | - static_assert(_cond, # _msg) - enabled-by: - - ${/if/compiler/cplusplus:/name} >= 201103L - - definition: | - _Static_assert(_cond, # _msg) - enabled-by: - - ${/if/compiler/stdc-version:/name} >= 201112L -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_STATIC_ASSERT -notes: null -params: -- description: | - is the condition this static assertion shall satisfy. - dir: null - name: _cond -- description: | - is the error message in case the static assertion fails. - dir: null - name: _msg -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/symbol-name.yml b/spec/if/rtems/basedefs/symbol-name.yml deleted file mode 100644 index 771a2dae..00000000 --- a/spec/if/rtems/basedefs/symbol-name.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Constructs a symbol name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - ${expand:/name}(_name) - variants: - - definition: | - ${xconcat:/name}(${/if/compiler/user-label-prefix:/name}, _name) - enabled-by: - - defined(${/if/compiler/user-label-prefix:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_SYMBOL_NAME -notes: null -params: -- description: | - is the user defined name of the symbol. The name shall be a valid - designator. On the name a macro expansion is performed. - dir: null - name: _name -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/typeof-refx.yml b/spec/if/rtems/basedefs/typeof-refx.yml deleted file mode 100644 index cda4b9b6..00000000 --- a/spec/if/rtems/basedefs/typeof-refx.yml +++ /dev/null @@ -1,37 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the type of a pointer reference of the specified level to the specified type. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2014 Paval Pisa -definition: - default: '' - variants: - - definition: | - ${/if/compiler/typeof:/name}(_level(union { int z; ${/if/compiler/typeof:/name}(_target) x; }){0}.x) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: | - The reference type idea is based on libHX by Jan Engelhardt. -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_TYPEOF_REFX -notes: null -params: -- description: | - is the pointer indirection level expressed in *. - dir: null - name: _level -- description: | - is the reference target type. - dir: null - name: _target -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/unreachable.yml b/spec/if/rtems/basedefs/unreachable.yml deleted file mode 100644 index 97cbd4ae..00000000 --- a/spec/if/rtems/basedefs/unreachable.yml +++ /dev/null @@ -1,29 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler that this program point is unreachable. -copyrights: -- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - ${/if/impl/assert-unreachable:/name}() - variants: - - definition: | - do { - ${/if/compiler/builtin-unreachable:/name}(); - ${/if/impl/assert-unreachable:/name}(); - } while ( 0 ) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -name: RTEMS_UNREACHABLE -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/unused.yml b/spec/if/rtems/basedefs/unused.yml deleted file mode 100644 index 01c775ba..00000000 --- a/spec/if/rtems/basedefs/unused.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler that a specific variable or function is deliberately - unused. -copyrights: -- Copyright (C) 2013 On-Line Applications Research Corporation (OAR) -definition: - default: '' - variants: - - definition: | - __attribute__((__unused__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_UNUSED -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/used.yml b/spec/if/rtems/basedefs/used.yml deleted file mode 100644 index 5bb598c3..00000000 --- a/spec/if/rtems/basedefs/used.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler that a specific variable or function is used. -copyrights: -- Copyright (C) 2009 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__used__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_USED -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/warn-unused-result.yml b/spec/if/rtems/basedefs/warn-unused-result.yml deleted file mode 100644 index 48919182..00000000 --- a/spec/if/rtems/basedefs/warn-unused-result.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a declaration that the result of this function should - be used. -copyrights: -- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__warn_unused_result__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_WARN_UNUSED_RESULT -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/weak-alias.yml b/spec/if/rtems/basedefs/weak-alias.yml deleted file mode 100644 index ed071773..00000000 --- a/spec/if/rtems/basedefs/weak-alias.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Instructs the compiler to generate a weak alias to the specified target - function. -copyrights: -- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__weak__, __alias__(#_target))) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_WEAK_ALIAS -notes: null -params: -- description: | - is the target function name. - dir: null - name: _target -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/basedefs/weak.yml b/spec/if/rtems/basedefs/weak.yml deleted file mode 100644 index aea07618..00000000 --- a/spec/if/rtems/basedefs/weak.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Tells the compiler in a function definition that this function should be - weak. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '' - variants: - - definition: | - __attribute__((__weak__)) - enabled-by: - - defined(${/if/compiler/gnuc:/name}) -description: | - Use this attribute for function definitions. Do not use it for function - declarations. -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_WEAK -notes: null -type: interface diff --git a/spec/if/rtems/basedefs/zero-length-array.yml b/spec/if/rtems/basedefs/zero-length-array.yml deleted file mode 100644 index 24c23b47..00000000 --- a/spec/if/rtems/basedefs/zero-length-array.yml +++ /dev/null @@ -1,25 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This is a constant to declare zero-length arrays. -copyrights: -- Copyright (C) 2014 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: '0' - variants: - - definition: null - enabled-by: - - ${../../compiler/stdc-version:/name} >= 199409L -description: | - Zero-length arrays are valid in C99 as flexible array members. C++11 does - not allow flexible array members. Use the GNU extension which is also - supported by other compilers. -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_ZERO_LENGTH_ARRAY -notes: null -type: interface diff --git a/spec/if/rtems/cache/aligned-malloc.yml b/spec/if/rtems/cache/aligned-malloc.yml deleted file mode 100644 index cd2581f4..00000000 --- a/spec/if/rtems/cache/aligned-malloc.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/size_t:/name} ${.:/params[0]/name} - return: void * - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_aligned_malloc -notes: null -params: -- description: '%' - dir: null - name: nbytes -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/coherent-add-area.yml b/spec/if/rtems/cache/coherent-add-area.yml deleted file mode 100644 index 52c621e7..00000000 --- a/spec/if/rtems/cache/coherent-add-area.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - void *${.:/params[0]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[1]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_coherent_add_area -notes: null -params: -- description: '%' - dir: null - name: area_begin -- description: '%' - dir: null - name: area_size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/coherent-allocate.yml b/spec/if/rtems/cache/coherent-allocate.yml deleted file mode 100644 index 97653e8f..00000000 --- a/spec/if/rtems/cache/coherent-allocate.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/size_t:/name} ${.:/params[0]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[1]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[2]/name} - return: void * - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_coherent_allocate -notes: null -params: -- description: '%' - dir: null - name: size -- description: '%' - dir: null - name: alignment -- description: '%' - dir: null - name: boundary -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/flush-multiple-data-lines.yml b/spec/if/rtems/cache/flush-multiple-data-lines.yml deleted file mode 100644 index afbc38e7..00000000 --- a/spec/if/rtems/cache/flush-multiple-data-lines.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const void *${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_flush_multiple_data_lines -notes: null -params: -- description: '%' - dir: null - name: addr -- description: '%' - dir: null - name: size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/get-data-line-size.yml b/spec/if/rtems/cache/get-data-line-size.yml deleted file mode 100644 index e8540db5..00000000 --- a/spec/if/rtems/cache/get-data-line-size.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${/if/c/size_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_get_data_line_size -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/get-data-size.yml b/spec/if/rtems/cache/get-data-size.yml deleted file mode 100644 index 7bb71a75..00000000 --- a/spec/if/rtems/cache/get-data-size.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/uint32_t:/name} ${.:/params[0]/name} - return: ${/if/c/size_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_get_data_cache_size -notes: null -params: -- description: '%' - dir: null - name: level -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/get-instruction-line-size.yml b/spec/if/rtems/cache/get-instruction-line-size.yml deleted file mode 100644 index 534514dd..00000000 --- a/spec/if/rtems/cache/get-instruction-line-size.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${/if/c/size_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_get_instruction_line_size -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/get-instruction-size.yml b/spec/if/rtems/cache/get-instruction-size.yml deleted file mode 100644 index 5742373d..00000000 --- a/spec/if/rtems/cache/get-instruction-size.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/uint32_t:/name} ${.:/params[0]/name} - return: ${/if/c/size_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_get_instruction_cache_size -notes: null -params: -- description: '%' - dir: null - name: level -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/get-maximal-line-size.yml b/spec/if/rtems/cache/get-maximal-line-size.yml deleted file mode 100644 index 60e9cca3..00000000 --- a/spec/if/rtems/cache/get-maximal-line-size.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${/if/c/size_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_get_maximal_line_size -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/group.yml b/spec/if/rtems/cache/group.yml deleted file mode 100644 index d3662365..00000000 --- a/spec/if/rtems/cache/group.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Cache Manager provides functions to perform maintenance operations for - data and instruction caches. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicCache -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Cache Manager -text: | - The Classic API shall provide an interface to the Cache Manager. -type: interface diff --git a/spec/if/rtems/cache/header.yml b/spec/if/rtems/cache/header.yml deleted file mode 100644 index e84b4f5e..00000000 --- a/spec/if/rtems/cache/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Cache Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/cache.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/cache/instruction-sync-after-code-change.yml b/spec/if/rtems/cache/instruction-sync-after-code-change.yml deleted file mode 100644 index f7fead77..00000000 --- a/spec/if/rtems/cache/instruction-sync-after-code-change.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const void *${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_instruction_sync_after_code_change -notes: null -params: -- description: '%' - dir: null - name: code_addr -- description: '%' - dir: null - name: n_bytes -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/invalidate-multiple-data-lines.yml b/spec/if/rtems/cache/invalidate-multiple-data-lines.yml deleted file mode 100644 index 1c4386ce..00000000 --- a/spec/if/rtems/cache/invalidate-multiple-data-lines.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const void *${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_invalidate_multiple_data_lines -notes: null -params: -- description: '%' - dir: null - name: addr -- description: '%' - dir: null - name: size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/cache/invalidate-multiple-instruction-lines.yml b/spec/if/rtems/cache/invalidate-multiple-instruction-lines.yml deleted file mode 100644 index edb0858d..00000000 --- a/spec/if/rtems/cache/invalidate-multiple-instruction-lines.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const void *${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_cache_invalidate_multiple_instruction_lines -notes: null -params: -- description: '%' - dir: null - name: addr -- description: '%' - dir: null - name: size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-seconds-since-epoch.yml b/spec/if/rtems/clock/get-seconds-since-epoch.yml deleted file mode 100644 index 0cea3bca..00000000 --- a/spec/if/rtems/clock/get-seconds-since-epoch.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/interval:/name} *${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_seconds_since_epoch -notes: null -params: -- description: '%' - dir: null - name: the_interval -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-ticks-per-second.yml b/spec/if/rtems/clock/get-ticks-per-second.yml deleted file mode 100644 index ceb10027..00000000 --- a/spec/if/rtems/clock/get-ticks-per-second.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/watchdog/ticks-per-second:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_ticks_per_second -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-ticks-since-boot.yml b/spec/if/rtems/clock/get-ticks-since-boot.yml deleted file mode 100644 index 157c9169..00000000 --- a/spec/if/rtems/clock/get-ticks-since-boot.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/watchdog/ticks-since-boot:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_ticks_since_boot -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-tod-timeval.yml b/spec/if/rtems/clock/get-tod-timeval.yml deleted file mode 100644 index 7da8de85..00000000 --- a/spec/if/rtems/clock/get-tod-timeval.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/timeval:/name} *${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_tod_timeval -notes: null -params: -- description: '%' - dir: null - name: time -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-tod.yml b/spec/if/rtems/clock/get-tod.yml deleted file mode 100644 index 4072a8ad..00000000 --- a/spec/if/rtems/clock/get-tod.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/time-of-day:/name} *${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_tod -notes: null -params: -- description: '%' - dir: null - name: time_buffer -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-uptime-nanoseconds.yml b/spec/if/rtems/clock/get-uptime-nanoseconds.yml deleted file mode 100644 index e0733d1f..00000000 --- a/spec/if/rtems/clock/get-uptime-nanoseconds.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${/if/c/uint64_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_uptime_nanoseconds -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-uptime-seconds.yml b/spec/if/rtems/clock/get-uptime-seconds.yml deleted file mode 100644 index 9524c3dd..00000000 --- a/spec/if/rtems/clock/get-uptime-seconds.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${/if/c/time_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_uptime_seconds -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-uptime-timeval.yml b/spec/if/rtems/clock/get-uptime-timeval.yml deleted file mode 100644 index 82e09686..00000000 --- a/spec/if/rtems/clock/get-uptime-timeval.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/timeval:/name} *${.:/params[0]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_uptime_timeval -notes: null -params: -- description: '%' - dir: null - name: uptime -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/get-uptime.yml b/spec/if/rtems/clock/get-uptime.yml deleted file mode 100644 index 0e886bfc..00000000 --- a/spec/if/rtems/clock/get-uptime.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/timespec:/name} *${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_get_uptime -notes: null -params: -- description: '%' - dir: null - name: uptime -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/group.yml b/spec/if/rtems/clock/group.yml deleted file mode 100644 index 3f4964e8..00000000 --- a/spec/if/rtems/clock/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Clock Manager provides support for time of day and other time related - capabilities. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicClock -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Clock Manager -text: | - The Classic API shall provide an interface to the Clock Manager. -type: interface diff --git a/spec/if/rtems/clock/header.yml b/spec/if/rtems/clock/header.yml deleted file mode 100644 index f402e692..00000000 --- a/spec/if/rtems/clock/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Clock Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/clock.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/clock/set.yml b/spec/if/rtems/clock/set.yml deleted file mode 100644 index 80c8a27e..00000000 --- a/spec/if/rtems/clock/set.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const ${../types/time-of-day:/name} *${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_set -notes: null -params: -- description: '%' - dir: null - name: time_buffer -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/tick-before.yml b/spec/if/rtems/clock/tick-before.yml deleted file mode 100644 index ef7c69f4..00000000 --- a/spec/if/rtems/clock/tick-before.yml +++ /dev/null @@ -1,40 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true if the current ticks counter value indicates a time before the - time specified by the tick value and false otherwise. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: | - return (${/if/c/int32_t:/name}) ( ${.:/params[0]/name} - ${/if/impl/watchdog/ticks-since-boot:/name} ) > 0; - params: - - ${../types/interval:/name} ${.:/params[0]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_tick_before -notes: | - This directive can be used to write busy loops with a timeout. -params: -- description: is the tick value. - dir: null - name: tick -return: - return: null - return-values: - - description: | - The current ticks counter value indicates a time before the time - specified by the tick value. - value: 'true' - - description: | - Otherwise. - value: 'false' -type: interface diff --git a/spec/if/rtems/clock/tick-later-usec.yml b/spec/if/rtems/clock/tick-later-usec.yml deleted file mode 100644 index acb88950..00000000 --- a/spec/if/rtems/clock/tick-later-usec.yml +++ /dev/null @@ -1,41 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the ticks counter value at least delta microseconds in the future. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: | - ${../types/interval:/name} us_per_tick; - - us_per_tick = ${../config/get-microseconds-per-tick:/name}(); - - /* - * Add one additional tick, since we do not know the time to the clock - * next tick. - */ - return ${/if/impl/watchdog/ticks-since-boot:/name} + 1 - + ( ${.:/params[0]/name} + us_per_tick - 1 ) / us_per_tick; - params: - - ${../types/interval:/name} ${.:/params[0]/name} - return: ${../types/interval:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_tick_later_usec -notes: null -params: -- description: is the delta value in microseconds. - dir: null - name: delta_in_usec -return: - return: | - The tick counter value delta ticks in the future is returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/tick-later.yml b/spec/if/rtems/clock/tick-later.yml deleted file mode 100644 index 5f56a066..00000000 --- a/spec/if/rtems/clock/tick-later.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the ticks counter value delta ticks in the future. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: | - return ${/if/impl/watchdog/ticks-since-boot:/name} + ${.:/params[0]/name}; - params: - - ${../types/interval:/name} ${.:/params[0]/name} - return: ${../types/interval:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_tick_later -notes: null -params: -- description: is the ticks delta value. - dir: null - name: delta -return: - return: | - The tick counter value delta ticks in the future is returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/clock/tick.yml b/spec/if/rtems/clock/tick.yml deleted file mode 100644 index 4f15e45a..00000000 --- a/spec/if/rtems/clock/tick.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_clock_tick -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/api-table.yml b/spec/if/rtems/config/api-table.yml deleted file mode 100644 index 17997e19..00000000 --- a/spec/if/rtems/config/api-table.yml +++ /dev/null @@ -1,128 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This structure contains a summary of the Classic API configuration. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) -definition: -- default: - brief: | - This field contains the maximum number of Classic API Tasks which are - configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_tasks - variants: [] -- default: - brief: | - This field indicates if Classic API Notepads are enabled or disabled for - this application. - definition: ${/if/c/bool:/name} ${.:name} - description: null - kind: member - name: notepads_enabled - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Timers which are - configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_timers - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Semaphores which - are configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_semaphores - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Message Queues - which are configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_message_queues - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Partitions which - are configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_partitions - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Regions which are - configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_regions - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Dual Ported Memory - Areas which are configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_ports - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Rate Monotonic - Periods which are configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_periods - variants: [] -- default: - brief: | - This field contains the maximum number of Classic API Barriers which are - configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: maximum_barriers - variants: [] -- default: - brief: | - This field contains the number of Classic API Initialization - Tasks which are configured for this application. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: number_of_initialization_tasks - variants: [] -- default: - brief: | - This field contains the pointer to Classic API Initialization Tasks Table - of this application. - definition: const ${../tasks/initialization-table:/name} *${.:name} - description: null - kind: member - name: User_initialization_tasks_table - variants: [] -definition-kind: typedef-only -description: | - Use ${get-api-configuration:/name} to get the configuration table. -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_api_configuration_table -notes: null -type: interface diff --git a/spec/if/rtems/config/get-do-zero-of-workspace.yml b/spec/if/rtems/config/get-do-zero-of-workspace.yml deleted file mode 100644 index 702cffd6..00000000 --- a/spec/if/rtems/config/get-do-zero-of-workspace.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true, if the workspace is zeroed during system initialization, - otherwise returns false. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/memory/zero-before-use:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_do_zero_of_workspace -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-idle-task-stack-size.yml b/spec/if/rtems/config/get-idle-task-stack-size.yml deleted file mode 100644 index e66a850c..00000000 --- a/spec/if/rtems/config/get-idle-task-stack-size.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the configured IDLE task stack size in bytes of this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/thread/idle-stack-size:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_idle_task_stack_size -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-idle-task.yml b/spec/if/rtems/config/get-idle-task.yml deleted file mode 100644 index 2e4dcbe4..00000000 --- a/spec/if/rtems/config/get-idle-task.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the configured IDLE task entry of this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/thread/idle-body:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_idle_task -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-interrupt-stack-size.yml b/spec/if/rtems/config/get-interrupt-stack-size.yml deleted file mode 100644 index 2f3edeef..00000000 --- a/spec/if/rtems/config/get-interrupt-stack-size.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the configured interrupt stack size in bytes of this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ((${/if/c/size_t:/name}) ${/if/impl/isr/stack-size:/name}) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_interrupt_stack_size -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-barriers.yml b/spec/if/rtems/config/get-maximum-barriers.yml deleted file mode 100644 index da6d63a4..00000000 --- a/spec/if/rtems/config/get-maximum-barriers.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Barriers which are configured for - this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_barriers -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-extensions.yml b/spec/if/rtems/config/get-maximum-extensions.yml deleted file mode 100644 index 91819658..00000000 --- a/spec/if/rtems/config/get-maximum-extensions.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API User Extensions which are - configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_extensions -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-message-queues.yml b/spec/if/rtems/config/get-maximum-message-queues.yml deleted file mode 100644 index 405d7446..00000000 --- a/spec/if/rtems/config/get-maximum-message-queues.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Message Queues which are configured - for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_message_queues -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-partitions.yml b/spec/if/rtems/config/get-maximum-partitions.yml deleted file mode 100644 index 19bf7be5..00000000 --- a/spec/if/rtems/config/get-maximum-partitions.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Partitions which are configured for - this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_partitions -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-periods.yml b/spec/if/rtems/config/get-maximum-periods.yml deleted file mode 100644 index 5d734297..00000000 --- a/spec/if/rtems/config/get-maximum-periods.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Rate Monotonic Periods which are - configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_periods -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-ports.yml b/spec/if/rtems/config/get-maximum-ports.yml deleted file mode 100644 index ef39110d..00000000 --- a/spec/if/rtems/config/get-maximum-ports.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Dual Ported Memory Areas which are - configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_ports -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-processors.yml b/spec/if/rtems/config/get-maximum-processors.yml deleted file mode 100644 index a3cbb095..00000000 --- a/spec/if/rtems/config/get-maximum-processors.yml +++ /dev/null @@ -1,29 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of processors which are configured for this - application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/smp/processor-configured-maximum:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_processors -notes: | - The actual number of processors available for the application will be less - than or equal to the configured maximum number of processors. - - On uniprocessor configurations this macro is a compile time constant which - evaluates to one. -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-regions.yml b/spec/if/rtems/config/get-maximum-regions.yml deleted file mode 100644 index de0f1089..00000000 --- a/spec/if/rtems/config/get-maximum-regions.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Regions which are configured for - this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_regions -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-semaphores.yml b/spec/if/rtems/config/get-maximum-semaphores.yml deleted file mode 100644 index 3212049a..00000000 --- a/spec/if/rtems/config/get-maximum-semaphores.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Semaphores which are configured for - this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_semaphores -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-tasks.yml b/spec/if/rtems/config/get-maximum-tasks.yml deleted file mode 100644 index 59ccf15a..00000000 --- a/spec/if/rtems/config/get-maximum-tasks.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Tasks which are configured for this - application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_tasks -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-maximum-timers.yml b/spec/if/rtems/config/get-maximum-timers.yml deleted file mode 100644 index 60286be6..00000000 --- a/spec/if/rtems/config/get-maximum-timers.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the maximum number of Classic API Timers which are configured for - this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uint32_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_configuration_get_maximum_timers -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-microseconds-per-tick.yml b/spec/if/rtems/config/get-microseconds-per-tick.yml deleted file mode 100644 index edbb1521..00000000 --- a/spec/if/rtems/config/get-microseconds-per-tick.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the number of microseconds per tick configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/watchdog/microseconds-per-tick:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_microseconds_per_tick -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-milliseconds-per-tick.yml b/spec/if/rtems/config/get-milliseconds-per-tick.yml deleted file mode 100644 index 40f9c942..00000000 --- a/spec/if/rtems/config/get-milliseconds-per-tick.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the number of milliseconds per tick configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: (${/if/impl/watchdog/microseconds-per-tick:/name} / 1000) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_milliseconds_per_tick -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-nanoseconds-per-tick.yml b/spec/if/rtems/config/get-nanoseconds-per-tick.yml deleted file mode 100644 index f7dd4083..00000000 --- a/spec/if/rtems/config/get-nanoseconds-per-tick.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the number of microseconds per tick configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/watchdog/nanoseconds-per-tick:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_nanoseconds_per_tick -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-number-of-initial-extensions.yml b/spec/if/rtems/config/get-number-of-initial-extensions.yml deleted file mode 100644 index bce23644..00000000 --- a/spec/if/rtems/config/get-number-of-initial-extensions.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the number of initial extensions configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ((${/if/c/uint32_t:/name}) ${/if/impl/userext/initial-count:/name}) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_number_of_initial_extensions -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-stack-allocate-hook.yml b/spec/if/rtems/config/get-stack-allocate-hook.yml deleted file mode 100644 index fc1e3468..00000000 --- a/spec/if/rtems/config/get-stack-allocate-hook.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the thread stack allocator allocate hook. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/stack/allocator-allocate:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_stack_allocate_hook -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-stack-allocate-init-hook.yml b/spec/if/rtems/config/get-stack-allocate-init-hook.yml deleted file mode 100644 index fbdb7127..00000000 --- a/spec/if/rtems/config/get-stack-allocate-init-hook.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the thread stack allocator initialization hook. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/stack/allocator-initialize:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_stack_allocate_init_hook -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-stack-allocator-avoids-work-space.yml b/spec/if/rtems/config/get-stack-allocator-avoids-work-space.yml deleted file mode 100644 index 40f0f730..00000000 --- a/spec/if/rtems/config/get-stack-allocator-avoids-work-space.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true, if the thread stack allocator avoids the workspace, otherwise - returns false. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/stack/allocator-avoids-workspace:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_stack_allocator_avoids_work_space -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-stack-free-hook.yml b/spec/if/rtems/config/get-stack-free-hook.yml deleted file mode 100644 index 38aba0d3..00000000 --- a/spec/if/rtems/config/get-stack-free-hook.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the thread stack allocator free hook. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/stack/allocator-free:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_stack_free_hook -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-stack-space-size.yml b/spec/if/rtems/config/get-stack-space-size.yml deleted file mode 100644 index f00ae0ed..00000000 --- a/spec/if/rtems/config/get-stack-space-size.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the thread stack space size in bytes of configured for this - application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/c/uintptr_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_stack_space_size -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-ticks-per-timeslice.yml b/spec/if/rtems/config/get-ticks-per-timeslice.yml deleted file mode 100644 index cdf86ccd..00000000 --- a/spec/if/rtems/config/get-ticks-per-timeslice.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the ticks per timeslice configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/watchdog/ticks-per-timeslice:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_ticks_per_timeslice -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-unified-work-area.yml b/spec/if/rtems/config/get-unified-work-area.yml deleted file mode 100644 index 03d0b007..00000000 --- a/spec/if/rtems/config/get-unified-work-area.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true, if the RTEMS Workspace and C Program Heap are unified, - otherwise returns false. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/wkspace/is-unified:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_unified_work_area -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-user-extension-table.yml b/spec/if/rtems/config/get-user-extension-table.yml deleted file mode 100644 index 92218c3e..00000000 --- a/spec/if/rtems/config/get-user-extension-table.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the pointer to the initial extensions table configured for this - application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/userext/initial-extensions:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_user_extension_table -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-user-multiprocessing-table.yml b/spec/if/rtems/config/get-user-multiprocessing-table.yml deleted file mode 100644 index 9dfb2ace..00000000 --- a/spec/if/rtems/config/get-user-multiprocessing-table.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the pointer to the MPCI configuration table configured for this - application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/c/null:/name} - variants: - - definition: ( &${/if/impl/mpci/configuration:/name} ) - enabled-by: defined(${/if/build-options/multiprocessing:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_user_multiprocessing_table -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/get-work-space-size.yml b/spec/if/rtems/config/get-work-space-size.yml deleted file mode 100644 index d0c9486c..00000000 --- a/spec/if/rtems/config/get-work-space-size.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the RTEMS Workspace size in bytes configured for this application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - (${/if/impl/wkspace/size:/name} + - (${get-stack-allocator-avoids-work-space:/name}() ? - 0 : ${get-stack-space-size:/name}())) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_configuration_get_work_space_size -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/group.yml b/spec/if/rtems/config/group.yml deleted file mode 100644 index c8370955..00000000 --- a/spec/if/rtems/config/group.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains defines and macros to create an application configuration - as well as functions to get values of the application configuration. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIConfig -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../../api -name: Application Configuration -text: | - The API shall provide an interface to the application configuration. -type: interface diff --git a/spec/if/rtems/config/has-hardware-fp.yml b/spec/if/rtems/config/has-hardware-fp.yml deleted file mode 100644 index a44f4abd..00000000 --- a/spec/if/rtems/config/has-hardware-fp.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/cpu/hardware-fp:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_HAS_HARDWARE_FP -notes: null -type: interface diff --git a/spec/if/rtems/config/header-2.yml b/spec/if/rtems/config/header-2.yml deleted file mode 100644 index 99bebfc7..00000000 --- a/spec/if/rtems/config/header-2.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file defines parts of the application configuration information - API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/config.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/config/header.yml b/spec/if/rtems/config/header.yml deleted file mode 100644 index dcaddd45..00000000 --- a/spec/if/rtems/config/header.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This header file defines parts of the application configuration information - API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- enabled-by: RTEMS_MULTIPROCESSING - role: interface-include - uid: /if/impl/mpci/header -- enabled-by: RTEMS_MULTIPROCESSING - role: interface-include - uid: /if/rtems/types/header -- enabled-by: true - role: interface-include - uid: header-2 -- role: interface-placement - uid: /if/domains/api -path: rtems/config.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/config/resource-is-unlimited.yml b/spec/if/rtems/config/resource-is-unlimited.yml deleted file mode 100644 index f4f75047..00000000 --- a/spec/if/rtems/config/resource-is-unlimited.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true, if the resource is unlimited, otherwise returns false. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/object/is-unlimited:/name}(${.:/params[0]/name}) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_resource_is_unlimited -notes: null -params: -- description: is the resource number. - dir: null - name: _resource -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/resource-maximum-per-allocation.yml b/spec/if/rtems/config/resource-maximum-per-allocation.yml deleted file mode 100644 index 58f538cf..00000000 --- a/spec/if/rtems/config/resource-maximum-per-allocation.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the resource maximum number per allocation. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/object/maximum-per-allocation:/name}(${.:/params[0]/name}) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_resource_maximum_per_allocation -notes: null -params: -- description: is the resource number. - dir: null - name: _resource -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/config/stack-allocate-hook.yml b/spec/if/rtems/config/stack-allocate-hook.yml deleted file mode 100644 index 1219d067..00000000 --- a/spec/if/rtems/config/stack-allocate-hook.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The thread stack allocator allocate handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/stack/allocator-allocate-type:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_stack_allocate_hook -notes: null -type: interface diff --git a/spec/if/rtems/config/stack-allocate-init-hook.yml b/spec/if/rtems/config/stack-allocate-init-hook.yml deleted file mode 100644 index 55d23905..00000000 --- a/spec/if/rtems/config/stack-allocate-init-hook.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The thread stack allocator initialization handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/stack/allocator-initialize-type:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_stack_allocate_init_hook -notes: null -type: interface diff --git a/spec/if/rtems/config/stack-free-hook.yml b/spec/if/rtems/config/stack-free-hook.yml deleted file mode 100644 index 7486ac04..00000000 --- a/spec/if/rtems/config/stack-free-hook.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The thread stack allocator free handler. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/stack/allocator-free-type:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_stack_free_hook -notes: null -type: interface diff --git a/spec/if/rtems/config/unlimited-objects.yml b/spec/if/rtems/config/unlimited-objects.yml deleted file mode 100644 index f0f588f6..00000000 --- a/spec/if/rtems/config/unlimited-objects.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This flag is used in resource numbers to indicate an unlimited resource. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/object/unlimited-objects:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_UNLIMITED_OBJECTS -notes: null -type: interface diff --git a/spec/if/rtems/dpmem/create.yml b/spec/if/rtems/dpmem/create.yml deleted file mode 100644 index 4a686736..00000000 --- a/spec/if/rtems/dpmem/create.yml +++ /dev/null @@ -1,46 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - void *${.:/params[2]/name} - - ${/if/c/uint32_t:/name} ${.:/params[3]/name} - - ${../types/id:/name} *${.:/params[4]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_port_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: internal_start -- description: '%' - dir: null - name: external_start -- description: '%' - dir: null - name: length -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/dpmem/delete.yml b/spec/if/rtems/dpmem/delete.yml deleted file mode 100644 index 6b5f31ce..00000000 --- a/spec/if/rtems/dpmem/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_port_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/dpmem/external-to-internal.yml b/spec/if/rtems/dpmem/external-to-internal.yml deleted file mode 100644 index 54012d05..00000000 --- a/spec/if/rtems/dpmem/external-to-internal.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - void **${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_port_external_to_internal -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: external -- description: '%' - dir: null - name: internal -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/dpmem/group.yml b/spec/if/rtems/dpmem/group.yml deleted file mode 100644 index c07fde9f..00000000 --- a/spec/if/rtems/dpmem/group.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Dual-Ported Memory Manager provides a mechanism for converting addresses - between internal and external representations for multiple dual-ported memory - areas (DPMA). -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicDPMem -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Dual-Ported Memory Manager -text: | - The Classic API shall provide an interface to the Dual-Ported Memory Manager. -type: interface diff --git a/spec/if/rtems/dpmem/header.yml b/spec/if/rtems/dpmem/header.yml deleted file mode 100644 index 5aa6b51a..00000000 --- a/spec/if/rtems/dpmem/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Dual-Ported Memory Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/dpmem.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/dpmem/ident.yml b/spec/if/rtems/dpmem/ident.yml deleted file mode 100644 index 5d609e02..00000000 --- a/spec/if/rtems/dpmem/ident.yml +++ /dev/null @@ -1,59 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a port object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the port identifier associated with the port name - specified in ``${.:/params[0]/name}``. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_port_ident -notes: | - If the port name is not unique, then the port identifier will match the first - port with that name in the search order. However, this port identifier is - not guaranteed to correspond to the desired port. The port identifier is - used with other dual-ported memory related directives to access the port. - - The objects are searched from lowest to the highest index. Only the local - node is searched. -params: -- description: is the object name to look up. - dir: null - name: name -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the local node. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/dpmem/internal-to-external.yml b/spec/if/rtems/dpmem/internal-to-external.yml deleted file mode 100644 index 5cb7531b..00000000 --- a/spec/if/rtems/dpmem/internal-to-external.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - void **${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_port_internal_to_external -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: internal -- description: '%' - dir: null - name: external -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/event/group.yml b/spec/if/rtems/event/group.yml deleted file mode 100644 index 05bc560c..00000000 --- a/spec/if/rtems/event/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Event Manager provides a high performance method of inter-task - communication and synchronization. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicEvent -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Event Manager -text: | - The Classic API shall provide an interface to the Event Manager. -type: interface diff --git a/spec/if/rtems/event/header.yml b/spec/if/rtems/event/header.yml deleted file mode 100644 index eff99c1d..00000000 --- a/spec/if/rtems/event/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Event Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/event.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/event/receive.yml b/spec/if/rtems/event/receive.yml deleted file mode 100644 index ce1f7f98..00000000 --- a/spec/if/rtems/event/receive.yml +++ /dev/null @@ -1,122 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Receives or gets an event set. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${set:/name} ${.:/params[0]/name} - - ${../options/option:/name} ${.:/params[1]/name} - - ${../types/interval:/name} ${.:/params[2]/name} - - ${set:/name} *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive can be used to - - * get the pending events of the calling task, or - - * receive events. - - To *get the pending events* use the constant ${pending-events:/name} for the - ``${.:/params[0]/name}`` parameter. The pending events are returned to the - calling task but the event set of the task is left unaltered. The - ``${.:/params[1]/name}`` and ``${.:params[2]/name}`` parameters are ignored - in this case. The directive returns immediately and does not block. - - To *receive events* you have to define an input event condition and some - options. The option set specified in ``${.:/params[1]/name}`` defines - - * if the task will wait or poll for the events, and - - * if the task wants to receive all or any of the input events. - - The option set is built through a *bitwise or* of the option constants - described below. - - The task can *wait* or *poll* for the events. - - * Waiting for events is the default and can be emphasized through the use of - the ${../options/wait:/name} option. The ``${.:/params[2]/name}`` - parameter defines how long the task is willing to wait. Use - ${../types/no-timeout:/name} to wait potentially forever, otherwise set a - timeout interval in clock ticks. - - * Not waiting for events (polling) is selected by the - ${../options/no-wait:/name} option. If this option is defined, then the - ``${.:/params[2]/name}`` parameter is ignored. - - The task can receive *all* or *any* of the input events specified in - ``${.:/params[0]/name}``. - - * Receiving all input events is the default and can be emphasized through the use - of the ${../options/event-all:/name} option. - - * Receiving any of the input events is selected by the - ${../options/event-any:/name} option. - - To receive all events use the constant ${all-events:/name} for the - ``${.:/params[0]/name}`` parameter. This constant is identical to - ${event-0:/name} | ... | ${event-31:/name} and should not be confused with - the option ${../options/event-all:/name}. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_event_receive -notes: | - This directive shall be called by a task. Calling this directive from - interrupt context is undefined behaviour. - - This directive only affects the events specified in ``${.:/params[0]/name}``. - Any pending events that do not correspond to any of the events specified in - ``${.:/params[0]/name}`` will be left pending. - - A task can *receive all of the pending events* by calling the directive with - a value of ${all-events:/name} for the ``${.:/params[0]/name}`` parameter and - ${../options/no-wait:/name} | ${../options/event-any:/name} for the - ``${.:/params[1]/name}`` parameter. The pending events are returned to the - calling task and the event set of the task is cleared. If no events are - pending then the ${../status/unsatisfied:/name} status code will be returned. -params: -- description: | - is the event set of interest. Use ${pending-events:/name} to get the - pending events. - dir: null - name: event_in -- description: is the option set. - dir: null - name: option_set -- description: | - is the timeout in clock ticks if the ${../options/wait:/name} option was - set. Use ${../types/no-timeout:/name} to wait potentially forever. - dir: null - name: ticks -- description: | - is the pointer to an event set. The received or pending events are stored - in the referenced event set if the operation was successful. - dir: null - name: event_out -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ``${.:/params[3]/name}`` parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The events of interest were not immediately available. - value: ${../status/unsatisfied:/name} - - description: | - The events of interest were not available within the specified timeout - interval. - value: ${../status/timeout:/name} -type: interface diff --git a/spec/if/rtems/event/send.yml b/spec/if/rtems/event/send.yml deleted file mode 100644 index 679a7719..00000000 --- a/spec/if/rtems/event/send.yml +++ /dev/null @@ -1,74 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Sends an event set to a task. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${set:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive sends an event set, ``${.:/params[1]/name}``, to the task - specified by ``${.:/params[0]/name}``. Based upon the state of the target - task, one of the following situations applies: - - * The target task is blocked waiting for events, then - - * if the waiting task's input event condition is satisfied, then the task - is made ready for execution, or - - * otherwise, the event set is posted but left pending and the task remains - blocked. - - * The target task is not waiting for events, then the event set is posted and - left pending. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_event_send -notes: | - Events can be sent by tasks or an ${/glossary/isr:/term}. - - Specifying ${../tasks/self-define:/name} for ``${.:/params[0]/name}`` results - in the event set being sent to the calling task. - - The event set to send shall be built by a *bitwise or* of the desired events. - The set of valid events is ${event-0:/name} through ${event-31:/name}. If an - event is not explicitly specified in the set, then it is not present. - - Identical events sent to a task are not queued. In other words, the second, - and subsequent, posting of an event to a task before it can perform an - ${receive:/name} has no effect. - - The calling task will be preempted if it has preemption enabled and a higher - priority task is unblocked as the result of this directive. - - Sending an event set to a global task which does not reside on the local node - will generate a request telling the remote node to send the event set to the - appropriate task. -params: -- description: is the identifier of the target task to receive the event set. - dir: null - name: id -- description: is the event set to send. - dir: null - name: event_in -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - There was no task with the specified identifier. - value: ${../status/invalid-id:/name} -type: interface diff --git a/spec/if/rtems/event/set.yml b/spec/if/rtems/event/set.yml deleted file mode 100644 index c5324b5e..00000000 --- a/spec/if/rtems/event/set.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This integer type can hold an event set of up to 32 events represented as a - bit field. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_event_set -notes: null -type: interface diff --git a/spec/if/rtems/event/system-receive.yml b/spec/if/rtems/event/system-receive.yml deleted file mode 100644 index f03a5d07..00000000 --- a/spec/if/rtems/event/system-receive.yml +++ /dev/null @@ -1,49 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Receives or gets a system event set. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${set:/name} ${.:/params[0]/name} - - ${../options/option:/name} ${.:/params[1]/name} - - ${../types/interval:/name} ${.:/params[2]/name} - - ${set:/name} *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive performs the same actions as the ${receive:/name} directive - except that it operates with a different set of events for each task. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -name: rtems_event_system_receive -notes: null -params: -- description: | - is the event set of interest. Use ${pending-events:/name} to get the - pending events. - dir: null - name: event_in -- description: is the option set. - dir: null - name: option_set -- description: | - is the timeout in clock ticks if the ${../options/wait:/name} option was - set. Use ${../types/no-timeout:/name} to wait potentially forever. - dir: null - name: ticks -- description: | - is the pointer to an event set. The received or pending events are stored - in the referenced event set if the operation was successful. - dir: null - name: event_out -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/event/system-send.yml b/spec/if/rtems/event/system-send.yml deleted file mode 100644 index 11b93b35..00000000 --- a/spec/if/rtems/event/system-send.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Sends a system event set to a task. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${set:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -name: rtems_event_system_send -notes: null -params: -- description: is the identifier of the target task to receive the event set. - dir: null - name: id -- description: is the event set to send. - dir: null - name: event_in -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/event/transient-clear.yml b/spec/if/rtems/event/transient-clear.yml deleted file mode 100644 index 363b5a2f..00000000 --- a/spec/if/rtems/event/transient-clear.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Clears the transient event. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: | - ${set:/name} event_out; - - (void) ${system-receive:/name}( - ${system-transient:/name}, - ${../options/event-all:/name} | ${../options/no-wait:/name}, - 0, - &event_out - ); - params: [] - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -name: rtems_event_transient_clear -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/event/transient-receive.yml b/spec/if/rtems/event/transient-receive.yml deleted file mode 100644 index 5de7617e..00000000 --- a/spec/if/rtems/event/transient-receive.yml +++ /dev/null @@ -1,40 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Receives the transient event. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: | - ${set:/name} event_out; - - return ${system-receive:/name}( - ${system-transient:/name}, - ${../options/event-all:/name} | ${.:/params[0]/name}, - ${.:/params[1]/name}, - &event_out - ); - params: - - ${../options/option:/name} ${.:/params[0]/name} - - ${../types/interval:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -name: rtems_event_transient_receive -notes: null -params: -- description: is the option set. - dir: null - name: option_set -- description: is the optional timeout in clock ticks. - dir: null - name: ticks -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/event/transient-send.yml b/spec/if/rtems/event/transient-send.yml deleted file mode 100644 index 38f6e254..00000000 --- a/spec/if/rtems/event/transient-send.yml +++ /dev/null @@ -1,29 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Sends the transient event to the specified task. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: | - return ${system-send:/name}( ${.:/params[0]/name}, ${system-transient:/name} ); - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -name: rtems_event_transient_send -notes: null -params: -- description: is the identifier of the task to receive the transient event. - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/fatal/error-occurred.yml b/spec/if/rtems/fatal/error-occurred.yml deleted file mode 100644 index cffb6dc2..00000000 --- a/spec/if/rtems/fatal/error-occurred.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/uint32_t:/name} ${.:/params[0]/name} - return: ${../basedefs/no-return:/name} void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_fatal_error_occurred -notes: null -params: -- description: '%' - dir: null - name: the_error -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/fatal/exception-frame-print.yml b/spec/if/rtems/fatal/exception-frame-print.yml deleted file mode 100644 index 908513bd..00000000 --- a/spec/if/rtems/fatal/exception-frame-print.yml +++ /dev/null @@ -1,31 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: | - ${/if/impl/cpu/exception-frame-print:/name}( ${.:/params[0]/name} ); - params: - - const ${exception-frame:/name} *${.:/params[0]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_exception_frame_print -notes: null -params: -- description: '%' - dir: null - name: frame -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/fatal/exception-frame.yml b/spec/if/rtems/fatal/exception-frame.yml deleted file mode 100644 index 05be037d..00000000 --- a/spec/if/rtems/fatal/exception-frame.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/cpu/exception-frame:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_exception_frame -notes: null -type: interface diff --git a/spec/if/rtems/fatal/fatal.yml b/spec/if/rtems/fatal/fatal.yml deleted file mode 100644 index 72ccaeb7..00000000 --- a/spec/if/rtems/fatal/fatal.yml +++ /dev/null @@ -1,35 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: | - ${/if/impl/interr/terminate:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ); - params: - - ${../userext/fatal-source:/name} ${.:/params[0]/name} - - ${../userext/fatal-code:/name} ${.:/params[1]/name} - return: ${../basedefs/no-return:/name} void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_fatal -notes: null -params: -- description: '%' - dir: null - name: fatal_source -- description: '%' - dir: null - name: error_code -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/fatal/group.yml b/spec/if/rtems/fatal/group.yml deleted file mode 100644 index 5d7ad404..00000000 --- a/spec/if/rtems/fatal/group.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Fatal Error Manager processes all fatal or irrecoverable errors and other - sources of system termination (for example after ``exit()``). Fatal errors - are identified by the fatal source and error code pair. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicFatal -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Fatal Error Manager -text: | - The Classic API shall provide an interface to the Fatal Error Manager. -type: interface diff --git a/spec/if/rtems/fatal/header.yml b/spec/if/rtems/fatal/header.yml deleted file mode 100644 index 6fbe3be5..00000000 --- a/spec/if/rtems/fatal/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Fatal Error Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/fatal.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/fatal/internal-error-text.yml b/spec/if/rtems/fatal/internal-error-text.yml deleted file mode 100644 index 51a27e9b..00000000 --- a/spec/if/rtems/fatal/internal-error-text.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../userext/fatal-code:/name} ${.:/params[0]/name} - return: const char * - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_internal_error_text -notes: null -params: -- description: '%' - dir: null - name: error -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/fatal/panic.yml b/spec/if/rtems/fatal/panic.yml deleted file mode 100644 index 2a119147..00000000 --- a/spec/if/rtems/fatal/panic.yml +++ /dev/null @@ -1,35 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const char *${.:/params[0]/name} - - '...' - return: | - ${../basedefs/no-return:/name} ${../basedefs/printflike:/name}( 1, 2 ) void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_panic -notes: null -params: -- description: '%' - dir: null - name: fmt -- description: '%' - dir: null - name: '...' -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/fatal/source-text.yml b/spec/if/rtems/fatal/source-text.yml deleted file mode 100644 index 1d52f85f..00000000 --- a/spec/if/rtems/fatal/source-text.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../userext/fatal-source:/name} ${.:/params[0]/name} - return: const char * - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_fatal_source_text -notes: null -params: -- description: '%' - dir: null - name: source -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/group.yml b/spec/if/rtems/group.yml deleted file mode 100644 index 332eb866..00000000 --- a/spec/if/rtems/group.yml +++ /dev/null @@ -1,18 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains the Classic API groups. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassic -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../api -name: Classic -text: | - The API shall contain the Classic API. -type: interface diff --git a/spec/if/rtems/header.yml b/spec/if/rtems/header.yml deleted file mode 100644 index 2ce3fbd9..00000000 --- a/spec/if/rtems/header.yml +++ /dev/null @@ -1,87 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Classic API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -- enabled-by: [] - role: interface-include - uid: /if/rtems/barrier/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/cache/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/clock/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/config/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/dpmem/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/event/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/fatal/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/init/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/intr/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/io/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/message/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/object/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/options/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/part/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/ratemon/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/region/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/sem/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/signal/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/status/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/support/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/tasks/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/timer/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/types/header -- enabled-by: [] - role: interface-include - uid: /if/rtems/userext/header -- enabled-by: RTEMS_MULTIPROCESSING - role: interface-include - uid: /if/rtems/mp/header -path: rtems.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/init/group.yml b/spec/if/rtems/init/group.yml deleted file mode 100644 index 01abba33..00000000 --- a/spec/if/rtems/init/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains directives to initialize and shutdown the RTEMS - executive. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicInit -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Initialization and Shutdown -text: | - The Classic API shall provide an interface to the Initialization and Shutdown - Manager. -type: interface diff --git a/spec/if/rtems/init/header.yml b/spec/if/rtems/init/header.yml deleted file mode 100644 index b2228785..00000000 --- a/spec/if/rtems/init/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Initialization Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/init.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/init/initialize-executive.yml b/spec/if/rtems/init/initialize-executive.yml deleted file mode 100644 index d8a7bcf9..00000000 --- a/spec/if/rtems/init/initialize-executive.yml +++ /dev/null @@ -1,32 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Initializes the system and starts multitasking. -copyrights: -- Copyright (C) 2015, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: [] - return: ${/if/rtems/basedefs/no-return:/name} void - variants: [] -description: | - Iterates through the system initialization linker set and invokes the - registered handlers. The final step is to start multitasking. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_initialize_executive -notes: | - This directive should be called by boot_card() only. - - This directive does not return to the caller. Errors in the initialization - sequence are usually fatal and lead to a system termination. -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/init/shutdown-executive.yml b/spec/if/rtems/init/shutdown-executive.yml deleted file mode 100644 index 517b0cdc..00000000 --- a/spec/if/rtems/init/shutdown-executive.yml +++ /dev/null @@ -1,35 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Shuts down the RTEMS environment. -copyrights: -- Copyright (C) 2015, 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/uint32_t:/name} ${.:/params[0]/name} - return: ${/if/rtems/basedefs/no-return:/name} void - variants: [] -description: | - The invocation of this directive results in the RTEMS environment being - shutdown and multitasking halted. The system is terminated with a fatal - source of RTEMS_FATAL_SOURCE_EXIT and the specified result code. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_shutdown_executive -notes: | - This directive does not return to the caller. -params: -- description: is the result code. - dir: null - name: result -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/catch.yml b/spec/if/rtems/intr/catch.yml deleted file mode 100644 index 9239340f..00000000 --- a/spec/if/rtems/intr/catch.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${isr-entry:/name} ${.:/params[0]/name} - - ${vector-number:/name} ${.:/params[1]/name} - - ${isr-entry:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_catch -notes: null -params: -- description: '%' - dir: null - name: new_isr_handler -- description: '%' - dir: null - name: vector -- description: '%' - dir: null - name: old_isr_handler -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/disable.yml b/spec/if/rtems/intr/disable.yml deleted file mode 100644 index 9f55ab92..00000000 --- a/spec/if/rtems/intr/disable.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/local-disable:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: - not: RTEMS_SMP -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_disable -notes: null -params: -- description: '%' - dir: null - name: _isr_cookie -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/enable.yml b/spec/if/rtems/intr/enable.yml deleted file mode 100644 index 1ef3dc70..00000000 --- a/spec/if/rtems/intr/enable.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/local-enable:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: - not: RTEMS_SMP -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_enable -notes: null -params: -- description: '%' - dir: null - name: _isr_cookie -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/flash.yml b/spec/if/rtems/intr/flash.yml deleted file mode 100644 index d1184595..00000000 --- a/spec/if/rtems/intr/flash.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/local-flash:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: - not: RTEMS_SMP -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_flash -notes: null -params: -- description: '%' - dir: null - name: _isr_cookie -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/group.yml b/spec/if/rtems/intr/group.yml deleted file mode 100644 index 9208d41e..00000000 --- a/spec/if/rtems/intr/group.yml +++ /dev/null @@ -1,24 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Any real-time executive must provide a mechanism for quick response to - externally generated interrupts to satisfy the critical time constraints of - the application. The Interrupt Manager provides this mechanism for RTEMS. - This manager permits quick interrupt response times by providing the critical - ability to alter task execution which allows a task to be preempted upon exit - from an ISR. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicIntr -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Interrupt Manager -text: | - The Classic API shall provide an interface to the Interrupt Manager. -type: interface diff --git a/spec/if/rtems/intr/header.yml b/spec/if/rtems/intr/header.yml deleted file mode 100644 index 1a3e0755..00000000 --- a/spec/if/rtems/intr/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Interrupt Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/intr.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/intr/is-in-progress.yml b/spec/if/rtems/intr/is-in-progress.yml deleted file mode 100644 index a9f69646..00000000 --- a/spec/if/rtems/intr/is-in-progress.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/is-in-progress:/name}() - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_is_in_progress -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/isr-entry.yml b/spec/if/rtems/intr/isr-entry.yml deleted file mode 100644 index 6e2f6892..00000000 --- a/spec/if/rtems/intr/isr-entry.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Interrupt service routines installed by ${catch:/name} shall have this - function pointer type. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: void ( *${.:/name} )( void * ) - variants: - - definition: ${/if/impl/isr/handler-entry:/name} ${.:/name} - enabled-by: ${/if/impl/cpu/simple-vectored-interrupts:/name} == ${../basedefs/true:/name} -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_isr_entry -notes: null -type: interface diff --git a/spec/if/rtems/intr/isr.yml b/spec/if/rtems/intr/isr.yml deleted file mode 100644 index 908e5f6a..00000000 --- a/spec/if/rtems/intr/isr.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/handler:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_isr -notes: null -type: interface diff --git a/spec/if/rtems/intr/level.yml b/spec/if/rtems/intr/level.yml deleted file mode 100644 index 9d2b2584..00000000 --- a/spec/if/rtems/intr/level.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/level:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_level -notes: null -type: interface diff --git a/spec/if/rtems/intr/local-disable.yml b/spec/if/rtems/intr/local-disable.yml deleted file mode 100644 index b332f8de..00000000 --- a/spec/if/rtems/intr/local-disable.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/local-disable:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_local_disable -notes: null -params: -- description: '%' - dir: null - name: _isr_cookie -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/local-enable.yml b/spec/if/rtems/intr/local-enable.yml deleted file mode 100644 index 0a6ba18e..00000000 --- a/spec/if/rtems/intr/local-enable.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/local-enable:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_local_enable -notes: null -params: -- description: '%' - dir: null - name: _isr_cookie -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-acquire-isr.yml b/spec/if/rtems/intr/lock-acquire-isr.yml deleted file mode 100644 index 0f9e7fcd..00000000 --- a/spec/if/rtems/intr/lock-acquire-isr.yml +++ /dev/null @@ -1,35 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: do { (void) ${.:/params[1]/name}; } while ( 0 ) - variants: - - definition: | - ${/if/impl/smp/lock-acquire:/name}( - &( ${.:/params[0]/name} )->Lock, - &( ${.:/params[1]/name} )->Lock_context - ) - enabled-by: defined(${/if/build-options/smp:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_acquire_isr -notes: null -params: -- description: '%' - dir: null - name: _lock -- description: '%' - dir: null - name: _lock_context -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-acquire.yml b/spec/if/rtems/intr/lock-acquire.yml deleted file mode 100644 index 89607089..00000000 --- a/spec/if/rtems/intr/lock-acquire.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/isr/lock-isr-disable-acquire:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_acquire -notes: null -params: -- description: '%' - dir: null - name: _lock -- description: '%' - dir: null - name: _lock_context -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-context.yml b/spec/if/rtems/intr/lock-context.yml deleted file mode 100644 index 26406a5f..00000000 --- a/spec/if/rtems/intr/lock-context.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/lock-context:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_context -notes: null -type: interface diff --git a/spec/if/rtems/intr/lock-declare.yml b/spec/if/rtems/intr/lock-declare.yml deleted file mode 100644 index 198eae83..00000000 --- a/spec/if/rtems/intr/lock-declare.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/isr/lock-declare:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_INTERRUPT_LOCK_DECLARE -notes: null -params: -- description: '%' - dir: null - name: _qualifier -- description: '%' - dir: null - name: _designator -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-define.yml b/spec/if/rtems/intr/lock-define.yml deleted file mode 100644 index afbc484a..00000000 --- a/spec/if/rtems/intr/lock-define.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/isr/lock-define:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_INTERRUPT_LOCK_DEFINE -notes: null -params: -- description: '%' - dir: null - name: _qualifier -- description: '%' - dir: null - name: _designator -- description: '%' - dir: null - name: _name -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-destroy.yml b/spec/if/rtems/intr/lock-destroy.yml deleted file mode 100644 index ff9194ed..00000000 --- a/spec/if/rtems/intr/lock-destroy.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/lock-destroy:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_destroy -notes: null -params: -- description: '%' - dir: null - name: _lock -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-initialize.yml b/spec/if/rtems/intr/lock-initialize.yml deleted file mode 100644 index 10ea16d3..00000000 --- a/spec/if/rtems/intr/lock-initialize.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/isr/lock-initialize:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_initialize -notes: null -params: -- description: '%' - dir: null - name: _lock -- description: '%' - dir: null - name: _name -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-initializer.yml b/spec/if/rtems/intr/lock-initializer.yml deleted file mode 100644 index 9d1a12ec..00000000 --- a/spec/if/rtems/intr/lock-initializer.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/lock-initializer:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_INTERRUPT_LOCK_INITIALIZER -notes: null -params: -- description: '%' - dir: null - name: _name -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-isr-disable.yml b/spec/if/rtems/intr/lock-isr-disable.yml deleted file mode 100644 index 36f2b266..00000000 --- a/spec/if/rtems/intr/lock-isr-disable.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/lock-isr-disable:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_interrupt_disable -notes: null -params: -- description: '%' - dir: null - name: _lock_context -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-member.yml b/spec/if/rtems/intr/lock-member.yml deleted file mode 100644 index 7a73c5e9..00000000 --- a/spec/if/rtems/intr/lock-member.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/lock-member:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_INTERRUPT_LOCK_MEMBER -notes: null -params: -- description: '%' - dir: null - name: _designator -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-reference.yml b/spec/if/rtems/intr/lock-reference.yml deleted file mode 100644 index 5e1f6b96..00000000 --- a/spec/if/rtems/intr/lock-reference.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/isr/lock-reference:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_INTERRUPT_LOCK_REFERENCE -notes: null -params: -- description: '%' - dir: null - name: _designator -- description: '%' - dir: null - name: _target -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-release-isr.yml b/spec/if/rtems/intr/lock-release-isr.yml deleted file mode 100644 index e3f377cd..00000000 --- a/spec/if/rtems/intr/lock-release-isr.yml +++ /dev/null @@ -1,35 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: do { (void) ${.:/params[1]/name}; } while ( 0 ) - variants: - - definition: | - ${/if/impl/smp/lock-release:/name}( - &( ${.:/params[0]/name} )->Lock, - &( ${.:/params[1]/name} )->Lock_context - ) - enabled-by: defined(${/if/build-options/smp:/name}) -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_release_isr -notes: null -params: -- description: '%' - dir: null - name: _lock -- description: '%' - dir: null - name: _lock_context -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock-release.yml b/spec/if/rtems/intr/lock-release.yml deleted file mode 100644 index 973095e6..00000000 --- a/spec/if/rtems/intr/lock-release.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/isr/lock-release-isr-enable:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock_release -notes: null -params: -- description: '%' - dir: null - name: _lock -- description: '%' - dir: null - name: _lock_context -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/intr/lock.yml b/spec/if/rtems/intr/lock.yml deleted file mode 100644 index b687a866..00000000 --- a/spec/if/rtems/intr/lock.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/lock-control:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_lock -notes: null -type: interface diff --git a/spec/if/rtems/intr/vector-number.yml b/spec/if/rtems/intr/vector-number.yml deleted file mode 100644 index 40117140..00000000 --- a/spec/if/rtems/intr/vector-number.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/isr/vector-number:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_vector_number -notes: null -type: interface diff --git a/spec/if/rtems/io/close.yml b/spec/if/rtems/io/close.yml deleted file mode 100644 index b290f48d..00000000 --- a/spec/if/rtems/io/close.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - ${device-minor-number:/name} ${.:/params[1]/name} - - void *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_close -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/control.yml b/spec/if/rtems/io/control.yml deleted file mode 100644 index ee9c30ff..00000000 --- a/spec/if/rtems/io/control.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - ${device-minor-number:/name} ${.:/params[1]/name} - - void *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_control -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/device-driver.yml b/spec/if/rtems/io/device-driver.yml deleted file mode 100644 index 474ca4df..00000000 --- a/spec/if/rtems/io/device-driver.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${../status/code:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_device_driver -notes: null -type: interface diff --git a/spec/if/rtems/io/device-major-number.yml b/spec/if/rtems/io/device-major-number.yml deleted file mode 100644 index a967aae0..00000000 --- a/spec/if/rtems/io/device-major-number.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_device_major_number -notes: null -type: interface diff --git a/spec/if/rtems/io/device-minor-number.yml b/spec/if/rtems/io/device-minor-number.yml deleted file mode 100644 index 0a7e0648..00000000 --- a/spec/if/rtems/io/device-minor-number.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_device_minor_number -notes: null -type: interface diff --git a/spec/if/rtems/io/driver-error.yml b/spec/if/rtems/io/driver-error.yml deleted file mode 100644 index 8d1cbe1d..00000000 --- a/spec/if/rtems/io/driver-error.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - ${device-minor-number:/name} ${.:/params[1]/name} - - void *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_driver_io_error -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -- description: '%' - dir: null - name: arg -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/group.yml b/spec/if/rtems/io/group.yml deleted file mode 100644 index 74a4cf5a..00000000 --- a/spec/if/rtems/io/group.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Input/Output Interface Manager provides a well-defined mechanism for - accessing device drivers and a structured methodology for organizing device - drivers. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicIO -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Input/Output Interface Manager -text: | - The Classic API shall provide an interface to the Input/Output Interface Manager. -type: interface diff --git a/spec/if/rtems/io/header.yml b/spec/if/rtems/io/header.yml deleted file mode 100644 index c8175914..00000000 --- a/spec/if/rtems/io/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the IO Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/io.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/io/initialize.yml b/spec/if/rtems/io/initialize.yml deleted file mode 100644 index 34aee21f..00000000 --- a/spec/if/rtems/io/initialize.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - ${device-minor-number:/name} ${.:/params[1]/name} - - void *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_initialize -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/open.yml b/spec/if/rtems/io/open.yml deleted file mode 100644 index 57e7c595..00000000 --- a/spec/if/rtems/io/open.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - ${device-minor-number:/name} ${.:/params[1]/name} - - void *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_open -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/read.yml b/spec/if/rtems/io/read.yml deleted file mode 100644 index 227f1750..00000000 --- a/spec/if/rtems/io/read.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - ${device-minor-number:/name} ${.:/params[1]/name} - - void *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_read -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/register-driver.yml b/spec/if/rtems/io/register-driver.yml deleted file mode 100644 index e5f92173..00000000 --- a/spec/if/rtems/io/register-driver.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - const rtems_driver_address_table *${.:/params[1]/name} - - ${device-major-number:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_register_driver -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: driver_table -- description: '%' - dir: null - name: registered_major -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/register-name.yml b/spec/if/rtems/io/register-name.yml deleted file mode 100644 index 8f707964..00000000 --- a/spec/if/rtems/io/register-name.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const char *${.:/params[0]/name} - - ${device-major-number:/name} ${.:/params[1]/name} - - ${device-minor-number:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_register_name -notes: null -params: -- description: '%' - dir: null - name: device_name -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/unregister-driver.yml b/spec/if/rtems/io/unregister-driver.yml deleted file mode 100644 index 831cb767..00000000 --- a/spec/if/rtems/io/unregister-driver.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_unregister_driver -notes: null -params: -- description: '%' - dir: null - name: major -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/io/write.yml b/spec/if/rtems/io/write.yml deleted file mode 100644 index 31e2a6ce..00000000 --- a/spec/if/rtems/io/write.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${device-major-number:/name} ${.:/params[0]/name} - - ${device-minor-number:/name} ${.:/params[1]/name} - - void *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_io_write -notes: null -params: -- description: '%' - dir: null - name: major -- description: '%' - dir: null - name: minor -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/broadcast.yml b/spec/if/rtems/message/broadcast.yml deleted file mode 100644 index e62a4bee..00000000 --- a/spec/if/rtems/message/broadcast.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - const void *${.:/params[1]/name} - - ${/if/c/size_t:/name} ${.:/params[2]/name} - - ${/if/c/uint32_t:/name} *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_broadcast -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: buffer -- description: '%' - dir: null - name: size -- description: '%' - dir: null - name: count -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/create.yml b/spec/if/rtems/message/create.yml deleted file mode 100644 index 345af9fe..00000000 --- a/spec/if/rtems/message/create.yml +++ /dev/null @@ -1,46 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - - ${/if/c/size_t:/name} ${.:/params[2]/name} - - ${../attr/attribute:/name} ${.:/params[3]/name} - - ${../types/id:/name} *${.:/params[4]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: count -- description: '%' - dir: null - name: max_message_size -- description: '%' - dir: null - name: attribute_set -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/delete.yml b/spec/if/rtems/message/delete.yml deleted file mode 100644 index acf90742..00000000 --- a/spec/if/rtems/message/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/flush.yml b/spec/if/rtems/message/flush.yml deleted file mode 100644 index fe130b24..00000000 --- a/spec/if/rtems/message/flush.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_flush -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: count -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/get-number-pending.yml b/spec/if/rtems/message/get-number-pending.yml deleted file mode 100644 index 964ecc4b..00000000 --- a/spec/if/rtems/message/get-number-pending.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_get_number_pending -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: count -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/group.yml b/spec/if/rtems/message/group.yml deleted file mode 100644 index 579b70a2..00000000 --- a/spec/if/rtems/message/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Message Manager provides communication and synchronization capabilities - using RTEMS message queues. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicMessage -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Message Manager -text: | - The Classic API shall provide an interface to the Message Manager. -type: interface diff --git a/spec/if/rtems/message/header.yml b/spec/if/rtems/message/header.yml deleted file mode 100644 index 2dba7f70..00000000 --- a/spec/if/rtems/message/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Message Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/message.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/message/ident.yml b/spec/if/rtems/message/ident.yml deleted file mode 100644 index 58717c89..00000000 --- a/spec/if/rtems/message/ident.yml +++ /dev/null @@ -1,86 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a message queue object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - - ${../types/id:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the message queue identifier associated with the - message queue name specified in ``${.:/params[0]/name}``. - - The node to search is specified in ``${.:/params[1]/name}``. It shall be - - * a valid node number, - - * the constant ${../object/search-all-nodes:/name} to search in all nodes, - - * the constant ${../object/search-local-node:/name} to search in the local - node only, or - - * the constant ${../object/search-other-nodes:/name} to search in all nodes - except the local node. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_ident -notes: | - If the message queue name is not unique, then the message queue identifier - will match the first message queue with that name in the search order. - However, this message queue identifier is not guaranteed to correspond to the - desired message queue. The message queue identifier is used with other - message related directives to access the message queue. - - If node is ${../object/search-all-nodes:/name}, all nodes are searched with - the local node being searched first. All other nodes are searched with the - lowest numbered node searched first. - - If node is a valid node number which does not represent the local node, then - only the message queues exported by the designated node are searched. - - This directive does not generate activity on remote nodes. It accesses only - the local copy of the global object table. -params: -- description: is the object name to look up. - dir: null - name: name -- description: is the node or node set to search for a matching object. - dir: null - name: node -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the specified nodes. - value: ${../status/invalid-name:/name} - - description: | - In multiprocessing configurations, the specified node was invalid. - value: ${../status/invalid-node:/name} -type: interface diff --git a/spec/if/rtems/message/receive.yml b/spec/if/rtems/message/receive.yml deleted file mode 100644 index 73f9dcdc..00000000 --- a/spec/if/rtems/message/receive.yml +++ /dev/null @@ -1,46 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - ${/if/c/size_t:/name} *${.:/params[2]/name} - - ${../options/option:/name} ${.:/params[3]/name} - - ${../types/interval:/name} ${.:/params[4]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_receive -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: buffer -- description: '%' - dir: null - name: size -- description: '%' - dir: null - name: option_set -- description: '%' - dir: null - name: timeout -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/send.yml b/spec/if/rtems/message/send.yml deleted file mode 100644 index 0c035b99..00000000 --- a/spec/if/rtems/message/send.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - const void *${.:/params[1]/name} - - ${/if/c/size_t:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_send -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: buffer -- description: '%' - dir: null - name: size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/message/urgent.yml b/spec/if/rtems/message/urgent.yml deleted file mode 100644 index 13fb07a9..00000000 --- a/spec/if/rtems/message/urgent.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - const void *${.:/params[1]/name} - - ${/if/c/size_t:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_message_queue_urgent -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: buffer -- description: '%' - dir: null - name: size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/modes/group.yml b/spec/if/rtems/modes/group.yml deleted file mode 100644 index e670054a..00000000 --- a/spec/if/rtems/modes/group.yml +++ /dev/null @@ -1,18 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains the Classic API task modes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicModes -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Task Modes -text: | - The Classic API shall provide an interface to task modes. -type: interface diff --git a/spec/if/rtems/modes/header.yml b/spec/if/rtems/modes/header.yml deleted file mode 100644 index e6e694d8..00000000 --- a/spec/if/rtems/modes/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the task modes of the Task Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/modes.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/modes/interrupt-level-body.yml b/spec/if/rtems/modes/interrupt-level-body.yml deleted file mode 100644 index f5e164a0..00000000 --- a/spec/if/rtems/modes/interrupt-level-body.yml +++ /dev/null @@ -1,35 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns a mode with the desired interrupt level in the proper bit-field - location. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/uint32_t:/name} ${.:/params[0]/name} - return: ${mode:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_level_body -notes: | - This function is used by bindings from languages other than C and C++. -params: -- description: is the desired interrupt level. - dir: null - name: level -return: - return: | - A mode with the desired interrupt level in the proper bit-field location is - returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/modes/interrupt-mask-variable.yml b/spec/if/rtems/modes/interrupt-mask-variable.yml deleted file mode 100644 index 6bb510ff..00000000 --- a/spec/if/rtems/modes/interrupt-mask-variable.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: const ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: '%' -enabled-by: true -interface-type: variable -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interrupt_mask -notes: null -type: interface diff --git a/spec/if/rtems/modes/interrupt-mask.yml b/spec/if/rtems/modes/interrupt-mask.yml deleted file mode 100644 index 27dda9dd..00000000 --- a/spec/if/rtems/modes/interrupt-mask.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This mode constant corresponds to the interrupt enable/disable bits. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/cpu/modes-interrupt-mask:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_INTERRUPT_MASK -notes: null -type: interface diff --git a/spec/if/rtems/modes/mode.yml b/spec/if/rtems/modes/mode.yml deleted file mode 100644 index 5a8dbd84..00000000 --- a/spec/if/rtems/modes/mode.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the control block used to manage each a mode set. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mode -notes: null -type: interface diff --git a/spec/if/rtems/mp/group.yml b/spec/if/rtems/mp/group.yml deleted file mode 100644 index 4953390c..00000000 --- a/spec/if/rtems/mp/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Multiprocessing Manager provides support for heterogeneous - multiprocessing systems based on message passing in a network of - multiprocessing nodes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicMP -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Multiprocessing Manager -text: | - The Classic API shall provide an interface to the Multiprocessing Manager. -type: interface diff --git a/spec/if/rtems/mp/header.yml b/spec/if/rtems/mp/header.yml deleted file mode 100644 index 95a9b92f..00000000 --- a/spec/if/rtems/mp/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Multiprocessing Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/mp.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/object/api-class-information.yml b/spec/if/rtems/object/api-class-information.yml deleted file mode 100644 index c02bcb7d..00000000 --- a/spec/if/rtems/object/api-class-information.yml +++ /dev/null @@ -1,58 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: -- default: - brief: | - This member is - definition: ${../types/id:/name} ${.:name} - description: '%' - kind: member - name: minimum_id - variants: [] -- default: - brief: | - This member is - definition: ${../types/id:/name} ${.:name} - description: '%' - kind: member - name: maximum_id - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/uint32_t:/name} ${.:name} - description: '%' - kind: member - name: maximum - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/bool:/name} ${.:name} - description: '%' - kind: member - name: auto_extend - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/uint32_t:/name} ${.:name} - description: '%' - kind: member - name: unallocated - variants: [] -definition-kind: typedef-only -description: null -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_api_class_information -notes: null -type: interface diff --git a/spec/if/rtems/object/build-id.yml b/spec/if/rtems/object/build-id.yml deleted file mode 100644 index bbb13c6b..00000000 --- a/spec/if/rtems/object/build-id.yml +++ /dev/null @@ -1,36 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/object/build-id:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_build_id -notes: null -params: -- description: '%' - dir: null - name: _api -- description: '%' - dir: null - name: _class -- description: '%' - dir: null - name: _node -- description: '%' - dir: null - name: _index -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/build-name.yml b/spec/if/rtems/object/build-name.yml deleted file mode 100644 index 96d7270d..00000000 --- a/spec/if/rtems/object/build-name.yml +++ /dev/null @@ -1,36 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/object/build-name:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_build_name -notes: null -params: -- description: '%' - dir: null - name: _C1 -- description: '%' - dir: null - name: _C2 -- description: '%' - dir: null - name: _C3 -- description: '%' - dir: null - name: _C4 -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/get-class-information.yml b/spec/if/rtems/object/get-class-information.yml deleted file mode 100644 index ffb485d4..00000000 --- a/spec/if/rtems/object/get-class-information.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - int ${.:/params[0]/name} - - int ${.:/params[1]/name} - - ${api-class-information:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_get_class_information -notes: null -params: -- description: '%' - dir: null - name: the_api -- description: '%' - dir: null - name: the_class -- description: '%' - dir: null - name: info -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/get-classic-name.yml b/spec/if/rtems/object/get-classic-name.yml deleted file mode 100644 index 2c40b0c8..00000000 --- a/spec/if/rtems/object/get-classic-name.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/name:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_get_classic_name -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: name -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/get-local-node.yml b/spec/if/rtems/object/get-local-node.yml deleted file mode 100644 index 1c6dcf87..00000000 --- a/spec/if/rtems/object/get-local-node.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: | - return ${/if/impl/object/local-node:/name}; - params: [] - return: ${/if/c/uint16_t:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_get_local_node -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/get-name.yml b/spec/if/rtems/object/get-name.yml deleted file mode 100644 index 98ee0769..00000000 --- a/spec/if/rtems/object/get-name.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - - char *${.:/params[2]/name} - return: char * - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_get_name -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: length -- description: '%' - dir: null - name: name -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/group.yml b/spec/if/rtems/object/group.yml deleted file mode 100644 index 0f6d512a..00000000 --- a/spec/if/rtems/object/group.yml +++ /dev/null @@ -1,22 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - RTEMS provides a collection of services to assist in the management and usage - of the objects created and utilized via other managers. These services - assist in the manipulation of RTEMS objects independent of the API used to - create them. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicObject -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Object Services -text: | - The Classic API shall provide an interface to the Object Services. -type: interface diff --git a/spec/if/rtems/object/header.yml b/spec/if/rtems/object/header.yml deleted file mode 100644 index 8b90b787..00000000 --- a/spec/if/rtems/object/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Object Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/object.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/object/id-api-maximum.yml b/spec/if/rtems/object/id-api-maximum.yml deleted file mode 100644 index 2a38b530..00000000 --- a/spec/if/rtems/object/id-api-maximum.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/apis-last:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_id_api_maximum -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/id-api-minimum.yml b/spec/if/rtems/object/id-api-minimum.yml deleted file mode 100644 index b1856cae..00000000 --- a/spec/if/rtems/object/id-api-minimum.yml +++ /dev/null @@ -1,23 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/internal-api:/name} - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_id_api_minimum -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/id-final-index.yml b/spec/if/rtems/object/id-final-index.yml deleted file mode 100644 index 5f00ff9b..00000000 --- a/spec/if/rtems/object/id-final-index.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/id-final-index:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_OBJECT_ID_FINAL_INDEX -notes: null -type: interface diff --git a/spec/if/rtems/object/id-final.yml b/spec/if/rtems/object/id-final.yml deleted file mode 100644 index 173d4ba7..00000000 --- a/spec/if/rtems/object/id-final.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/id-final:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_OBJECT_ID_FINAL -notes: null -type: interface diff --git a/spec/if/rtems/object/id-get-api.yml b/spec/if/rtems/object/id-get-api.yml deleted file mode 100644 index 1bc043b1..00000000 --- a/spec/if/rtems/object/id-get-api.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/get-api:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_id_get_api -notes: null -params: -- description: '%' - dir: null - name: _id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/id-get-class.yml b/spec/if/rtems/object/id-get-class.yml deleted file mode 100644 index 6e939302..00000000 --- a/spec/if/rtems/object/id-get-class.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/get-class:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_id_get_class -notes: null -params: -- description: '%' - dir: null - name: _id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/id-get-index.yml b/spec/if/rtems/object/id-get-index.yml deleted file mode 100644 index 022aca93..00000000 --- a/spec/if/rtems/object/id-get-index.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/get-index:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_id_get_index -notes: null -params: -- description: '%' - dir: null - name: _id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/id-get-node.yml b/spec/if/rtems/object/id-get-node.yml deleted file mode 100644 index 7ab4e52e..00000000 --- a/spec/if/rtems/object/id-get-node.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/get-node:/name}( ${.:/params[0]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_id_get_node -notes: null -params: -- description: '%' - dir: null - name: _id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/id-initial-index.yml b/spec/if/rtems/object/id-initial-index.yml deleted file mode 100644 index 60c3e455..00000000 --- a/spec/if/rtems/object/id-initial-index.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/id-initial-index:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_OBJECT_ID_INITIAL_INDEX -notes: null -type: interface diff --git a/spec/if/rtems/object/id-initial.yml b/spec/if/rtems/object/id-initial.yml deleted file mode 100644 index 31523c31..00000000 --- a/spec/if/rtems/object/id-initial.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${/if/impl/object/id-initial:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name} ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_OBJECT_ID_INITIAL -notes: null -params: -- description: '%' - dir: null - name: _api -- description: '%' - dir: null - name: _class -- description: '%' - dir: null - name: _node -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/search-all-nodes.yml b/spec/if/rtems/object/search-all-nodes.yml deleted file mode 100644 index 1016dfed..00000000 --- a/spec/if/rtems/object/search-all-nodes.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/search-all-nodes:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_SEARCH_ALL_NODES -notes: null -type: interface diff --git a/spec/if/rtems/object/search-local-node.yml b/spec/if/rtems/object/search-local-node.yml deleted file mode 100644 index a0a9e05d..00000000 --- a/spec/if/rtems/object/search-local-node.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/search-local-nodes:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_SEARCH_LOCAL_NODE -notes: null -type: interface diff --git a/spec/if/rtems/object/search-other-nodes.yml b/spec/if/rtems/object/search-other-nodes.yml deleted file mode 100644 index 2591ce17..00000000 --- a/spec/if/rtems/object/search-other-nodes.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/search-other-nodes:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_SEARCH_OTHER_NODES -notes: null -type: interface diff --git a/spec/if/rtems/object/set-name.yml b/spec/if/rtems/object/set-name.yml deleted file mode 100644 index 1622b200..00000000 --- a/spec/if/rtems/object/set-name.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - const char *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_object_set_name -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: name -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/object/who-am-i.yml b/spec/if/rtems/object/who-am-i.yml deleted file mode 100644 index cfa2bfcc..00000000 --- a/spec/if/rtems/object/who-am-i.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/who-am-i:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_WHO_AM_I -notes: null -type: interface diff --git a/spec/if/rtems/options/group.yml b/spec/if/rtems/options/group.yml deleted file mode 100644 index 0ab45b92..00000000 --- a/spec/if/rtems/options/group.yml +++ /dev/null @@ -1,18 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains the Classic API directive options. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicOptions -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Directive Options -text: | - The Classic API shall provide an interface to directive options. -type: interface diff --git a/spec/if/rtems/options/header.yml b/spec/if/rtems/options/header.yml deleted file mode 100644 index 93c7087f..00000000 --- a/spec/if/rtems/options/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines options provided by the API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/options.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/options/option.yml b/spec/if/rtems/options/option.yml deleted file mode 100644 index 3a3a927f..00000000 --- a/spec/if/rtems/options/option.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the control block used to manage option sets. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_option -notes: null -type: interface diff --git a/spec/if/rtems/part/create.yml b/spec/if/rtems/part/create.yml deleted file mode 100644 index f613e078..00000000 --- a/spec/if/rtems/part/create.yml +++ /dev/null @@ -1,50 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[2]/name} - - ${/if/c/size_t:/name} ${.:/params[3]/name} - - ${../attr/attribute:/name} ${.:/params[4]/name} - - ${../types/id:/name} *${.:/params[5]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_partition_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: starting_address -- description: '%' - dir: null - name: length -- description: '%' - dir: null - name: buffer_size -- description: '%' - dir: null - name: attribute_set -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/part/delete.yml b/spec/if/rtems/part/delete.yml deleted file mode 100644 index 739b238c..00000000 --- a/spec/if/rtems/part/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_partition_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/part/get-buffer.yml b/spec/if/rtems/part/get-buffer.yml deleted file mode 100644 index e3ebd3eb..00000000 --- a/spec/if/rtems/part/get-buffer.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void **${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_partition_get_buffer -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: buffer -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/part/group.yml b/spec/if/rtems/part/group.yml deleted file mode 100644 index dd0b7b9b..00000000 --- a/spec/if/rtems/part/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Partition Manager provides facilities to dynamically allocate memory in - fixed-size units. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicPart -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Partition Manager -text: | - The Classic API shall provide an interface to the Partition Manager. -type: interface diff --git a/spec/if/rtems/part/header.yml b/spec/if/rtems/part/header.yml deleted file mode 100644 index 8bd8a5f4..00000000 --- a/spec/if/rtems/part/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Partition Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/part.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/part/ident.yml b/spec/if/rtems/part/ident.yml deleted file mode 100644 index 8c0afb01..00000000 --- a/spec/if/rtems/part/ident.yml +++ /dev/null @@ -1,86 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a partition object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - - ${../types/id:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the partition identifier associated with the partition - name specified in ``${.:/params[0]/name}``. - - The node to search is specified in ``${.:/params[1]/name}``. It shall be - - * a valid node number, - - * the constant ${../object/search-all-nodes:/name} to search in all nodes, - - * the constant ${../object/search-local-node:/name} to search in the local - node only, or - - * the constant ${../object/search-other-nodes:/name} to search in all nodes - except the local node. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_partition_ident -notes: | - If the partition name is not unique, then the partition identifier will match - the first partition with that name in the search order. However, this - partition identifier is not guaranteed to correspond to the desired - partition. The partition identifier is used with other partition related - directives to access the partition. - - If node is ${../object/search-all-nodes:/name}, all nodes are searched with - the local node being searched first. All other nodes are searched with the - lowest numbered node searched first. - - If node is a valid node number which does not represent the local node, then - only the partitions exported by the designated node are searched. - - This directive does not generate activity on remote nodes. It accesses only - the local copy of the global object table. -params: -- description: is the object name to look up. - dir: null - name: name -- description: is the node or node set to search for a matching object. - dir: null - name: node -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the specified nodes. - value: ${../status/invalid-name:/name} - - description: | - In multiprocessing configurations, the specified node was invalid. - value: ${../status/invalid-node:/name} -type: interface diff --git a/spec/if/rtems/part/return-buffer.yml b/spec/if/rtems/part/return-buffer.yml deleted file mode 100644 index 76a15fe4..00000000 --- a/spec/if/rtems/part/return-buffer.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_partition_return_buffer -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: buffer -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/ratemon/cancel.yml b/spec/if/rtems/ratemon/cancel.yml deleted file mode 100644 index f69899ef..00000000 --- a/spec/if/rtems/ratemon/cancel.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_cancel -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/ratemon/create.yml b/spec/if/rtems/ratemon/create.yml deleted file mode 100644 index 3d201c44..00000000 --- a/spec/if/rtems/ratemon/create.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/ratemon/delete.yml b/spec/if/rtems/ratemon/delete.yml deleted file mode 100644 index 11de97e2..00000000 --- a/spec/if/rtems/ratemon/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/ratemon/get-statistics.yml b/spec/if/rtems/ratemon/get-statistics.yml deleted file mode 100644 index 3451cc13..00000000 --- a/spec/if/rtems/ratemon/get-statistics.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${period-statistics:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_get_statistics -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: statistics -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/ratemon/get-status.yml b/spec/if/rtems/ratemon/get-status.yml deleted file mode 100644 index 35d672f8..00000000 --- a/spec/if/rtems/ratemon/get-status.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${period-status:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_get_status -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: status -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/ratemon/group.yml b/spec/if/rtems/ratemon/group.yml deleted file mode 100644 index 32ca9283..00000000 --- a/spec/if/rtems/ratemon/group.yml +++ /dev/null @@ -1,22 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Rate-Monotonic Manager provides facilities to implement tasks which - execute in a periodic fashion. Critically, it also gathers information about - the execution of those periods and can provide important statistics to the - user which can be used to analyze and tune the application. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicRatemon -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Rate-Monotonic Manager -text: | - The Classic API shall provide an interface to the Rate-Monotonic Manager. -type: interface diff --git a/spec/if/rtems/ratemon/header.yml b/spec/if/rtems/ratemon/header.yml deleted file mode 100644 index f6d0236f..00000000 --- a/spec/if/rtems/ratemon/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Rate-Monotonic Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/ratemon.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/ratemon/ident.yml b/spec/if/rtems/ratemon/ident.yml deleted file mode 100644 index 40d0bf95..00000000 --- a/spec/if/rtems/ratemon/ident.yml +++ /dev/null @@ -1,60 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a period object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the period identifier associated with the period name - specified in ``${.:/params[0]/name}``. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_ident -notes: | - If the period name is not unique, then the period identifier will match the - first period with that name in the search order. However, this period - identifier is not guaranteed to correspond to the desired period. The period - identifier is used with other rate monotonic related directives to access the - period. - - The objects are searched from lowest to the highest index. Only the local - node is searched. -params: -- description: is the object name to look up. - dir: null - name: name -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the local node. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/ratemon/period-statistics.yml b/spec/if/rtems/ratemon/period-statistics.yml deleted file mode 100644 index 515cb0dc..00000000 --- a/spec/if/rtems/ratemon/period-statistics.yml +++ /dev/null @@ -1,82 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: -- default: - brief: | - This member is - definition: ${/if/c/uint32_t:/name} ${.:name} - description: '%' - kind: member - name: count - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/uint32_t:/name} ${.:name} - description: '%' - kind: member - name: missed_count - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: min_cpu_time - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: max_cpu_time - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: total_cpu_time - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: min_wall_time - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: max_wall_time - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: total_wall_time - variants: [] -definition-kind: typedef-only -description: null -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_period_statistics -notes: null -type: interface diff --git a/spec/if/rtems/ratemon/period-status-define.yml b/spec/if/rtems/ratemon/period-status-define.yml deleted file mode 100644 index adebb068..00000000 --- a/spec/if/rtems/ratemon/period-status-define.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This constant is the interval passed to the ${period:/name} directive to - obtain status information. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/watchdog/no-timeout:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_PERIOD_STATUS -notes: null -type: interface diff --git a/spec/if/rtems/ratemon/period-status.yml b/spec/if/rtems/ratemon/period-status.yml deleted file mode 100644 index 5b1fd956..00000000 --- a/spec/if/rtems/ratemon/period-status.yml +++ /dev/null @@ -1,58 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: -- default: - brief: | - This member is - definition: ${../types/id:/name} ${.:name} - description: '%' - kind: member - name: owner - variants: [] -- default: - brief: | - This member is - definition: ${period-states:/name} ${.:name} - description: '%' - kind: member - name: state - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: since_last_period - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/timespec:/name} ${.:name} - description: '%' - kind: member - name: executed_since_last_period - variants: [] -- default: - brief: | - This member is - definition: ${/if/c/uint32_t:/name} ${.:name} - description: '%' - kind: member - name: postponed_jobs_count - variants: [] -definition-kind: typedef-only -description: null -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_period_status -notes: null -type: interface diff --git a/spec/if/rtems/ratemon/period.yml b/spec/if/rtems/ratemon/period.yml deleted file mode 100644 index 991c2bab..00000000 --- a/spec/if/rtems/ratemon/period.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/interval:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_period -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: length -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/ratemon/printer.yml b/spec/if/rtems/ratemon/printer.yml deleted file mode 100644 index 38e939f1..00000000 --- a/spec/if/rtems/ratemon/printer.yml +++ /dev/null @@ -1,11 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: forward-declaration -links: -- role: interface-placement - uid: header -- role: interface-target - uid: ../io/printer -type: interface diff --git a/spec/if/rtems/ratemon/reset-statistics.yml b/spec/if/rtems/ratemon/reset-statistics.yml deleted file mode 100644 index 77656624..00000000 --- a/spec/if/rtems/ratemon/reset-statistics.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_rate_monotonic_reset_statistics -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/create.yml b/spec/if/rtems/region/create.yml deleted file mode 100644 index 3eb4ae45..00000000 --- a/spec/if/rtems/region/create.yml +++ /dev/null @@ -1,50 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[2]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[3]/name} - - ${../attr/attribute:/name} ${.:/params[4]/name} - - ${../types/id:/name} *${.:/params[5]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: starting_address -- description: '%' - dir: null - name: length -- description: '%' - dir: null - name: page_size -- description: '%' - dir: null - name: attribute_set -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/delete.yml b/spec/if/rtems/region/delete.yml deleted file mode 100644 index 3c046c7e..00000000 --- a/spec/if/rtems/region/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/extend.yml b/spec/if/rtems/region/extend.yml deleted file mode 100644 index 338e3a47..00000000 --- a/spec/if/rtems/region/extend.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_extend -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: starting_address -- description: '%' - dir: null - name: length -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/get-free-information.yml b/spec/if/rtems/region/get-free-information.yml deleted file mode 100644 index 929aadf9..00000000 --- a/spec/if/rtems/region/get-free-information.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/impl/heap/information-block:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_get_free_information -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: the_info -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/get-information.yml b/spec/if/rtems/region/get-information.yml deleted file mode 100644 index 4f655870..00000000 --- a/spec/if/rtems/region/get-information.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/impl/heap/information-block:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_get_information -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: the_info -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/get-segment-size.yml b/spec/if/rtems/region/get-segment-size.yml deleted file mode 100644 index 993846e1..00000000 --- a/spec/if/rtems/region/get-segment-size.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - ${/if/c/uintptr_t:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_get_segment_size -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: segment -- description: '%' - dir: null - name: size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/get-segment.yml b/spec/if/rtems/region/get-segment.yml deleted file mode 100644 index 382ea863..00000000 --- a/spec/if/rtems/region/get-segment.yml +++ /dev/null @@ -1,46 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[1]/name} - - ${../options/option:/name} ${.:/params[2]/name} - - ${../types/interval:/name} ${.:/params[3]/name} - - void **${.:/params[4]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_get_segment -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: size -- description: '%' - dir: null - name: option_set -- description: '%' - dir: null - name: timeout -- description: '%' - dir: null - name: segment -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/group.yml b/spec/if/rtems/region/group.yml deleted file mode 100644 index 4a058ea8..00000000 --- a/spec/if/rtems/region/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Region Manager provides facilities to dynamically allocate memory in - variable sized units. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicRegion -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Region Manager -text: | - The Classic API shall provide an interface to the Region Manager. -type: interface diff --git a/spec/if/rtems/region/header.yml b/spec/if/rtems/region/header.yml deleted file mode 100644 index 0463cc18..00000000 --- a/spec/if/rtems/region/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Region Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/region.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/region/ident.yml b/spec/if/rtems/region/ident.yml deleted file mode 100644 index 57b5ce9d..00000000 --- a/spec/if/rtems/region/ident.yml +++ /dev/null @@ -1,59 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a region object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the region identifier associated with the region name - specified in ``${.:/params[0]/name}``. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_ident -notes: | - If the region name is not unique, then the region identifier will match the - first region with that name in the search order. However, this region - identifier is not guaranteed to correspond to the desired region. The region - identifier is used with other region related directives to access the region. - - The objects are searched from lowest to the highest index. Only the local - node is searched. -params: -- description: is the object name to look up. - dir: null - name: name -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the local node. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/region/resize-segment.yml b/spec/if/rtems/region/resize-segment.yml deleted file mode 100644 index cc02db08..00000000 --- a/spec/if/rtems/region/resize-segment.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - - ${/if/c/uintptr_t:/name} ${.:/params[2]/name} - - ${/if/c/uintptr_t:/name} *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_resize_segment -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: segment -- description: '%' - dir: null - name: size -- description: '%' - dir: null - name: old_size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/region/return-segment.yml b/spec/if/rtems/region/return-segment.yml deleted file mode 100644 index 27eacee6..00000000 --- a/spec/if/rtems/region/return-segment.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - void *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_region_return_segment -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: segment -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/scheduler/add-processor.yml b/spec/if/rtems/scheduler/add-processor.yml deleted file mode 100644 index a13eb90b..00000000 --- a/spec/if/rtems/scheduler/add-processor.yml +++ /dev/null @@ -1,52 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Adds the processor to the set of processors owned by the scheduler instance. -copyrights: -- Copyright (C) 2016, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_add_processor -notes: | - This directive shall be called from task context. It obtains and releases - the objects allocator lock. -params: -- description: is the scheduler instance identifier. - dir: null - name: scheduler_id -- description: is the index of the processor to add. - dir: null - name: cpu_index -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The processor was configured to be used by the application, however, it - was not online. - value: ${../status/incorrect-state:/name} - - description: | - The scheduler instance identifier was invalid. - value: ${../status/invalid-id:/name} - - description: | - The processor was not configured to be used by the application. - value: ${../status/not-configured:/name} - - description: | - The processor was already assigned to a scheduler instance. - value: ${../status/resource-in-use:/name} -type: interface diff --git a/spec/if/rtems/scheduler/get-maximum-priority.yml b/spec/if/rtems/scheduler/get-maximum-priority.yml deleted file mode 100644 index 60b67db3..00000000 --- a/spec/if/rtems/scheduler/get-maximum-priority.yml +++ /dev/null @@ -1,46 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Gets the maximum task priority of the scheduler instance. -copyrights: -- Copyright (C) 2018, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../tasks/priority:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_get_maximum_priority -notes: null -params: -- description: is the scheduler instance identifier. - dir: null - name: scheduler_id -- description: | - is the pointer to a task priority variable. The maximum priority of the - scheduler instance will be stored in this variable, if the operation is - successful. - dir: out - name: priority -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The scheduler instance identifier was invalid. - value: ${../status/invalid-id:/name} -type: interface diff --git a/spec/if/rtems/scheduler/get-processor-maximum.yml b/spec/if/rtems/scheduler/get-processor-maximum.yml deleted file mode 100644 index 3c9f6ae4..00000000 --- a/spec/if/rtems/scheduler/get-processor-maximum.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the processor maximum supported by the system. -copyrights: -- Copyright (C) 2013, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/smp/get-processor-maximum:/name}() - variants: [] -description: | - In uniprocessor configurations, this macro evaluates to a compile time - constant of one. - - In SMP configurations, this macro returns the minimum of the processors - (physically or virtually) available by the platform and the configured - processor maximum. Not all processors in the range from processor index zero - to the last processor index (which is the processor maximum minus one) may be - configured to be used by a scheduler or may be online (online processors have - a scheduler assigned). -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_get_processor_maximum -notes: null -params: [] -return: - return: | - The processor maximum supported by the system is returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/scheduler/get-processor-set.yml b/spec/if/rtems/scheduler/get-processor-set.yml deleted file mode 100644 index d54af6e8..00000000 --- a/spec/if/rtems/scheduler/get-processor-set.yml +++ /dev/null @@ -1,58 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Gets the set of processors owned by the scheduler instance. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - - ${/if/c/cpu_set_t:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_get_processor_set -notes: null -params: -- description: is the scheduler instance identifier. - dir: null - name: scheduler_id -- description: | - is the size of the referenced processor set variable in bytes. This value - shall be positive. - dir: null - name: cpusetsize -- description: | - is the pointer to a processor set variable. The processor set of the - scheduler instance will be stored in this variable, in case of a successful - operation. A set bit in the processor set means that the corresponding - processor is owned by the scheduler instance, otherwise the bit is cleared. - dir: out - name: cpuset -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The scheduler instance identifier was invalid. - value: ${../status/invalid-id:/name} - - description: | - The provided processor set was too small for the set of processors owned - by the scheduler instance. - value: ${../status/invalid-number:/name} -type: interface diff --git a/spec/if/rtems/scheduler/get-processor.yml b/spec/if/rtems/scheduler/get-processor.yml deleted file mode 100644 index 52168a03..00000000 --- a/spec/if/rtems/scheduler/get-processor.yml +++ /dev/null @@ -1,35 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the index of the current processor. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/smp/get-current-processor:/name}() - variants: [] -description: | - In uniprocessor configurations, this macro evaluates to a compile time - constant of zero. - - In SMP configurations, an architecture-specific method is used to obtain the - index of the current processor in the system. The set of processor indices - is the range of integers starting with zero up to - ${get-processor-maximum:/name} minus one. -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_get_processor -notes: | - Outside of sections with disabled thread dispatching the current processor - index may change after every instruction since the thread may migrate from - one processor to another. Sections with disabled interrupts are sections - with thread dispatching disabled. -params: [] -return: - return: | - The index of the current processor is returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/scheduler/ident-by-processor-set.yml b/spec/if/rtems/scheduler/ident-by-processor-set.yml deleted file mode 100644 index bc9e9ff9..00000000 --- a/spec/if/rtems/scheduler/ident-by-processor-set.yml +++ /dev/null @@ -1,63 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a scheduler instance by a processor set. -copyrights: -- Copyright (C) 2017, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${/if/c/size_t:/name} ${.:/params[0]/name} - - const ${/if/c/cpu_set_t:/name} *${.:/params[1]/name} - - ${../types/id:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: | - The scheduler instance is selected according to the highest numbered online - processor in the specified processor set. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_ident_by_processor_set -notes: null -params: -- description: | - is the size of the referenced processor set variable in bytes. This value - shall be positive. - dir: null - name: cpusetsize -- description: | - is the pointer to a processor set variable. The referenced processor set - will be used to identify the scheduler instance. - dir: null - name: cpuset -- description: | - is the pointer to an object identifier variable. The identifier of the - scheduler instance will be stored in this variable, in case of a successful - operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The processor set was valid, however, the highest numbered online - processor in the processor set was not owned by a scheduler instance. - value: ${../status/incorrect-state:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The processor set contained no online processor. - value: ${../status/invalid-name:/name} - - description: | - The processor set size was invalid. - value: ${../status/invalid-size:/name} -type: interface diff --git a/spec/if/rtems/scheduler/ident-by-processor.yml b/spec/if/rtems/scheduler/ident-by-processor.yml deleted file mode 100644 index 1c41f1ee..00000000 --- a/spec/if/rtems/scheduler/ident-by-processor.yml +++ /dev/null @@ -1,51 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a scheduler instance by a processor index. -copyrights: -- Copyright (C) 2017, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${/if/c/uint32_t:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_ident_by_processor -notes: null -params: -- description: | - is the processor index to identify the scheduler instance. - dir: null - name: cpu_index -- description: | - is the pointer to an object identifier variable. The identifier of the - scheduler instance will be stored in this variable, in case of a successful - operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The processor index was valid, however, the corresponding processor was - not owned by a scheduler instance. - value: ${../status/incorrect-state:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The processor index was invalid. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/scheduler/ident.yml b/spec/if/rtems/scheduler/ident.yml deleted file mode 100644 index 8136bff3..00000000 --- a/spec/if/rtems/scheduler/ident.yml +++ /dev/null @@ -1,47 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a scheduler instance by its name. -copyrights: -- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_ident -notes: | - The scheduler name is determined by the scheduler configuration. -params: -- description: is the scheduler name. - dir: null - name: name -- description: | - is the pointer to an object identifier variable. The identifier of the - scheduler instance will be stored in this variable, in case of a successful - operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The scheduler name was invalid. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/scheduler/map-priority-from-posix.yml b/spec/if/rtems/scheduler/map-priority-from-posix.yml deleted file mode 100644 index 3280985f..00000000 --- a/spec/if/rtems/scheduler/map-priority-from-posix.yml +++ /dev/null @@ -1,53 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Maps a POSIX thread priority to the corresponding Classic API task priority. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - int ${.:/params[1]/name} - - ${../tasks/priority:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_map_priority_from_posix -notes: null -params: -- description: is the scheduler instance identifier. - dir: null - name: scheduler_id -- description: is the POSIX thread priority to map. - dir: null - name: posix_priority -- description: | - is the pointer to a Classic API task priority variable. The Classic API - task priority value corresponding to the specified POSIX thread priority - value will be stored in this variable, in case of a successful operation. - dir: out - name: priority -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The scheduler instance identifier was invalid. - value: ${../status/invalid-id:/name} - - description: | - The POSIX thread priority was invalid. - value: ${../status/invalid-priority:/name} -type: interface diff --git a/spec/if/rtems/scheduler/map-priority-to-posix.yml b/spec/if/rtems/scheduler/map-priority-to-posix.yml deleted file mode 100644 index ecd1d64e..00000000 --- a/spec/if/rtems/scheduler/map-priority-to-posix.yml +++ /dev/null @@ -1,53 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Maps a Classic API task priority to the corresponding POSIX thread priority. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../tasks/priority:/name} ${.:/params[1]/name} - - int *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_map_priority_to_posix -notes: null -params: -- description: is the scheduler instance identifier. - dir: null - name: scheduler_id -- description: is the Classic API task priority to map. - dir: null - name: priority -- description: | - is the pointer to a POSIX thread priority variable. The POSIX thread - priority value corresponding to the specified Classic API task priority - value will be stored in this variable, in case of a successful operation. - dir: out - name: posix_priority -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The scheduler instance identifier was invalid. - value: ${../status/invalid-id:/name} - - description: | - The Classic API task priority was invalid. - value: ${../status/invalid-priority:/name} -type: interface diff --git a/spec/if/rtems/scheduler/remove-processor.yml b/spec/if/rtems/scheduler/remove-processor.yml deleted file mode 100644 index 6fbbde1f..00000000 --- a/spec/if/rtems/scheduler/remove-processor.yml +++ /dev/null @@ -1,52 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Removes a processor from set of processors owned by the scheduler instance. -copyrights: -- Copyright (C) 2016, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: ../tasks/header -- role: interface-ingroup - uid: ../tasks/group -name: rtems_scheduler_remove_processor -notes: | - This directive shall be called from task context. It obtains and releases - the objects allocator lock. Removing a processor from a scheduler instance - is a complex operation that involves all tasks of the system. -params: -- description: is the scheduler instance identifier. - dir: null - name: scheduler_id -- description: is the index of the processor to remove. - dir: null - name: cpu_index -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The scheduler instance identifier was invalid. - value: ${../status/invalid-id:/name} - - description: | - The processor was not owned by the specified scheduler instance. - value: ${../status/invalid-number:/name} - - description: | - The set of processors owned by the specified scheduler instance would - have been empty after the processor removal and there was at least one - non-idle task that used this scheduler instance as its home scheduler - instance. - value: ${../status/resource-in-use:/name} -type: interface diff --git a/spec/if/rtems/sem/create.yml b/spec/if/rtems/sem/create.yml deleted file mode 100644 index 98aace39..00000000 --- a/spec/if/rtems/sem/create.yml +++ /dev/null @@ -1,182 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Creates a semaphore with the specified properties and returns its identifier. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - - ${../attr/attribute:/name} ${.:/params[2]/name} - - ${../tasks/priority:/name} ${.:/params[3]/name} - - ${../types/id:/name} *${.:/params[4]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive creates a semaphore which resides on the local node. The new - semaphore has the user-defined name specified in ``name`` and the initial - count specified in ``count``. For control and maintenance of the semaphore, - RTEMS allocates and initializes a ${/glossary/smcb:/term}. The - RTEMS-assigned semaphore identifier is returned in ``id``. This semaphore - identifier is used with other semaphore related directives to access the - semaphore. - - The attribute set specified in ``attribute_set`` defines - - * the scope of the semaphore (local or global), - - * the discipline of the task wait queue used by the semaphore (FIFO or - priority), - - * the class of the semaphore (counting, binary, or simple binary), and - - * the locking protocol of a binary semaphore (priority inheritance, priority - ceiling or MrsP). - - The attribute set is built through a *bitwise or* of the attribute constants - described below. Not all combinations of attributes are allowed. Some - attributes are mutually exclusive. If mutually exclusive attributes are - combined, the behaviour is undefined. - - The *scope of a semaphore* is either the local node only (local scope) or all - nodes in a multiprocessing network (global scope). The scope is selected by - the mutually exclusive ${../attr/local:/name} and ${../attr/global:/name} - attributes. - - * The local scope is the default and can be emphasized through use - of the ${../attr/local:/name} attribute. - - * The global scope is selected by the ${../attr/global:/name} attribute. In - a single node system and the local and global scope are identical. - - The *task wait queue discipline* is selected by the mutually exclusive - ${../attr/fifo:/name} and ${../attr/priority:/name} attributes. - - * The ${/glossary/fifo:/term} discipline is the default and can be emphasized - through use of the ${../attr/fifo:/name} attribute. - - * The priority discipline is selected by the ${../attr/priority:/name} - attribute. Some locking protocols require the priority discipline. - - The *semaphore class* is selected by the mutually exclusive - ${../attr/counting-semaphore:/name}, ${../attr/binary-semaphore:/name}, and - ${../attr/simple-binary-semaphore:/name} attributes. - - * Counting semaphores are the default and can be emphasized through use of - the ${../attr/counting-semaphore:/name} attribute. - - * Binary semaphores are mutual exclusion (mutex) synchronization primitives - which may have an owner. The count of a binary semaphore is restricted to - 0 and 1. The binary semaphore class is selected by the - ${../attr/binary-semaphore:/name} attribute. - - * Simple binary semaphores have no owner. The count of a simple binary - semaphore is restricted to 0 and 1. They may be used for task and - interrupt synchronization. The simple binary semaphore class is selected - by the ${../attr/simple-binary-semaphore:/name} attribute. - - Binary semaphores may use a *locking protocol*. If a locking protocol is - selected, then the scope shall be local and the priority task wait queue - discipline shall be selected. The locking protocol is selected by the - mutually exclusive ${../attr/inherit-priority:/name}, - ${../attr/priority-ceiling:/name}, and - ${../attr/multiprocessor-resource-sharing:/name} attributes. - - * The default is to use no locking protocol. - - * The ${../attr/inherit-priority:/name} attribute selects the priority - inheritance locking protocol. - - * The ${../attr/priority-ceiling:/name} attribute selects the priority - ceiling locking protocol. For this locking protocol a priority ceiling - shall be specified in ``priority_ceiling``. - - * The ${../attr/multiprocessor-resource-sharing:/name} attribute selects the - MrsP locking protocol in SMP configurations, otherwise it selects the - priority ceiling protocol. For this locking protocol a priority ceiling - shall be specified in ``priority_ceiling``. This priority is used to set - the priority ceiling in all scheduler instances. This can be changed later - with the ${set-priority:/name} directive using the returned semaphore - identifier. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_semaphore_create -notes: | - This directive may cause the calling task to be preempted due to an obtain - and release of the object allocator mutex. - - Semaphores should not be made global unless remote tasks must interact with - the new semaphore. This is to avoid the system overhead incurred by the - creation of a global semaphore. When a global semaphore is created, the - semaphore's name and identifier must be transmitted to every node in the - system for insertion in the local copy of the global object table. - - The total number of global objects, including semaphores, is limited by the - ${/if/acfg/mp-max-global-objects:/name} application configuration option. - - It is not allowed to create an initially locked MrsP semaphore and the - ${../status/invalid-number:/name} status code will be returned in SMP - configurations in this case. This prevents lock order reversal problems - with the allocator mutex. -params: -- description: is the object name of the new semaphore. - dir: null - name: name -- description: | - is the initial count of the new semaphore. If the semaphore is a mutex, - then a count of 0 will make the calling task the owner of the new mutex and - a count of 1 will create a mutex without an owner. - dir: null - name: count -- description: | - is the attribute set which defines the properties of the new semaphore. - dir: null - name: attribute_set -- description: | - is the priority ceiling if the new semaphore is a binary semaphore with the - priority ceiling or MrsP semaphore locking protocol as defined by the - attribute set. - dir: null - name: priority_ceiling -- description: | - is the pointer to an object identifier variable. The object identifier of - the new semaphore will be stored in this variable, in case of a successful - operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[3]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The semaphore name was invalid. - value: ${../status/invalid-name:/name} - - description: | - The priority ceiling was invalid. - value: ${../status/invalid-priority:/name} - - description: | - The attribute set was invalid. - value: ${../status/not-defined:/name} - - description: | - There was no inactive semaphore object available to create a new - semaphore. The semaphore object maximum is defined by the - ${/if/acfg/max-semaphores:/name} application configuration option. - value: ${../status/too-many:/name} - - description: | - In multiprocessing configurations, there was no inactive global object - available to create a new global semaphore. - value: ${../status/too-many:/name} -type: interface diff --git a/spec/if/rtems/sem/delete.yml b/spec/if/rtems/sem/delete.yml deleted file mode 100644 index c57b22cd..00000000 --- a/spec/if/rtems/sem/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_semaphore_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/sem/flush.yml b/spec/if/rtems/sem/flush.yml deleted file mode 100644 index 3662bc36..00000000 --- a/spec/if/rtems/sem/flush.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_semaphore_flush -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/sem/group.yml b/spec/if/rtems/sem/group.yml deleted file mode 100644 index a0ad76f4..00000000 --- a/spec/if/rtems/sem/group.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Semaphore Manager utilizes standard Dijkstra counting semaphores to - provide synchronization and mutual exclusion capabilities. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicSem -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Semaphore Manager -text: | - The Classic API shall provide an interface to the Semaphore Manager. -type: interface diff --git a/spec/if/rtems/sem/header.yml b/spec/if/rtems/sem/header.yml deleted file mode 100644 index 1e7c2c9b..00000000 --- a/spec/if/rtems/sem/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Semaphore Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/sem.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/sem/ident.yml b/spec/if/rtems/sem/ident.yml deleted file mode 100644 index 580679be..00000000 --- a/spec/if/rtems/sem/ident.yml +++ /dev/null @@ -1,86 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a semaphore object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - - ${../types/id:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the semaphore identifier associated with the semaphore - name specified in ``${.:/params[0]/name}``. - - The node to search is specified in ``${.:/params[1]/name}``. It shall be - - * a valid node number, - - * the constant ${../object/search-all-nodes:/name} to search in all nodes, - - * the constant ${../object/search-local-node:/name} to search in the local - node only, or - - * the constant ${../object/search-other-nodes:/name} to search in all nodes - except the local node. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_semaphore_ident -notes: | - If the semaphore name is not unique, then the semaphore identifier will match - the first semaphore with that name in the search order. However, this - semaphore identifier is not guaranteed to correspond to the desired - semaphore. The semaphore identifier is used with other semaphore related - directives to access the semaphore. - - If node is ${../object/search-all-nodes:/name}, all nodes are searched with - the local node being searched first. All other nodes are searched with the - lowest numbered node searched first. - - If node is a valid node number which does not represent the local node, then - only the semaphores exported by the designated node are searched. - - This directive does not generate activity on remote nodes. It accesses only - the local copy of the global object table. -params: -- description: is the object name to look up. - dir: null - name: name -- description: is the node or node set to search for a matching object. - dir: null - name: node -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the specified nodes. - value: ${../status/invalid-name:/name} - - description: | - In multiprocessing configurations, the specified node was invalid. - value: ${../status/invalid-node:/name} -type: interface diff --git a/spec/if/rtems/sem/obtain.yml b/spec/if/rtems/sem/obtain.yml deleted file mode 100644 index 1e871069..00000000 --- a/spec/if/rtems/sem/obtain.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../options/option:/name} ${.:/params[1]/name} - - ${../types/interval:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_semaphore_obtain -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: option_set -- description: '%' - dir: null - name: timeout -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/sem/release.yml b/spec/if/rtems/sem/release.yml deleted file mode 100644 index 3cba85d4..00000000 --- a/spec/if/rtems/sem/release.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_semaphore_release -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/sem/set-priority.yml b/spec/if/rtems/sem/set-priority.yml deleted file mode 100644 index 7e01252d..00000000 --- a/spec/if/rtems/sem/set-priority.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/id:/name} ${.:/params[1]/name} - - ${../tasks/priority:/name} ${.:/params[2]/name} - - ${../tasks/priority:/name} *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_semaphore_set_priority -notes: null -params: -- description: '%' - dir: null - name: semaphore_id -- description: '%' - dir: null - name: scheduler_id -- description: '%' - dir: null - name: new_priority -- description: '%' - dir: null - name: old_priority -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/signal/catch.yml b/spec/if/rtems/signal/catch.yml deleted file mode 100644 index c4f07d9f..00000000 --- a/spec/if/rtems/signal/catch.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${asr-entry:/name} ${.:/params[0]/name} - - ${../modes/mode:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_signal_catch -notes: null -params: -- description: '%' - dir: null - name: asr_handler -- description: '%' - dir: null - name: mode_set -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/signal/group.yml b/spec/if/rtems/signal/group.yml deleted file mode 100644 index 3c1719e0..00000000 --- a/spec/if/rtems/signal/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Signal Manager provides the capabilities required for asynchronous - communication. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicSignal -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Signal Manager -text: | - The Classic API shall provide an interface to the Signal Manager. -type: interface diff --git a/spec/if/rtems/signal/header-2.yml b/spec/if/rtems/signal/header-2.yml deleted file mode 100644 index 6e6a854f..00000000 --- a/spec/if/rtems/signal/header-2.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the parts of the Signal Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/asr.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/signal/header.yml b/spec/if/rtems/signal/header.yml deleted file mode 100644 index 4f2ca30c..00000000 --- a/spec/if/rtems/signal/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the parts of the Signal Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/signal.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/signal/send.yml b/spec/if/rtems/signal/send.yml deleted file mode 100644 index c3d95d1a..00000000 --- a/spec/if/rtems/signal/send.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${set:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_signal_send -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: signal_set -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/signal/set.yml b/spec/if/rtems/signal/set.yml deleted file mode 100644 index c066a499..00000000 --- a/spec/if/rtems/signal/set.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header-2 -- role: interface-ingroup - uid: group -name: rtems_signal_set -notes: null -type: interface diff --git a/spec/if/rtems/status/group.yml b/spec/if/rtems/status/group.yml deleted file mode 100644 index b3c8a9e2..00000000 --- a/spec/if/rtems/status/group.yml +++ /dev/null @@ -1,18 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains the Classic API status codes and support functions. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicStatus -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Directive Status Codes -text: | - The Classic API shall provide an interface to directive status codes. -type: interface diff --git a/spec/if/rtems/status/header.yml b/spec/if/rtems/status/header.yml deleted file mode 100644 index 83cb2b38..00000000 --- a/spec/if/rtems/status/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the status codes provided by API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/status.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/status/is-equal.yml b/spec/if/rtems/status/is-equal.yml deleted file mode 100644 index 5e6e5d04..00000000 --- a/spec/if/rtems/status/is-equal.yml +++ /dev/null @@ -1,37 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true, if the left hand side status code is equal to the right hand - side status code, otherwise returns false. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: | - return ${.:/params[0]/name} == ${.:/params[1]/name}; - params: - - ${code:/name} ${.:/params[0]/name} - - ${code:/name} ${.:/params[1]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_are_statuses_equal -notes: null -params: -- description: is the left hand side status code. - dir: null - name: left_status_code -- description: is the right hand side status code. - dir: null - name: right_status_code -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/status/is-successful.yml b/spec/if/rtems/status/is-successful.yml deleted file mode 100644 index 78c8ac18..00000000 --- a/spec/if/rtems/status/is-successful.yml +++ /dev/null @@ -1,33 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true, if the status code is ${successful:/name}, otherwise - returns false. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: | - return ${.:/params[0]/name} == ${successful:/name}; - params: - - ${code:/name} ${.:/params[0]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_is_status_successful -notes: null -params: -- description: is the status code. - dir: null - name: status_code -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/support/group.yml b/spec/if/rtems/support/group.yml deleted file mode 100644 index dac46e84..00000000 --- a/spec/if/rtems/support/group.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Items of this group should move to other groups. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicSupport -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Support Services -text: | - The Classic API should not provide this interface part. -type: interface diff --git a/spec/if/rtems/support/header.yml b/spec/if/rtems/support/header.yml deleted file mode 100644 index f21a705c..00000000 --- a/spec/if/rtems/support/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines support services of the API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/support.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/support/is-name-valid.yml b/spec/if/rtems/support/is-name-valid.yml deleted file mode 100644 index b14ceb99..00000000 --- a/spec/if/rtems/support/is-name-valid.yml +++ /dev/null @@ -1,36 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns true, if the specified object name is valid, otherwise returns false. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: | - return ${.:/params[0]/name} != 0; - params: - - ${../status/code:/name} ${.:/params[0]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_is_name_valid -notes: null -params: -- description: is the object name to check. - dir: null - name: name -return: - return: null - return-values: - - description: The specified object name is valid. - value: 'true' - - description: Otherwise. - value: 'false' -type: interface diff --git a/spec/if/rtems/support/microseconds-to-ticks.yml b/spec/if/rtems/support/microseconds-to-ticks.yml deleted file mode 100644 index ef12c596..00000000 --- a/spec/if/rtems/support/microseconds-to-ticks.yml +++ /dev/null @@ -1,31 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the number of clock ticks for the specified microseconds value. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ( ( ${.:/params[0]/name} ) / ${../config/get-microseconds-per-tick:/name}() ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_MICROSECONDS_TO_TICKS -notes: | - The number of clock ticks per second is defined by the - ${/if/acfg/microseconds-per-tick:/name} application configuration option. -params: -- description: is the microseconds value to convert to clock ticks. - dir: null - name: _us -return: - return: | - The number of clock ticks for the specified microseconds value is returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/support/milliseconds-to-ticks.yml b/spec/if/rtems/support/milliseconds-to-ticks.yml deleted file mode 100644 index 49605934..00000000 --- a/spec/if/rtems/support/milliseconds-to-ticks.yml +++ /dev/null @@ -1,31 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the number of clock ticks for the specified milliseconds value. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${microseconds-to-ticks:/name}( ${milliseconds-to-microseconds:/name}( ${.:/params[0]/name} ) ) - variants: [] -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_MILLISECONDS_TO_TICKS -notes: | - The number of clock ticks per second is defined by the - ${/if/acfg/microseconds-per-tick:/name} application configuration option. -params: -- description: is the milliseconds value to convert to clock ticks. - dir: null - name: _ms -return: - return: | - The number of clock ticks for the specified milliseconds value is returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/support/name-to-characters.yml b/spec/if/rtems/support/name-to-characters.yml deleted file mode 100644 index 8d4225a1..00000000 --- a/spec/if/rtems/support/name-to-characters.yml +++ /dev/null @@ -1,51 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Breaks the object name into the four component characters. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: | - *${.:/params[1]/name} = (char) ( ${.:/params[0]/name} >> 24 ); - *${.:/params[2]/name} = (char) ( ${.:/params[0]/name} >> 16 ); - *${.:/params[3]/name} = (char) ( ${.:/params[0]/name} >> 8 ); - *${.:/params[4]/name} = (char) ${.:/params[0]/name}; - params: - - ${../types/name:/name} ${.:/params[0]/name} - - char *${.:/params[1]/name} - - char *${.:/params[2]/name} - - char *${.:/params[3]/name} - - char *${.:/params[4]/name} - return: void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_name_to_characters -notes: null -params: -- description: is the object name to break into four component characters. - dir: null - name: name -- description: is the first character of the object name. - dir: out - name: c1 -- description: is the second character of the object name. - dir: out - name: c2 -- description: is the third character of the object name. - dir: out - name: c3 -- description: is the fourth character of the object name. - dir: out - name: c4 -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/support/workspace-allocate.yml b/spec/if/rtems/support/workspace-allocate.yml deleted file mode 100644 index 530b71fb..00000000 --- a/spec/if/rtems/support/workspace-allocate.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/size_t:/name} ${.:/params[0]/name} - - void **${.:/params[1]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_workspace_allocate -notes: null -params: -- description: '%' - dir: null - name: bytes -- description: '%' - dir: null - name: pointer -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/support/workspace-free.yml b/spec/if/rtems/support/workspace-free.yml deleted file mode 100644 index 58d184d5..00000000 --- a/spec/if/rtems/support/workspace-free.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - void *${.:/params[0]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_workspace_free -notes: null -params: -- description: '%' - dir: null - name: pointer -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/support/workspace-get-information.yml b/spec/if/rtems/support/workspace-get-information.yml deleted file mode 100644 index 8317f181..00000000 --- a/spec/if/rtems/support/workspace-get-information.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/impl/heap/information-block:/name} *${.:/params[0]/name} - return: ${/if/c/bool:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_workspace_get_information -notes: null -params: -- description: '%' - dir: null - name: the_info -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/support/workspace-greedy-allocate-all-except-largest.yml b/spec/if/rtems/support/workspace-greedy-allocate-all-except-largest.yml deleted file mode 100644 index d1b74c56..00000000 --- a/spec/if/rtems/support/workspace-greedy-allocate-all-except-largest.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${/if/c/uintptr_t:/name} *${.:/params[0]/name} - return: void * - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_workspace_greedy_allocate_all_except_largest -notes: null -params: -- description: '%' - dir: null - name: allocatable_size -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/support/workspace-greedy-allocate.yml b/spec/if/rtems/support/workspace-greedy-allocate.yml deleted file mode 100644 index b9a5d599..00000000 --- a/spec/if/rtems/support/workspace-greedy-allocate.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - const ${/if/c/uintptr_t:/name} *${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - return: void * - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_workspace_greedy_allocate -notes: null -params: -- description: '%' - dir: null - name: block_sizes -- description: '%' - dir: null - name: block_count -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/argument.yml b/spec/if/rtems/tasks/argument.yml deleted file mode 100644 index c152b9ec..00000000 --- a/spec/if/rtems/tasks/argument.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type is used to represent task argument values. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/cpu/uint32ptr:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_argument -notes: | - The type is an architecture-specific unsigned integer type which is large - enough to represent pointer values and 32-bit unsigned integers. -type: interface diff --git a/spec/if/rtems/tasks/config.yml b/spec/if/rtems/tasks/config.yml deleted file mode 100644 index f09fc1a1..00000000 --- a/spec/if/rtems/tasks/config.yml +++ /dev/null @@ -1,109 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This structure defines the configuration of a task constructed by - ${construct:/name}. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: -- default: - brief: | - This member defines the name of the task. - definition: ${../types/name:/name} ${.:name} - description: null - kind: member - name: name - variants: [] -- default: - brief: | - This member defines the initial priority of the task. - definition: ${priority:/name} ${.:name} - description: null - kind: member - name: initial_priority - variants: [] -- default: - brief: | - This member shall point to the task storage area begin. - definition: void *${.:name} - description: | - The task storage area will contain the task stack, the thread-local - storage, and the floating-point context on architectures with a separate - floating-point context. - - The task storage area begin address and size should be aligned by - ${storage-alignment:/name}. To avoid memory waste, use - ${../basedefs/aligned:/name} and ${storage-alignment:/name} to enforce - the recommended alignment of a statically allocated task storage area. - kind: member - name: storage_area - variants: [] -- default: - brief: | - This member defines size of the task storage area in bytes. - definition: ${../../c/size_t:/name} ${.:name} - description: | - Use the ${storage-size:/name} macro to determine the recommended task - storage area size. - kind: member - name: storage_size - variants: [] -- default: - brief: | - This member defines the maximum thread-local storage size supported by the - task storage area. - definition: ${../../c/size_t:/name} ${.:name} - description: | - Use ${../basedefs/align-up:/name} and ${storage-alignment:/name} to - adjust the size to meet the minimum alignment requirement of a - thread-local storage area used to construct a task. - - If the value is less than the actual thread-local storage size, then the - task construction by ${construct:/name} fails. - - If the is less than the task storage area size, then the task - construction by ${construct:/name} fails. - kind: member - name: maximum_thread_local_storage_size - variants: [] -- default: - brief: | - This member defines the optional handler to free the task storage area. - definition: void ( *${.:name} )( void * ) - description: | - It is called on exactly two mutually exclusive occasions. Firstly, when - the task construction aborts due to a failed task create extension, or - secondly, when the task is deleted. It is called from task context under - protection of the object allocator lock. It is allowed to call free() in - this handler. If handler is ${../../c/null:/name}, then no action will - be performed. - kind: member - name: storage_free - variants: [] -- default: - brief: | - This member defines the initial modes of the task. - definition: ${../modes/mode:/name} ${.:name} - description: null - kind: member - name: initial_modes - variants: [] -- default: - brief: | - This member defines the attributes of the task. - definition: ${../attr/attribute:/name} ${.:name} - description: null - kind: member - name: attributes - variants: [] -definition-kind: typedef-only -description: null -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_config -notes: null -type: interface diff --git a/spec/if/rtems/tasks/construct.yml b/spec/if/rtems/tasks/construct.yml deleted file mode 100644 index 329b4b83..00000000 --- a/spec/if/rtems/tasks/construct.yml +++ /dev/null @@ -1,91 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Creates a task from the specified the task configuration. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: - body: null - params: - - const ${config:/name} *${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_construct -notes: | - In contrast to tasks created by ${create:/name}, the tasks constructed by - this directive use a user-provided task storage area. The task storage area - contains the task stack, the thread-local storage, and the floating-point - context on architectures with a separate floating-point context. - - It is not recommended to mix ${create:/name} and ${.:/name} in an - application. This directive is intended for applications which do not want - to use the RTEMS Workspace and instead statically allocate all operating - system resources. The stack space estimate done by <rtems/confdefs.h> - assumes that all tasks are created by ${create:/name}. The estimate can be - adjusted to take user-provided task storage areas into account through the - ${../../acfg/min-tasks-with-user-provided-storage:/name} application - configuration option. -params: -- description: is the task configuration. - dir: null - name: config -- description: | - is the pointer to an object identifier variable. The identifier of the - constructed task object will be stored in this variable, in case of a - successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The task name was invalid. - value: ${../status/invalid-name:/name} - - description: | - The initial task priority was invalid. - value: ${../status/invalid-priority:/name} - - description: | - The thread-local storage size is greater than the maximum thread-local - storage size specified in the task configuration. The thread-local - storage size is determined by the thread-local variables used by the - application and ${../../acfg/max-thread-local-storage-size:/name}. - value: ${../status/invalid-size:/name} - - description: | - The task storage area was too small to provide a task stack of the - configured minimum size, see ${../../acfg/min-task-stack-size:/name}. - The task storage area contains the task stack, the thread-local storage, - and the floating-point context on architectures with a separate - floating-point context. - value: ${../status/invalid-size:/name} - - description: | - There was no inactive task object available to construct a task. - value: ${../status/too-many:/name} - - description: | - In multiprocessing configurations, there was no inactive global object - available to construct a global task. - value: ${../status/too-many:/name} - - description: | - One of the task create extensions failed during the task construction. - value: ${../status/unsatisfied:/name} - - description: | - In SMP configurations, the non-preemption mode was not supported. - value: ${../status/unsatisfied:/name} - - description: | - In SMP configurations, the interrupt level mode was not supported. - value: ${../status/unsatisfied:/name} -type: interface diff --git a/spec/if/rtems/tasks/create.yml b/spec/if/rtems/tasks/create.yml deleted file mode 100644 index bed3c123..00000000 --- a/spec/if/rtems/tasks/create.yml +++ /dev/null @@ -1,101 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Creates a task object. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${priority:/name} ${.:/params[1]/name} - - ${/if/c/size_t:/name} ${.:/params[2]/name} - - ${../modes/mode:/name} ${.:/params[3]/name} - - ${../attr/attribute:/name} ${.:/params[4]/name} - - ${../types/id:/name} *${.:/params[5]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive creates a task which resides on the local node. It allocates - and initializes a TCB, a stack, and an optional floating point context area. - The mode parameter contains values which sets the task’s initial execution - mode. The RTEMS_FLOATING_POINT attribute should be specified if the created - task is to use a numeric coprocessor. For performance reasons, it is - recommended that tasks not using the numeric coprocessor should specify the - RTEMS_NO_FLOATING_POINT attribute. If the RTEMS_GLOBAL attribute is - specified, the task can be accessed from remote nodes. The task id, returned - in id, is used in other task related directives to access the task. When - created, a task is placed in the dormant state and can only be made ready to - execute using the directive rtems_task_start(). -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_create -notes: null -params: -- description: is the user-defined task name. - dir: null - name: name -- description: is the initial task priority. - dir: null - name: initial_priority -- description: is the task stack size in bytes. - dir: null - name: stack_size -- description: is the initial task mode. - dir: null - name: initial_modes -- description: is the task attribute set. - dir: null - name: attribute_set -- description: | - is the pointer to an object identifier variable. The object identifier of - the new task will be stored in this variable, in case of a successful - operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[5]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The task name was invalid. - value: ${../status/invalid-name:/name} - - description: | - The initial task priority was invalid. - value: ${../status/invalid-priority:/name} - - description: | - The multiprocessing support was not configured. - value: ${../status/mp-not-configured:/name} - - description: | - There was no inactive task object available to create a new task. - value: ${../status/too-many:/name} - - description: | - In multiprocessing configurations, there was no inactive global object - available to create a new global task. - value: ${../status/too-many:/name} - - description: | - There was not enough memory to allocate the task storage area. The task - storage area contains the task stack, the thread-local storage, and the - floating point context. - value: ${../status/unsatisfied:/name} - - description: | - One of the task create extensions failed to create the new task. - value: ${../status/unsatisfied:/name} - - description: | - In SMP configurations, the non-preemption mode was not supported. - value: ${../status/unsatisfied:/name} - - description: | - In SMP configurations, the interrupt level mode was not supported. - value: ${../status/unsatisfied:/name} -type: interface diff --git a/spec/if/rtems/tasks/delete.yml b/spec/if/rtems/tasks/delete.yml deleted file mode 100644 index dc327d72..00000000 --- a/spec/if/rtems/tasks/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/exit.yml b/spec/if/rtems/tasks/exit.yml deleted file mode 100644 index d518e9a4..00000000 --- a/spec/if/rtems/tasks/exit.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${/if/rtems/basedefs/no-return:/name} void - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_exit -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/get-affinity.yml b/spec/if/rtems/tasks/get-affinity.yml deleted file mode 100644 index 5c41755e..00000000 --- a/spec/if/rtems/tasks/get-affinity.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - - ${/if/c/cpu_set_t:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_get_affinity -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: cpusetsize -- description: '%' - dir: null - name: cpuset -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/get-priority.yml b/spec/if/rtems/tasks/get-priority.yml deleted file mode 100644 index 0b28f3b8..00000000 --- a/spec/if/rtems/tasks/get-priority.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/id:/name} ${.:/params[1]/name} - - ${priority:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_get_priority -notes: null -params: -- description: '%' - dir: null - name: task_id -- description: '%' - dir: null - name: scheduler_id -- description: '%' - dir: null - name: priority -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/get-scheduler.yml b/spec/if/rtems/tasks/get-scheduler.yml deleted file mode 100644 index 7a299529..00000000 --- a/spec/if/rtems/tasks/get-scheduler.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_get_scheduler -notes: null -params: -- description: '%' - dir: null - name: task_id -- description: '%' - dir: null - name: scheduler_id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/group.yml b/spec/if/rtems/tasks/group.yml deleted file mode 100644 index d3ee1d29..00000000 --- a/spec/if/rtems/tasks/group.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Task Manager provides a comprehensive set of directives to create, - delete, and administer tasks. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicTasks -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Task Manager -text: | - The Classic API shall provide an interface to the Task Manager. -type: interface diff --git a/spec/if/rtems/tasks/header.yml b/spec/if/rtems/tasks/header.yml deleted file mode 100644 index 2f0d15b5..00000000 --- a/spec/if/rtems/tasks/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the main parts of the Tasks Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/tasks.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/tasks/ident.yml b/spec/if/rtems/tasks/ident.yml deleted file mode 100644 index 3217c997..00000000 --- a/spec/if/rtems/tasks/ident.yml +++ /dev/null @@ -1,85 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a task object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${/if/c/uint32_t:/name} ${.:/params[1]/name} - - ${../types/id:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the task identifier associated with the task name - specified in ``${.:/params[0]/name}``. - - A task may obtain its own identifier by specifying ${self-define:/name} for - the name. - - The node to search is specified in ``${.:/params[1]/name}``. It shall be - - * a valid node number, - - * the constant ${../object/search-all-nodes:/name} to search in all nodes, - - * the constant ${../object/search-local-node:/name} to search in the local - node only, or - - * the constant ${../object/search-other-nodes:/name} to search in all nodes - except the local node. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_ident -notes: | - If the task name is not unique, then the task identifier will match the first - task with that name in the search order. However, this task identifier is - not guaranteed to correspond to the desired task. The task identifier is - used with other task related directives to access the task. - - If node is ${../object/search-all-nodes:/name}, all nodes are searched with - the local node being searched first. All other nodes are searched with the - lowest numbered node searched first. - - If node is a valid node number which does not represent the local node, then - only the tasks exported by the designated node are searched. - - This directive does not generate activity on remote nodes. It accesses only - the local copy of the global object table. -params: -- description: is the object name to look up. - dir: null - name: name -- description: is the node or node set to search for a matching object. - dir: null - name: node -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[2]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - There was no object with the specified name on the specified nodes. - value: ${../status/invalid-name:/name} - - description: | - In multiprocessing configurations, the specified node was invalid. - value: ${../status/invalid-node:/name} -type: interface diff --git a/spec/if/rtems/tasks/initialization-table.yml b/spec/if/rtems/tasks/initialization-table.yml deleted file mode 100644 index 075a8c2a..00000000 --- a/spec/if/rtems/tasks/initialization-table.yml +++ /dev/null @@ -1,67 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: -- default: - brief: '%' - definition: ${../types/name:/name} ${.:name} - description: '%' - kind: member - name: name - variants: [] -- default: - brief: '%' - definition: ${/if/c/size_t:/name} ${.:name} - description: '%' - kind: member - name: stack_size - variants: [] -- default: - brief: '%' - definition: ${priority:/name} ${.:name} - description: '%' - kind: member - name: initial_priority - variants: [] -- default: - brief: '%' - definition: ${../attr/attribute:/name} ${.:name} - description: '%' - kind: member - name: attribute_set - variants: [] -- default: - brief: '%' - definition: ${entry:/name} ${.:name} - description: '%' - kind: member - name: entry_point - variants: [] -- default: - brief: '%' - definition: ${../modes/mode:/name} ${.:name} - description: '%' - kind: member - name: mode_set - variants: [] -- default: - brief: '%' - definition: ${argument:/name} ${.:name} - description: '%' - kind: member - name: argument - variants: [] -definition-kind: typedef-only -description: null -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_initialization_tasks_table -notes: null -type: interface diff --git a/spec/if/rtems/tasks/is-suspended.yml b/spec/if/rtems/tasks/is-suspended.yml deleted file mode 100644 index 38b06796..00000000 --- a/spec/if/rtems/tasks/is-suspended.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_is_suspended -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/maximum-priority.yml b/spec/if/rtems/tasks/maximum-priority.yml deleted file mode 100644 index 18d78663..00000000 --- a/spec/if/rtems/tasks/maximum-priority.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/maximum-priority:/name}() - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_MAXIMUM_PRIORITY -notes: null -type: interface diff --git a/spec/if/rtems/tasks/minimum-stack-size.yml b/spec/if/rtems/tasks/minimum-stack-size.yml deleted file mode 100644 index 07934da6..00000000 --- a/spec/if/rtems/tasks/minimum-stack-size.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/stack/minimum-size:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_MINIMUM_STACK_SIZE -notes: null -type: interface diff --git a/spec/if/rtems/tasks/mode.yml b/spec/if/rtems/tasks/mode.yml deleted file mode 100644 index 56744314..00000000 --- a/spec/if/rtems/tasks/mode.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../modes/mode:/name} ${.:/params[0]/name} - - ${../modes/mode:/name} ${.:/params[1]/name} - - ${../modes/mode:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_mode -notes: null -params: -- description: '%' - dir: null - name: mode_set -- description: '%' - dir: null - name: mask -- description: '%' - dir: null - name: previous_mode_set -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/priority.yml b/spec/if/rtems/tasks/priority.yml deleted file mode 100644 index 9c5d58bf..00000000 --- a/spec/if/rtems/tasks/priority.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/uint32_t:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_priority -notes: null -type: interface diff --git a/spec/if/rtems/tasks/restart.yml b/spec/if/rtems/tasks/restart.yml deleted file mode 100644 index 7822c74f..00000000 --- a/spec/if/rtems/tasks/restart.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${argument:/name} ${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_restart -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/resume.yml b/spec/if/rtems/tasks/resume.yml deleted file mode 100644 index a7836475..00000000 --- a/spec/if/rtems/tasks/resume.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_resume -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/self-define.yml b/spec/if/rtems/tasks/self-define.yml deleted file mode 100644 index 00ae6657..00000000 --- a/spec/if/rtems/tasks/self-define.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/object/id-of-self:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_SELF -notes: null -type: interface diff --git a/spec/if/rtems/tasks/self.yml b/spec/if/rtems/tasks/self.yml deleted file mode 100644 index 92eef6d1..00000000 --- a/spec/if/rtems/tasks/self.yml +++ /dev/null @@ -1,26 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: [] - return: ${../types/id:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_self -notes: null -params: [] -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/set-affinity.yml b/spec/if/rtems/tasks/set-affinity.yml deleted file mode 100644 index 60728569..00000000 --- a/spec/if/rtems/tasks/set-affinity.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - - const ${/if/c/cpu_set_t:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_set_affinity -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: cpusetsize -- description: '%' - dir: null - name: cpuset -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/set-priority.yml b/spec/if/rtems/tasks/set-priority.yml deleted file mode 100644 index 84069185..00000000 --- a/spec/if/rtems/tasks/set-priority.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${priority:/name} ${.:/params[1]/name} - - ${priority:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_set_priority -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: new_priority -- description: '%' - dir: null - name: old_priority -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/set-scheduler.yml b/spec/if/rtems/tasks/set-scheduler.yml deleted file mode 100644 index 8157f21d..00000000 --- a/spec/if/rtems/tasks/set-scheduler.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/id:/name} ${.:/params[1]/name} - - ${priority:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_set_scheduler -notes: null -params: -- description: '%' - dir: null - name: task_id -- description: '%' - dir: null - name: scheduler_id -- description: '%' - dir: null - name: priority -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/start.yml b/spec/if/rtems/tasks/start.yml deleted file mode 100644 index 4cca4eb6..00000000 --- a/spec/if/rtems/tasks/start.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${entry:/name} ${.:/params[1]/name} - - ${argument:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_start -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: entry_point -- description: '%' - dir: null - name: argument -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/storage-alignment.yml b/spec/if/rtems/tasks/storage-alignment.yml deleted file mode 100644 index 6a8f677c..00000000 --- a/spec/if/rtems/tasks/storage-alignment.yml +++ /dev/null @@ -1,22 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This constant defines the recommended alignment of a task storage area in - bytes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${../../impl/cpu/heap-alignment:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_TASK_STORAGE_ALIGNMENT -notes: | - Use it with ${../basedefs/aligned:/name} to define the alignment of a - statically allocated task storage area. -type: interface diff --git a/spec/if/rtems/tasks/storage-size.yml b/spec/if/rtems/tasks/storage-size.yml deleted file mode 100644 index 3ae85838..00000000 --- a/spec/if/rtems/tasks/storage-size.yml +++ /dev/null @@ -1,41 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Returns the recommended task storage area size for the specified size and task - attributes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: | - ( ( ${.:/params[0]/name} ) + - ( ( ( ${.:/params[1]/name} ) & ${../attr/floating-point:/name} ) != 0 ? - ${../../impl/context/fp-size:/name} : 0 ) ) - variants: - - definition: | - ( ( ${.:/params[0]/name} ) + ${../../impl/context/fp-size:/name} ) - enabled-by: - - ${../../impl/cpu/all-tasks-are-fp:/name} == ${../basedefs/true:/name} -description: null -enabled-by: true -interface-type: macro -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_TASK_STORAGE_SIZE -notes: null -params: -- description: | - is the size dedicated to the task stack and thread-local storage in bytes. - dir: null - name: _size -- description: | - is the attribute set of the task using the storage area. - dir: null - name: _attributes -return: - return: | - The recommended task storage area size calculated from the input parameters - is returned. - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/suspend.yml b/spec/if/rtems/tasks/suspend.yml deleted file mode 100644 index 6b24ae13..00000000 --- a/spec/if/rtems/tasks/suspend.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_suspend -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/visitor.yml b/spec/if/rtems/tasks/visitor.yml deleted file mode 100644 index a127b8a9..00000000 --- a/spec/if/rtems/tasks/visitor.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/c/bool:/name}( *${.:/name} )( ${tcb:/name} *, void * ) - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_visitor -notes: null -type: interface diff --git a/spec/if/rtems/tasks/wake-after.yml b/spec/if/rtems/tasks/wake-after.yml deleted file mode 100644 index 9e5b4350..00000000 --- a/spec/if/rtems/tasks/wake-after.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/interval:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_wake_after -notes: null -params: -- description: '%' - dir: null - name: ticks -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/wake-when.yml b/spec/if/rtems/tasks/wake-when.yml deleted file mode 100644 index 15e336ab..00000000 --- a/spec/if/rtems/tasks/wake-when.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/time-of-day:/name} *${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_wake_when -notes: null -params: -- description: '%' - dir: null - name: time_buffer -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/tasks/yield-processor.yml b/spec/if/rtems/tasks/yield-processor.yml deleted file mode 100644 index 9909fb4c..00000000 --- a/spec/if/rtems/tasks/yield-processor.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/watchdog/no-timeout:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_YIELD_PROCESSOR -notes: null -type: interface diff --git a/spec/if/rtems/timer/cancel.yml b/spec/if/rtems/timer/cancel.yml deleted file mode 100644 index 4b7d9062..00000000 --- a/spec/if/rtems/timer/cancel.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_cancel -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/create.yml b/spec/if/rtems/timer/create.yml deleted file mode 100644 index 913b1728..00000000 --- a/spec/if/rtems/timer/create.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/delete.yml b/spec/if/rtems/timer/delete.yml deleted file mode 100644 index 4af75275..00000000 --- a/spec/if/rtems/timer/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/fire-after.yml b/spec/if/rtems/timer/fire-after.yml deleted file mode 100644 index 675cf982..00000000 --- a/spec/if/rtems/timer/fire-after.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/interval:/name} ${.:/params[1]/name} - - ${service-routine-entry:/name} ${.:/params[2]/name} - - void *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_fire_after -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: ticks -- description: '%' - dir: null - name: routine -- description: '%' - dir: null - name: user_data -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/fire-when.yml b/spec/if/rtems/timer/fire-when.yml deleted file mode 100644 index bfffc935..00000000 --- a/spec/if/rtems/timer/fire-when.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/time-of-day:/name} *${.:/params[1]/name} - - ${service-routine-entry:/name} ${.:/params[2]/name} - - void *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_fire_when -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: wall_time -- description: '%' - dir: null - name: routine -- description: '%' - dir: null - name: user_data -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/get-information.yml b/spec/if/rtems/timer/get-information.yml deleted file mode 100644 index 9ec1c598..00000000 --- a/spec/if/rtems/timer/get-information.yml +++ /dev/null @@ -1,34 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${information:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_get_information -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: the_info -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/group.yml b/spec/if/rtems/timer/group.yml deleted file mode 100644 index bfccfeec..00000000 --- a/spec/if/rtems/timer/group.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The Timer Manager provides support for timer facilities. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicTimer -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Timer Manager -text: | - The Classic API shall provide an interface to the Timer Manager. -type: interface diff --git a/spec/if/rtems/timer/header.yml b/spec/if/rtems/timer/header.yml deleted file mode 100644 index aee0329a..00000000 --- a/spec/if/rtems/timer/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the Timer Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/timer.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/timer/ident.yml b/spec/if/rtems/timer/ident.yml deleted file mode 100644 index ade9ffcc..00000000 --- a/spec/if/rtems/timer/ident.yml +++ /dev/null @@ -1,59 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies a timer object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the timer identifier associated with the timer name - specified in ``${.:/params[0]/name}``. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_ident -notes: | - If the timer name is not unique, then the timer identifier will match the - first timer with that name in the search order. However, this timer - identifier is not guaranteed to correspond to the desired timer. The timer - identifier is used with other timer related directives to access the timer. - - The objects are searched from lowest to the highest index. Only the local - node is searched. -params: -- description: is the object name to look up. - dir: null - name: name -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the local node. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/timer/information.yml b/spec/if/rtems/timer/information.yml deleted file mode 100644 index e71cfd2f..00000000 --- a/spec/if/rtems/timer/information.yml +++ /dev/null @@ -1,50 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: -- default: - brief: | - This member is - definition: ${classes:/name} ${.:name} - description: '%' - kind: member - name: the_class - variants: [] -- default: - brief: | - This member is - definition: ${/if/impl/watchdog/interval:/name} ${.:name} - description: '%' - kind: member - name: initial - variants: [] -- default: - brief: | - This member is - definition: ${/if/impl/watchdog/interval:/name} ${.:name} - description: '%' - kind: member - name: start_time - variants: [] -- default: - brief: | - This member is - definition: ${/if/impl/watchdog/interval:/name} ${.:name} - description: '%' - kind: member - name: stop_time - variants: [] -definition-kind: typedef-only -description: null -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_information -notes: null -type: interface diff --git a/spec/if/rtems/timer/initiate-server.yml b/spec/if/rtems/timer/initiate-server.yml deleted file mode 100644 index 872fb968..00000000 --- a/spec/if/rtems/timer/initiate-server.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../tasks/priority:/name} ${.:/params[0]/name} - - ${/if/c/size_t:/name} ${.:/params[1]/name} - - ${../attr/attribute:/name} ${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_initiate_server -notes: null -params: -- description: '%' - dir: null - name: priority -- description: '%' - dir: null - name: stack_size -- description: '%' - dir: null - name: attribute_set -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/reset.yml b/spec/if/rtems/timer/reset.yml deleted file mode 100644 index 75c49ef4..00000000 --- a/spec/if/rtems/timer/reset.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_reset -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/server-default-priority.yml b/spec/if/rtems/timer/server-default-priority.yml deleted file mode 100644 index 6d49d20a..00000000 --- a/spec/if/rtems/timer/server-default-priority.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ( (${../tasks/priority:/name}) -1 ) - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_TIMER_SERVER_DEFAULT_PRIORITY -notes: null -type: interface diff --git a/spec/if/rtems/timer/server-fire-after.yml b/spec/if/rtems/timer/server-fire-after.yml deleted file mode 100644 index dc250bef..00000000 --- a/spec/if/rtems/timer/server-fire-after.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/interval:/name} ${.:/params[1]/name} - - ${service-routine-entry:/name} ${.:/params[2]/name} - - void *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_server_fire_after -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: ticks -- description: '%' - dir: null - name: routine -- description: '%' - dir: null - name: user_data -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/server-fire-when.yml b/spec/if/rtems/timer/server-fire-when.yml deleted file mode 100644 index 906350d3..00000000 --- a/spec/if/rtems/timer/server-fire-when.yml +++ /dev/null @@ -1,42 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - - ${../types/time-of-day:/name} *${.:/params[1]/name} - - ${service-routine-entry:/name} ${.:/params[2]/name} - - void *${.:/params[3]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_server_fire_when -notes: null -params: -- description: '%' - dir: null - name: id -- description: '%' - dir: null - name: wall_time -- description: '%' - dir: null - name: routine -- description: '%' - dir: null - name: user_data -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/timer/service-routine-entry.yml b/spec/if/rtems/timer/service-routine-entry.yml deleted file mode 100644 index 580f86c5..00000000 --- a/spec/if/rtems/timer/service-routine-entry.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ${service-routine:/name} ( *${.:/name} )( ${../types/id:/name}, void * ) - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_timer_service_routine_entry -notes: null -type: interface diff --git a/spec/if/rtems/types/group.yml b/spec/if/rtems/types/group.yml deleted file mode 100644 index d7a1aa7f..00000000 --- a/spec/if/rtems/types/group.yml +++ /dev/null @@ -1,18 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This group contains basic types of the Classic API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -description: null -enabled-by: true -identifier: RTEMSAPIClassicTypes -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: Basic Types -text: | - The Classic API shall provide an interface to basic types. -type: interface diff --git a/spec/if/rtems/types/header.yml b/spec/if/rtems/types/header.yml deleted file mode 100644 index 3a6774a1..00000000 --- a/spec/if/rtems/types/header.yml +++ /dev/null @@ -1,27 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines types provided by the API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- enabled-by: true - role: interface-include - uid: /if/c/sys-cpuset -- enabled-by: true - role: interface-include - uid: /if/c/sys-impl-timespec -- enabled-by: true - role: interface-include - uid: /if/c/sys-impl-timeval -- enabled-by: true - role: interface-include - uid: /if/rtems/modes/header -- enabled-by: RTEMS_MULTIPROCESSING - role: interface-include - uid: /if/impl/mpci/header -- role: interface-placement - uid: /if/domains/api -path: rtems/rtems/types.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/types/id-none.yml b/spec/if/rtems/types/id-none.yml deleted file mode 100644 index 1c51dcc4..00000000 --- a/spec/if/rtems/types/id-none.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This is an invalid object identifier. -copyrights: -- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/object/id-none:/name} - variants: [] -description: | - No object can have this identifier. -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_ID_NONE -notes: null -type: interface diff --git a/spec/if/rtems/types/id.yml b/spec/if/rtems/types/id.yml deleted file mode 100644 index 8c5489ef..00000000 --- a/spec/if/rtems/types/id.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Values of this type identify an object. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/object/id:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_id -notes: null -type: interface diff --git a/spec/if/rtems/types/interval.yml b/spec/if/rtems/types/interval.yml deleted file mode 100644 index da47e8eb..00000000 --- a/spec/if/rtems/types/interval.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type is used to represent clock tick intervals. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/watchdog/interval:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_interval -notes: null -type: interface diff --git a/spec/if/rtems/types/minimum-packet-size.yml b/spec/if/rtems/types/minimum-packet-size.yml deleted file mode 100644 index 3709927b..00000000 --- a/spec/if/rtems/types/minimum-packet-size.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/mpci/packet-minimum-size:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_MINIMUM_PACKET_SIZE -notes: null -type: interface diff --git a/spec/if/rtems/types/minimun-hetero-conversion.yml b/spec/if/rtems/types/minimun-hetero-conversion.yml deleted file mode 100644 index 24257516..00000000 --- a/spec/if/rtems/types/minimun-hetero-conversion.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/mpci/packet-minimum-hetero-conversion:/name} - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_MINIMUN_HETERO_CONVERSION -notes: null -type: interface diff --git a/spec/if/rtems/types/mp-packet-classes.yml b/spec/if/rtems/types/mp-packet-classes.yml deleted file mode 100644 index 7fe76469..00000000 --- a/spec/if/rtems/types/mp-packet-classes.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This enumerated type defines the packet classes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/mpci/packet-classes:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mp_packet_classes -notes: null -type: interface diff --git a/spec/if/rtems/types/mpci-get-packet-entry.yml b/spec/if/rtems/types/mpci-get-packet-entry.yml deleted file mode 100644 index 1ad253b9..00000000 --- a/spec/if/rtems/types/mpci-get-packet-entry.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the prototype for the get packet entry point in an MPCI. -copyrights: -- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/mpci/get-packet-entry:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mpci_get_packet_entry -notes: null -type: interface diff --git a/spec/if/rtems/types/mpci-initialization-entry.yml b/spec/if/rtems/types/mpci-initialization-entry.yml deleted file mode 100644 index 8e41ca46..00000000 --- a/spec/if/rtems/types/mpci-initialization-entry.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the prototype for the initialization entry point in an - MPCI. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/mpci/initialization-entry:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mpci_initialization_entry -notes: null -type: interface diff --git a/spec/if/rtems/types/mpci-receive-packet-entry.yml b/spec/if/rtems/types/mpci-receive-packet-entry.yml deleted file mode 100644 index af6ef08f..00000000 --- a/spec/if/rtems/types/mpci-receive-packet-entry.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the prototype for the receive packet entry point in an - MPCI. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/mpci/receive-entry:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mpci_receive_packet_entry -notes: null -type: interface diff --git a/spec/if/rtems/types/mpci-return-packet-entry.yml b/spec/if/rtems/types/mpci-return-packet-entry.yml deleted file mode 100644 index 2406721c..00000000 --- a/spec/if/rtems/types/mpci-return-packet-entry.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the prototype for the return packet entry point in an MPCI. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/mpci/return-packet-entry:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mpci_return_packet_entry -notes: null -type: interface diff --git a/spec/if/rtems/types/mpci-send-packet-entry.yml b/spec/if/rtems/types/mpci-send-packet-entry.yml deleted file mode 100644 index cfef3345..00000000 --- a/spec/if/rtems/types/mpci-send-packet-entry.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the prototype for the send packet entry point in an MPCI. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/mpci/send-entry:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mpci_send_packet_entry -notes: null -type: interface diff --git a/spec/if/rtems/types/mpci-table.yml b/spec/if/rtems/types/mpci-table.yml deleted file mode 100644 index d0fe9439..00000000 --- a/spec/if/rtems/types/mpci-table.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the MPCI control. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/mpci/control:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_mpci_table -notes: null -type: interface diff --git a/spec/if/rtems/types/multiprocessing-table.yml b/spec/if/rtems/types/multiprocessing-table.yml deleted file mode 100644 index 0f61fad8..00000000 --- a/spec/if/rtems/types/multiprocessing-table.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the MPCI configuration table. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/mpci/configuration-type:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_multiprocessing_table -notes: null -type: interface diff --git a/spec/if/rtems/types/name.yml b/spec/if/rtems/types/name.yml deleted file mode 100644 index 7c47ef36..00000000 --- a/spec/if/rtems/types/name.yml +++ /dev/null @@ -1,22 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type is used to represent an Classic API object name. -copyrights: -- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/c/uint32_t:/name} rtems_name - variants: [] -description: | - It is an unsigned 32-bit integer which can be treated as a numeric value or - initialized using rtems_build_name() to encode four ASCII characters. A - value of zero may have a special meaning in some directives. -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_name -notes: null -type: interface diff --git a/spec/if/rtems/types/no-timeout.yml b/spec/if/rtems/types/no-timeout.yml deleted file mode 100644 index 92aef0a8..00000000 --- a/spec/if/rtems/types/no-timeout.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: | - ( (${interval:/name}) ${/if/impl/watchdog/no-timeout:/name} ) - variants: [] -description: null -enabled-by: true -interface-type: define -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: RTEMS_NO_TIMEOUT -notes: null -type: interface diff --git a/spec/if/rtems/types/packet-prefix.yml b/spec/if/rtems/types/packet-prefix.yml deleted file mode 100644 index 4959a84a..00000000 --- a/spec/if/rtems/types/packet-prefix.yml +++ /dev/null @@ -1,20 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type defines the prefix found at the beginning of each MPCI packet sent - between nodes. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: - default: ${/if/impl/mpci/packet-prefix:/name} ${.:/name} - variants: [] -description: null -enabled-by: RTEMS_MULTIPROCESSING -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_packet_prefix -notes: null -type: interface diff --git a/spec/if/rtems/types/time-of-day.yml b/spec/if/rtems/types/time-of-day.yml deleted file mode 100644 index 73a134bc..00000000 --- a/spec/if/rtems/types/time-of-day.yml +++ /dev/null @@ -1,75 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - This type is used to represent the calendar time in the Classic API. -copyrights: -- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) -definition: -- default: - brief: | - This member represents the year A.D. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: year - variants: [] -- default: - brief: | - This member represents the month of the year with values from 1 to 12. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: month - variants: [] -- default: - brief: | - This member represents the day of the month with values from 1 to 31. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: day - variants: [] -- default: - brief: | - This member represents the hour of the day with values from 0 to 23. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: hour - variants: [] -- default: - brief: | - This member represents the minute of the hour with values from 0 to 59. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: minute - variants: [] -- default: - brief: | - This member represents the second of the minute with values from 0 to 59. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: second - variants: [] -- default: - brief: | - This member represents the clock tick of the second with values from 0 to - rtems_clock_get_ticks_per_second() minus one. - definition: ${/if/c/uint32_t:/name} ${.:name} - description: null - kind: member - name: ticks - variants: [] -definition-kind: typedef-only -description: null -enabled-by: true -interface-type: struct -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_time_of_day -notes: null -type: interface diff --git a/spec/if/rtems/userext/create.yml b/spec/if/rtems/userext/create.yml deleted file mode 100644 index c27385b8..00000000 --- a/spec/if/rtems/userext/create.yml +++ /dev/null @@ -1,38 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - const ${table:/name} *${.:/params[1]/name} - - ${../types/id:/name} *${.:/params[2]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_extension_create -notes: null -params: -- description: '%' - dir: null - name: name -- description: '%' - dir: null - name: extension_table -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/userext/delete.yml b/spec/if/rtems/userext/delete.yml deleted file mode 100644 index e8ec0f1a..00000000 --- a/spec/if/rtems/userext/delete.yml +++ /dev/null @@ -1,30 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/id:/name} ${.:/params[0]/name} - return: ${../status/code:/name} - variants: [] -description: null -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_extension_delete -notes: null -params: -- description: '%' - dir: null - name: id -return: - return: null - return-values: [] -type: interface diff --git a/spec/if/rtems/userext/fatal-code.yml b/spec/if/rtems/userext/fatal-code.yml deleted file mode 100644 index 6420269b..00000000 --- a/spec/if/rtems/userext/fatal-code.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/interr/code:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_fatal_code -notes: null -type: interface diff --git a/spec/if/rtems/userext/fatal-source.yml b/spec/if/rtems/userext/fatal-source.yml deleted file mode 100644 index 0fbb36df..00000000 --- a/spec/if/rtems/userext/fatal-source.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/interr/source:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_fatal_source -notes: null -type: interface diff --git a/spec/if/rtems/userext/fatal.yml b/spec/if/rtems/userext/fatal.yml deleted file mode 100644 index ada72a91..00000000 --- a/spec/if/rtems/userext/fatal.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/fatal:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_fatal_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/group.yml b/spec/if/rtems/userext/group.yml deleted file mode 100644 index 827b234d..00000000 --- a/spec/if/rtems/userext/group.yml +++ /dev/null @@ -1,21 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - The User Extensions Manager allows the application developer to augment the - executive by allowing them to supply extension routines which are invoked at - critical system events. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -description: null -enabled-by: true -identifier: RTEMSAPIClassicUserext -interface-type: group -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: ../group -name: User Extensions Manager -text: | - The Classic API shall provide an interface to the User Extensions Manager. -type: interface diff --git a/spec/if/rtems/userext/header.yml b/spec/if/rtems/userext/header.yml deleted file mode 100644 index f0d29cfa..00000000 --- a/spec/if/rtems/userext/header.yml +++ /dev/null @@ -1,12 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: This header file defines the User Extensions Manager API. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: header-file -links: -- role: interface-placement - uid: /if/domains/api -path: rtems/extension.h -prefix: cpukit/include -type: interface diff --git a/spec/if/rtems/userext/ident.yml b/spec/if/rtems/userext/ident.yml deleted file mode 100644 index d52e6b3a..00000000 --- a/spec/if/rtems/userext/ident.yml +++ /dev/null @@ -1,60 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: | - Identifies an extension set object by the specified object name. -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: - body: null - params: - - ${../types/name:/name} ${.:/params[0]/name} - - ${../types/id:/name} *${.:/params[1]/name} - return: ${../status/code:/name} - variants: [] -description: | - This directive obtains the extension set identifier associated with the - extension set name specified in ``${.:/params[0]/name}``. -enabled-by: true -interface-type: function -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_extension_ident -notes: | - If the extension set name is not unique, then the extension set identifier - will match the first extension set with that name in the search order. - However, this extension set identifier is not guaranteed to correspond to the - desired extension set. The extension set identifier is used with other - extension related directives to access the extension set. - - The objects are searched from lowest to the highest index. Only the local - node is searched. -params: -- description: is the object name to look up. - dir: null - name: name -- description: | - is the pointer to an object identifier variable. The object identifier of - an object with the specified name will be stored in this variable, in case - of a successful operation. - dir: out - name: id -return: - return: null - return-values: - - description: | - The requested operation was successful. - value: ${../status/successful:/name} - - description: | - The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. - value: ${../status/invalid-address:/name} - - description: | - The ${.:/params[0]/name} parameter was 0. - value: ${../status/invalid-name:/name} - - description: | - There was no object with the specified name on the local node. - value: ${../status/invalid-name:/name} -type: interface diff --git a/spec/if/rtems/userext/table.yml b/spec/if/rtems/userext/table.yml deleted file mode 100644 index 4318f1d8..00000000 --- a/spec/if/rtems/userext/table.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/table:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_extensions_table -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-begin.yml b/spec/if/rtems/userext/task-begin.yml deleted file mode 100644 index 7d12a9d3..00000000 --- a/spec/if/rtems/userext/task-begin.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-begin:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_begin_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-create.yml b/spec/if/rtems/userext/task-create.yml deleted file mode 100644 index 44ffe5dd..00000000 --- a/spec/if/rtems/userext/task-create.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-create:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_create_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-delete.yml b/spec/if/rtems/userext/task-delete.yml deleted file mode 100644 index e22a588b..00000000 --- a/spec/if/rtems/userext/task-delete.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-delete:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_delete_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-exitted.yml b/spec/if/rtems/userext/task-exitted.yml deleted file mode 100644 index 19780271..00000000 --- a/spec/if/rtems/userext/task-exitted.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-exitted:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_exitted_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-restart.yml b/spec/if/rtems/userext/task-restart.yml deleted file mode 100644 index 28cb85d4..00000000 --- a/spec/if/rtems/userext/task-restart.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-restart:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_restart_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-start.yml b/spec/if/rtems/userext/task-start.yml deleted file mode 100644 index 3ace0924..00000000 --- a/spec/if/rtems/userext/task-start.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-start:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_start_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-switch.yml b/spec/if/rtems/userext/task-switch.yml deleted file mode 100644 index ca132ccb..00000000 --- a/spec/if/rtems/userext/task-switch.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-switch:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_switch_extension -notes: null -type: interface diff --git a/spec/if/rtems/userext/task-terminate.yml b/spec/if/rtems/userext/task-terminate.yml deleted file mode 100644 index 1da33a72..00000000 --- a/spec/if/rtems/userext/task-terminate.yml +++ /dev/null @@ -1,19 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) -definition: - default: ${/if/impl/userext/thread-terminate:/name} ${.:/name} - variants: [] -description: null -enabled-by: true -interface-type: typedef -links: -- role: interface-placement - uid: header -- role: interface-ingroup - uid: group -name: rtems_task_terminate_extension -notes: null -type: interface diff --git a/spec/if/use/container.yml b/spec/if/use/container.yml deleted file mode 100644 index 66eded48..00000000 --- a/spec/if/use/container.yml +++ /dev/null @@ -1,9 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -interface-type: container -links: -- role: interface-placement - uid: /if/domains/use -type: interface diff --git a/spec/req/applconfig.yml b/spec/req/applconfig.yml new file mode 100644 index 00000000..a8ec5ea1 --- /dev/null +++ b/spec/req/applconfig.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/api +non-functional-type: interface-requirement +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide configuration options to the application to set + configurable system parameters at link time. +type: requirement diff --git a/spec/req/rtems/attr/bit-set.yml b/spec/req/rtems/attr/bit-set.yml deleted file mode 100644 index a3711c40..00000000 --- a/spec/req/rtems/attr/bit-set.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/attr/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - Each non-default directive attribute constant shall be a power of two - representable as an integer of type ${/if/rtems/attr/attribute}. -type: requirement diff --git a/spec/req/rtems/attr/default.yml b/spec/req/rtems/attr/default.yml deleted file mode 100644 index 5a628b85..00000000 --- a/spec/req/rtems/attr/default.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/attr/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - Each default directive attribute constant shall have a value of zero. -type: requirement diff --git a/spec/req/rtems/attr/semaphore-class.yml b/spec/req/rtems/attr/semaphore-class.yml deleted file mode 100644 index fa85d7bd..00000000 --- a/spec/req/rtems/attr/semaphore-class.yml +++ /dev/null @@ -1,17 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/attr/semaphore-class -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - The ${/if/rtems/attr/semaphore-class:/name} constant shall be equal to the - bitwise or of ${/if/rtems/attr/binary-semaphore:/name}, - ${/if/rtems/attr/counting-semaphore:/name}, and - ${/if/rtems/attr/simple-binary-semaphore:/name}. -type: requirement diff --git a/spec/req/rtems/attr/unique.yml b/spec/req/rtems/attr/unique.yml deleted file mode 100644 index d8da776d..00000000 --- a/spec/req/rtems/attr/unique.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/attr/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - The non-default directive attribute constants shall have unique values. -type: requirement diff --git a/spec/req/rtems/attr/val/attr.yml b/spec/req/rtems/attr/val/attr.yml deleted file mode 100644 index 22594b12..00000000 --- a/spec/req/rtems/attr/val/attr.yml +++ /dev/null @@ -1,278 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -test-actions: -- action: | - /* No action */ - checks: - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_BARRIER_MANUAL_RELEASE ) ); - description: | - Check that RTEMS_BARRIER_MANUAL_RELEASE is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/barrier-manual-release - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_BINARY_SEMAPHORE ) ); - description: | - Check that RTEMS_BINARY_SEMAPHORE is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/binary-semaphore - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_FLOATING_POINT ) ); - description: | - Check that RTEMS_FLOATING_POINT is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/floating-point - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_GLOBAL ) ); - description: | - Check that RTEMS_GLOBAL is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/global - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_INHERIT_PRIORITY ) ); - description: | - Check that RTEMS_INHERIT_PRIORITY is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/inherit-priority - - check: | - T_step_true( - ${step}, - IsPowerOfTwo( RTEMS_MULTIPROCESSOR_RESOURCE_SHARING ) - ); - description: | - Check that RTEMS_MULTIPROCESSOR_RESOURCE_SHARING is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/multiprocessor-resource-sharing - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_PRIORITY ) ); - description: | - Check that RTEMS_PRIORITY is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/priority - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_PRIORITY_CEILING ) ); - description: | - Check that RTEMS_PRIORITY_CEILING is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/priority-ceiling - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_SIMPLE_BINARY_SEMAPHORE ) ); - description: | - Check that RTEMS_SIMPLE_BINARY_SEMAPHORE is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/simple-binary-semaphore - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_SYSTEM_TASK ) ); - description: | - Check that RTEMS_SYSTEM_TASK is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/attr/system-task - description: | - Validate the non-default attribute constants. - links: [] -- action: | - /* No action */ - checks: - - check: | - T_step_eq_u32( ${step}, RTEMS_APPLICATION_TASK, 0 ); - description: | - Check that RTEMS_APPLICATION_TASK is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/application-task - - check: | - T_step_eq_u32( ${step}, RTEMS_BARRIER_MANUAL_RELEASE, 0 ); - description: | - Check that RTEMS_BARRIER_MANUAL_RELEASE is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/barrier-manual-release - - check: | - T_step_eq_u32( ${step}, RTEMS_COUNTING_SEMAPHORE, 0 ); - description: | - Check that RTEMS_COUNTING_SEMAPHORE is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/counting-semaphore - - check: | - T_step_eq_u32( ${step}, RTEMS_DEFAULT_ATTRIBUTES, 0 ); - description: | - Check that RTEMS_DEFAULT_ATTRIBUTES is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/default - - check: | - T_step_eq_u32( ${step}, RTEMS_FIFO, 0 ); - description: | - Check that RTEMS_FIFO is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/fifo - - check: | - T_step_eq_u32( ${step}, RTEMS_LOCAL, 0 ); - description: | - Check that RTEMS_LOCAL is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/local - - check: | - T_step_eq_u32( ${step}, RTEMS_NO_FLOATING_POINT, 0 ); - description: | - Check that RTEMS_NO_FLOATING_POINT is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/no-floating-point - - check: | - T_step_eq_u32( ${step}, RTEMS_NO_INHERIT_PRIORITY, 0 ); - description: | - Check that RTEMS_NO_INHERIT_PRIORITY is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/no-inherit-priority - - check: | - T_step_eq_u32( ${step}, RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING, 0 ); - description: | - Check that RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/no-multiprocessor-resource-sharing - - check: | - T_step_eq_u32( ${step}, RTEMS_NO_PRIORITY_CEILING, 0 ); - description: | - Check that RTEMS_NO_PRIORITY_CEILING is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/attr/no-priority-ceiling - description: | - Validate the default attribute constants. - links: [] -- action: | - attributes = 0; - attributes |= RTEMS_BARRIER_AUTOMATIC_RELEASE; - attributes |= RTEMS_BINARY_SEMAPHORE; - attributes |= RTEMS_FLOATING_POINT; - attributes |= RTEMS_GLOBAL; - attributes |= RTEMS_INHERIT_PRIORITY; - attributes |= RTEMS_MULTIPROCESSOR_RESOURCE_SHARING; - attributes |= RTEMS_PRIORITY; - attributes |= RTEMS_PRIORITY_CEILING; - attributes |= RTEMS_SEMAPHORE_CLASS; - attributes |= RTEMS_SIMPLE_BINARY_SEMAPHORE; - attributes |= RTEMS_SYSTEM_TASK; - checks: - - check: | - T_step_eq_int( ${step}, PopCount( attributes ), 10 ); - description: | - Check that the count of set bits in the calculated value is equal to the - count of non-default attribute constants. Since each non-default - attribute constant is a power of two, this proves that each constant has - a unique value. - links: - - role: validation - uid: ../unique - description: | - Calculate the bitwise or of all non-default attribute constants. - links: [] -- action: | - attributes = 0; - attributes |= RTEMS_BINARY_SEMAPHORE; - attributes |= RTEMS_COUNTING_SEMAPHORE; - attributes |= RTEMS_SIMPLE_BINARY_SEMAPHORE; - checks: - - check: | - T_step_eq_u32( ${step}, RTEMS_SEMAPHORE_CLASS, attributes ); - description: | - Check that the calculated value is equal to RTEMS_SEMAPHORE_CLASS. - links: - - role: validation - uid: ../semaphore-class - description: | - Calculate the bitwise or of the RTEMS_BINARY_SEMAPHORE, - RTEMS_COUNTING_SEMAPHORE, and RTEMS_SIMPLE_BINARY_SEMAPHORE attribute - constants. - links: [] -test-brief: | - Tests the attribute constants of the Classic API. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: -- rtems.h -test-local-includes: [] -test-prologue: | - rtems_attribute attributes; -test-support: | - static bool IsPowerOfTwo( rtems_attribute attribute ) - { - return attribute != 0 && ( attribute & ( attribute - 1 ) ) == 0; - } - - static int PopCount( rtems_attribute attributes ) - { - int count; - - count = 0; - - while ( attributes != 0 ) { - ++count; - attributes &= attributes - 1; - } - - return count; - } -test-target: testsuites/validation/tc-attr.c -type: test-case diff --git a/spec/req/rtems/barrier/ident.yml b/spec/req/rtems/barrier/ident.yml deleted file mode 100644 index 502f35bf..00000000 --- a/spec/req/rtems/barrier/ident.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/barrier/ident -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/barrier/ident:/name} directive shall identify an Classic API - barrier class object by its name as specified by ${../ident-local}. -type: requirement diff --git a/spec/req/rtems/barrier/val/ident.yml b/spec/req/rtems/barrier/val/ident.yml deleted file mode 100644 index 3272ff6b..00000000 --- a/spec/req/rtems/barrier/val/ident.yml +++ /dev/null @@ -1,47 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../ident -test-actions: -- action: | - ${../../ident-local:/test-run}( - id_local_object, - ClassicBarrierIdentAction - ); - checks: [] - description: | - Run the generic object identification tests for Classic API partition class - objects defined by ${../../ident-local}. - links: [] -test-brief: Test the ${/if/rtems/barrier/ident:/name} directive. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident-local.h -test-prologue: | - rtems_status_code sc; - rtems_id id_local_object; - - sc = rtems_barrier_create( - ClassicObjectLocalIdentName, - RTEMS_DEFAULT_ATTRIBUTES, - 1, - &id_local_object - ); - T_assert_rsc_success( sc ); -test-support: | - static rtems_status_code ClassicBarrierIdentAction( - rtems_name name, - rtems_id *id - ) - { - return rtems_barrier_ident( name, id ); - } -test-target: testsuites/validation/tc-barrier-ident.c -type: test-case diff --git a/spec/req/rtems/event/receive.yml b/spec/req/rtems/event/receive.yml deleted file mode 100644 index a880dac5..00000000 --- a/spec/req/rtems/event/receive.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/event/receive -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/event/receive:/name} directive shall receive events from the - application event set of a task as specified by ${send-receive}. -type: requirement diff --git a/spec/req/rtems/event/send.yml b/spec/req/rtems/event/send.yml deleted file mode 100644 index 1c43c6b9..00000000 --- a/spec/req/rtems/event/send.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/event/send -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/event/send:/name} directive shall send events to the - application event set of a task as specified by ${send-receive}. -type: requirement diff --git a/spec/req/rtems/event/system-receive.yml b/spec/req/rtems/event/system-receive.yml deleted file mode 100644 index 14c5505e..00000000 --- a/spec/req/rtems/event/system-receive.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/event/system-receive -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/event/system-receive:/name} directive shall receive events - from the system event set of a task as specified by ${send-receive}. -type: requirement diff --git a/spec/req/rtems/event/system-send.yml b/spec/req/rtems/event/system-send.yml deleted file mode 100644 index 3b1df17a..00000000 --- a/spec/req/rtems/event/system-send.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/event/system-send -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/event/system-send:/name} directive shall send events to the - system event set of a task as specified by ${send-receive}. -type: requirement diff --git a/spec/req/rtems/event/val/send-receive.yml b/spec/req/rtems/event/val/send-receive.yml deleted file mode 100644 index bca154b3..00000000 --- a/spec/req/rtems/event/val/send-receive.yml +++ /dev/null @@ -1,66 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../receive -- role: validation - uid: ../send -test-actions: -- action: | - ${../send-receive:/test-run}( - EventSend, - EventReceive, - GetPendingEvents, - THREAD_WAIT_CLASS_EVENT, - STATES_WAITING_FOR_EVENT - ); - checks: [] - description: | - Run the event send and receive tests for the application event set defined - by ${../send-receive}. - links: [] -test-brief: | - Tests the ${/if/rtems/event/send:/name} and ${/if/rtems/event/receive:/name} - directives. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: -- rtems/rtems/eventimpl.h -- rtems/rtems/tasksdata.h -- rtems/score/statesimpl.h -- rtems/score/threadimpl.h -test-local-includes: -- tr-event-send-receive.h -test-prologue: null -test-support: | - static rtems_status_code EventSend( - rtems_id id, - rtems_event_set event_in - ) - { - return rtems_event_send( id, event_in ); - } - - static rtems_status_code EventReceive( - rtems_id event_in, - rtems_option option_set, - rtems_interval ticks, - rtems_event_set *event_out - ) - { - return rtems_event_receive( event_in, option_set, ticks, event_out ); - } - - static rtems_event_set GetPendingEvents( Thread_Control *thread ) - { - RTEMS_API_Control *api; - - api = thread->API_Extensions[ THREAD_API_RTEMS ]; - return api->Event.pending_events; - } -test-target: testsuites/validation/tc-event-send-receive.c -type: test-case diff --git a/spec/req/rtems/event/val/system-send-receive.yml b/spec/req/rtems/event/val/system-send-receive.yml deleted file mode 100644 index a683f565..00000000 --- a/spec/req/rtems/event/val/system-send-receive.yml +++ /dev/null @@ -1,71 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../system-receive -- role: validation - uid: ../system-send -test-actions: -- action: | - ${../send-receive:/test-run}( - EventSystemSend, - EventSystemReceive, - GetPendingSystemEvents, - THREAD_WAIT_CLASS_SYSTEM_EVENT, - STATES_WAITING_FOR_SYSTEM_EVENT - ); - checks: [] - description: | - Run the event send and receive tests for the system event set defined - by ${../send-receive}. - links: [] -test-brief: | - Tests the ${/if/rtems/event/system-send:/name} and - ${/if/rtems/event/system-receive:/name} directives. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: -- rtems/rtems/eventimpl.h -- rtems/rtems/tasksdata.h -- rtems/score/statesimpl.h -- rtems/score/threadimpl.h -test-local-includes: -- tr-event-send-receive.h -test-prologue: null -test-support: | - static rtems_status_code EventSystemSend( - rtems_id id, - rtems_event_set event_in - ) - { - return rtems_event_system_send( id, event_in ); - } - - static rtems_status_code EventSystemReceive( - rtems_id event_in, - rtems_option option_set, - rtems_interval ticks, - rtems_event_set *event_out - ) - { - return rtems_event_system_receive( - event_in, - option_set, - ticks, - event_out - ); - } - - static rtems_event_set GetPendingSystemEvents( Thread_Control *thread ) - { - RTEMS_API_Control *api; - - api = thread->API_Extensions[ THREAD_API_RTEMS ]; - return api->System_event.pending_events; - } -test-target: testsuites/validation/tc-event-send-receive.c -type: test-case diff --git a/spec/req/rtems/message/ident.yml b/spec/req/rtems/message/ident.yml deleted file mode 100644 index 04daf90d..00000000 --- a/spec/req/rtems/message/ident.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/message/ident -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/message/ident:/name} directive shall identify an Classic API - message queue class object by its name as specified by ${../ident}. -type: requirement diff --git a/spec/req/rtems/message/val/ident.yml b/spec/req/rtems/message/val/ident.yml deleted file mode 100644 index 436c1b9d..00000000 --- a/spec/req/rtems/message/val/ident.yml +++ /dev/null @@ -1,49 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../ident -test-actions: -- action: | - ${../../ident:/test-run}( - id_local_object, - ClassicMessageIdentAction - ); - checks: [] - description: | - Run the generic object identification tests for Classic API message queue - class objects defined by ${../../ident}. - links: [] -test-brief: Test the ${/if/rtems/message/ident:/name} directive. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident.h -test-prologue: | - rtems_status_code sc; - rtems_id id_local_object; - - sc = rtems_message_queue_create( - ClassicObjectIdentName, - 1, - 1, - RTEMS_DEFAULT_ATTRIBUTES, - &id_local_object - ); - T_assert_rsc_success( sc ); -test-support: | - static rtems_status_code ClassicMessageIdentAction( - rtems_name name, - uint32_t node, - rtems_id *id - ) - { - return rtems_message_queue_ident( name, node, id ); - } -test-target: testsuites/validation/tc-message-ident.c -type: test-case diff --git a/spec/req/rtems/modes/bit-set.yml b/spec/req/rtems/modes/bit-set.yml deleted file mode 100644 index 04928658..00000000 --- a/spec/req/rtems/modes/bit-set.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/modes/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - Each non-default task mode constant shall be a power of two representable as - an integer of type ${/if/rtems/modes/mode:/name}. -type: requirement diff --git a/spec/req/rtems/modes/default.yml b/spec/req/rtems/modes/default.yml deleted file mode 100644 index 3eb1c0c0..00000000 --- a/spec/req/rtems/modes/default.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/modes/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - Each default task mode constant shall have a value of zero. -type: requirement diff --git a/spec/req/rtems/modes/masks-all.yml b/spec/req/rtems/modes/masks-all.yml deleted file mode 100644 index ceb0a07f..00000000 --- a/spec/req/rtems/modes/masks-all.yml +++ /dev/null @@ -1,16 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/modes/all-mode-masks -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - The bitwise and of a task mode mask constant and - ${/if/rtems/modes/all-mode-masks:/name} shall be equal to the task mode mask - constant. -type: requirement diff --git a/spec/req/rtems/modes/masks-unique.yml b/spec/req/rtems/modes/masks-unique.yml deleted file mode 100644 index 770faf6d..00000000 --- a/spec/req/rtems/modes/masks-unique.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/modes/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - The task mode mask constants and 0xff shall have unique values. -type: requirement diff --git a/spec/req/rtems/modes/masks.yml b/spec/req/rtems/modes/masks.yml deleted file mode 100644 index 9b066881..00000000 --- a/spec/req/rtems/modes/masks.yml +++ /dev/null @@ -1,16 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/modes/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - Each task mode mask constant except ${/if/rtems/modes/interrupt-mask} shall - be a power of two representable as an integer of type - ${/if/rtems/modes/mode:/name}. -type: requirement diff --git a/spec/req/rtems/modes/unique.yml b/spec/req/rtems/modes/unique.yml deleted file mode 100644 index 39a39b07..00000000 --- a/spec/req/rtems/modes/unique.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/modes/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - The non-default task mode constants shall have unique values. -type: requirement diff --git a/spec/req/rtems/modes/val/modes.yml b/spec/req/rtems/modes/val/modes.yml deleted file mode 100644 index cdb67966..00000000 --- a/spec/req/rtems/modes/val/modes.yml +++ /dev/null @@ -1,242 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -test-actions: -- action: | - /* No action */ - checks: - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_NO_ASR ) ); - description: | - Check that RTEMS_NO_ASR is a power of two representable as an integer of - type rtems_mode. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/modes/no-asr - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_NO_PREEMPT ) ); - description: | - Check that RTEMS_NO_PREEMPT is a power of two representable as an integer - of type rtems_mode. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/modes/no-preempt - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_TIMESLICE ) ); - description: | - Check that RTEMS_TIMESLICE is a power of two representable as an integer - of type rtems_mode. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/modes/timeslice - description: | - Validate the non-default task mode constants. - links: [] -- action: | - /* No action */ - checks: - - check: | - T_step_eq_u32( ${step}, RTEMS_ASR, 0 ); - description: | - Check that RTEMS_ASR is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/modes/asr - - check: | - T_step_eq_u32( ${step}, RTEMS_DEFAULT_MODES, 0 ); - description: | - Check that RTEMS_DEFAULT_MODES is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/modes/default - - check: | - T_step_eq_u32( ${step}, RTEMS_NO_TIMESLICE, 0 ); - description: | - Check that RTEMS_NO_TIMESLICE is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/modes/no-timeslice - - check: | - T_step_eq_u32( ${step}, RTEMS_PREEMPT, 0 ); - description: | - Check that RTEMS_PREEMPT is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/modes/preempt - description: | - Validate the default task mode constants. - links: [] -- action: | - /* No action */ - checks: - - check: | - T_step_eq_u32( - ${step}, - RTEMS_ASR_MASK & RTEMS_ALL_MODE_MASKS, - RTEMS_ASR_MASK - ); - description: | - Check that the bitwise and of RTEMS_ASR_MASK and RTEMS_ALL_MODE_MASKS is - equal to RTEMS_ASR_MASK. - links: - - role: validation - uid: ../masks-all - - role: validation - uid: /if/rtems/modes/asr-mask - - check: | - T_step_eq_u32( - ${step}, - RTEMS_PREEMPT_MASK & RTEMS_ALL_MODE_MASKS, - RTEMS_PREEMPT_MASK - ); - description: | - Check that the bitwise and of RTEMS_PREEMPT_MASK and RTEMS_ALL_MODE_MASKS - is equal to RTEMS_PREEMPT_MASK. - links: - - role: validation - uid: ../masks-all - - role: validation - uid: /if/rtems/modes/preempt-mask - - check: | - T_step_eq_u32( - ${step}, - RTEMS_TIMESLICE_MASK & RTEMS_ALL_MODE_MASKS, - RTEMS_TIMESLICE_MASK - ); - description: | - Check that the bitwise and of RTEMS_TIMESLICE_MASK and - RTEMS_ALL_MODE_MASKS is equal to RTEMS_TIMESLICE_MASK. - links: - - role: validation - uid: ../masks-all - - role: validation - uid: /if/rtems/modes/timeslice-mask - - check: | - T_step_eq_u32( - ${step}, - RTEMS_INTERRUPT_MASK & RTEMS_ALL_MODE_MASKS, - RTEMS_INTERRUPT_MASK - ); - description: | - Check that the bitwise and of RTEMS_INTERRUPT_MASK and - RTEMS_ALL_MODE_MASKS is equal to RTEMS_INTERRUPT_MASK. - links: - - role: validation - uid: ../masks-all - - role: validation - uid: /if/rtems/modes/interrupt-mask - description: | - Validate RTEMS_ALL_MODE_MASKS. - links: [] -- action: | - /* No action */ - checks: - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_ASR_MASK ) ); - description: | - Check that RTEMS_ASR_MASK is a power of two representable as an integer - of type rtems_mode. - links: - - role: validation - uid: ../masks - - role: validation - uid: /if/rtems/modes/asr-mask - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_PREEMPT_MASK ) ); - description: | - Check that RTEMS_PREEMPT_MASK is a power of two representable as an - integer of type rtems_mode. - links: - - role: validation - uid: ../masks - - role: validation - uid: /if/rtems/modes/preempt-mask - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_TIMESLICE_MASK ) ); - description: | - Check that RTEMS_TIMESLICE_MASK is a power of two representable as an - integer of type rtems_mode. - links: - - role: validation - uid: ../masks - - role: validation - uid: /if/rtems/modes/timeslice-mask - description: | - Validate the task mode mask constants except RTEMS_INTERRUPT_MASK. - links: [] -- action: | - modes = 0; - modes |= 0xff; - modes |= RTEMS_ASR_MASK; - modes |= RTEMS_PREEMPT_MASK; - modes |= RTEMS_TIMESLICE_MASK; - checks: - - check: | - T_step_eq_int( ${step}, PopCount( modes ), 11 ); - description: | - Check that the count of set bits in the calculated value is equal to the - count of task mode mask constants except RTEMS_INTERRUPT_MASK plus eight. - Since each task mode mask constants except RTEMS_INTERRUPT_MASK is a - power of two and the bitwise and of 0xff and RTEMS_INTERRUPT_MASK is - equal to RTEMS_INTERRUPT_MASK this proves that each constant and 0xff has - a unique value. - links: - - role: validation - uid: ../unique - - role: validation - uid: /if/rtems/modes/asr-mask - - role: validation - uid: /if/rtems/modes/preempt-mask - - role: validation - uid: /if/rtems/modes/timeslice-mask - description: | - Calculate the bitwise or of all task mode mask constants and 0xff. - links: [] -test-brief: | - Tests the task mode constants and function-like macros of the Classic API. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: -- rtems.h -test-local-includes: [] -test-prologue: | - rtems_mode modes; -test-support: | - static bool IsPowerOfTwo( rtems_mode mode ) - { - return mode != 0 && ( mode & ( mode - 1 ) ) == 0; - } - - static int PopCount( rtems_mode modes ) - { - int count; - - count = 0; - - while ( modes != 0 ) { - ++count; - modes &= modes - 1; - } - - return count; - } -test-target: testsuites/validation/tc-modes.c -type: test-case diff --git a/spec/req/rtems/options/bit-set.yml b/spec/req/rtems/options/bit-set.yml deleted file mode 100644 index 21b3c84c..00000000 --- a/spec/req/rtems/options/bit-set.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/options/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - Each non-default directive option constant shall be a power of two - representable as an integer of type ${/if/rtems/options/option}. -type: requirement diff --git a/spec/req/rtems/options/default.yml b/spec/req/rtems/options/default.yml deleted file mode 100644 index 3f268b3f..00000000 --- a/spec/req/rtems/options/default.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/options/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - Each default directive option constant shall have a value of zero. -type: requirement diff --git a/spec/req/rtems/options/unique.yml b/spec/req/rtems/options/unique.yml deleted file mode 100644 index 7dd37b28..00000000 --- a/spec/req/rtems/options/unique.yml +++ /dev/null @@ -1,14 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: requirement-refinement - uid: /if/rtems/options/group -non-functional-type: interface -rationale: null -references: [] -requirement-type: non-functional -text: | - The non-default directive option constants shall have unique values. -type: requirement diff --git a/spec/req/rtems/options/val/options.yml b/spec/req/rtems/options/val/options.yml deleted file mode 100644 index 108d3023..00000000 --- a/spec/req/rtems/options/val/options.yml +++ /dev/null @@ -1,117 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: [] -test-actions: -- action: | - /* No action */ - checks: - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_EVENT_ANY ) ); - description: | - Check that RTEMS_EVENT_ANY is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/options/event-any - - check: | - T_step_true( ${step}, IsPowerOfTwo( RTEMS_NO_WAIT ) ); - description: | - Check that RTEMS_NO_WAIT is a power of two. - links: - - role: validation - uid: ../bit-set - - role: validation - uid: /if/rtems/options/no-wait - description: | - Validate the non-default option constants. - links: [] -- action: | - /* No action */ - checks: - - check: | - T_step_eq_u32( ${step}, RTEMS_DEFAULT_OPTIONS, 0 ); - description: | - Check that RTEMS_DEFAULT_OPTIONS is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/options/default - - check: | - T_step_eq_u32( ${step}, RTEMS_EVENT_ALL, 0 ); - description: | - Check that RTEMS_EVENT_ALL is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/options/event-all - - check: | - T_step_eq_u32( ${step}, RTEMS_WAIT, 0 ); - description: | - Check that RTEMS_WAIT is equal to zero. - links: - - role: validation - uid: ../default - - role: validation - uid: /if/rtems/options/wait - description: | - Validate the default option constants. - links: [] -- action: | - options = 0; - options |= RTEMS_EVENT_ANY; - options |= RTEMS_NO_WAIT; - checks: - - check: | - T_step_eq_int( ${step}, PopCount( options ), 2 ); - description: | - Check that the count of set bits in the calculated value is equal to the - count of non-default option constants. Since each non-default option - constant is a power of two, this proves that each constant has a unique - value. - links: - - role: validation - uid: ../unique - - role: validation - uid: /if/rtems/options/event-any - - role: validation - uid: /if/rtems/options/no-wait - description: | - Calculate the bitwise or of all non-default option constants. - links: [] -test-brief: | - Tests the option constants of the Classic API. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: -- rtems.h -test-local-includes: [] -test-prologue: | - rtems_option options; -test-support: | - static bool IsPowerOfTwo( rtems_option option ) - { - return option != 0 && ( option & ( option - 1 ) ) == 0; - } - - static int PopCount( rtems_option options ) - { - int count; - - count = 0; - - while ( options != 0 ) { - ++count; - options &= options - 1; - } - - return count; - } -test-target: testsuites/validation/tc-options.c -type: test-case diff --git a/spec/req/rtems/part/ident.yml b/spec/req/rtems/part/ident.yml deleted file mode 100644 index eb78d345..00000000 --- a/spec/req/rtems/part/ident.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/part/ident -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/part/ident:/name} directive shall identify an Classic API - partition class object by its name as specified by ${../ident}. -type: requirement diff --git a/spec/req/rtems/part/val/ident.yml b/spec/req/rtems/part/val/ident.yml deleted file mode 100644 index a9919001..00000000 --- a/spec/req/rtems/part/val/ident.yml +++ /dev/null @@ -1,51 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../ident -test-actions: -- action: | - ${../../ident:/test-run}( - id_local_object, - ClassicPartIdentAction - ); - checks: [] - description: | - Run the generic object identification tests for Classic API partition class - objects defined by ${../../ident}. - links: [] -test-brief: Test the ${/if/rtems/part/ident:/name} directive. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident.h -test-prologue: | - static long area[32]; - rtems_status_code sc; - rtems_id id_local_object; - - sc = rtems_partition_create( - ClassicObjectIdentName, - area, - sizeof( area ), - sizeof( area ), - RTEMS_DEFAULT_ATTRIBUTES, - &id_local_object - ); - T_assert_rsc_success( sc ); -test-support: | - static rtems_status_code ClassicPartIdentAction( - rtems_name name, - uint32_t node, - rtems_id *id - ) - { - return rtems_partition_ident( name, node, id ); - } -test-target: testsuites/validation/tc-part-ident.c -type: test-case diff --git a/spec/req/rtems/ratemon/ident.yml b/spec/req/rtems/ratemon/ident.yml deleted file mode 100644 index 592c7655..00000000 --- a/spec/req/rtems/ratemon/ident.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/ratemon/ident -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/ratemon/ident:/name} directive shall identify an Classic API - rate monotonic class object by its name as specified by ${../ident-local}. -type: requirement diff --git a/spec/req/rtems/ratemon/val/ident.yml b/spec/req/rtems/ratemon/val/ident.yml deleted file mode 100644 index 8022b8df..00000000 --- a/spec/req/rtems/ratemon/val/ident.yml +++ /dev/null @@ -1,45 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../ident -test-actions: -- action: | - ${../../ident-local:/test-run}( - id_local_object, - ClassicRatemonIdentAction - ); - checks: [] - description: | - Run the generic object identification tests for Classic API rate monotonic - class objects defined by ${../../ident-local}. - links: [] -test-brief: Test the ${/if/rtems/part/ident:/name} directive. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident-local.h -test-prologue: | - rtems_status_code sc; - rtems_id id_local_object; - - sc = rtems_rate_monotonic_create( - ClassicObjectLocalIdentName, - &id_local_object - ); - T_assert_rsc_success( sc ); -test-support: | - static rtems_status_code ClassicRatemonIdentAction( - rtems_name name, - rtems_id *id - ) - { - return rtems_rate_monotonic_ident( name, id ); - } -test-target: testsuites/validation/tc-ratemon-ident.c -type: test-case diff --git a/spec/req/rtems/sem/ident.yml b/spec/req/rtems/sem/ident.yml deleted file mode 100644 index fb37c324..00000000 --- a/spec/req/rtems/sem/ident.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/sem/ident -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/sem/ident:/name} directive shall identify an Classic API - semaphore class object by its name as specified by ${../ident}. -type: requirement diff --git a/spec/req/rtems/sem/val/ident.yml b/spec/req/rtems/sem/val/ident.yml deleted file mode 100644 index 616e32ef..00000000 --- a/spec/req/rtems/sem/val/ident.yml +++ /dev/null @@ -1,49 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../ident -test-actions: -- action: | - ${../../ident:/test-run}( - id_local_object, - ClassicSemIdentAction - ); - checks: [] - description: | - Run the generic object identification tests for Classic API semaphore class - objects defined by ${../../ident}. - links: [] -test-brief: Test the ${/if/rtems/sem/ident:/name} directive. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident.h -test-prologue: | - rtems_status_code sc; - rtems_id id_local_object; - - sc = rtems_semaphore_create( - ClassicObjectIdentName, - 0, - RTEMS_DEFAULT_ATTRIBUTES, - 0, - &id_local_object - ); - T_assert_rsc_success( sc ); -test-support: | - static rtems_status_code ClassicSemIdentAction( - rtems_name name, - uint32_t node, - rtems_id *id - ) - { - return rtems_semaphore_ident( name, node, id ); - } -test-target: testsuites/validation/tc-sem-ident.c -type: test-case diff --git a/spec/req/rtems/tasks/construct-errors.yml b/spec/req/rtems/tasks/construct-errors.yml deleted file mode 100644 index 2e24ac94..00000000 --- a/spec/req/rtems/tasks/construct-errors.yml +++ /dev/null @@ -1,499 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: action -links: -- role: interface-function - uid: /if/rtems/tasks/construct -post-conditions: -- name: Status - states: - - name: Ok - test-code: | - T_rsc_success( ctx->status ); - T_eq_ptr( ctx->id, &ctx->id_value ); - T_ne_u32( ctx->id_value, 0xffffffff ); - - sc = rtems_task_delete( ctx->id_value ); - T_rsc_success( sc ); - text: | - The status shall be RTEMS_SUCCESSFUL. The value of the object identifier - referenced by the id parameter shall identify the constructed task. - - name: InvAddress - test-code: | - T_rsc( ctx->status, RTEMS_INVALID_ADDRESS ); - T_null( ctx->id ); - T_eq_u32( ctx->id_value, 0xffffffff ); - text: | - The status shall be RTEMS_INVALID_ADDRESS. - - name: InvName - test-code: | - T_rsc( ctx->status, RTEMS_INVALID_NAME ); - T_eq_u32( ctx->id_value, 0xffffffff ); - text: | - The status shall be RTEMS_INVALID_NAME. If the id parameter is not NULL, - then the value of the object identifier referenced by the id parameter - shall be unchanged. - - name: InvPrio - test-code: | - T_rsc( ctx->status, RTEMS_INVALID_PRIORITY ); - T_eq_u32( ctx->id_value, 0xffffffff ); - text: | - The status shall be RTEMS_INVALID_PRIORITY. If the id parameter is not - NULL, then the value of the object identifier referenced by the id - parameter shall be unchanged. - - name: InvSize - test-code: | - T_rsc( ctx->status, RTEMS_INVALID_SIZE ); - T_eq_u32( ctx->id_value, 0xffffffff ); - text: | - The status shall be RTEMS_INVALID_SIZE. If the id parameter is not NULL, - then the value of the object identifier referenced by the id parameter - shall be unchanged. - - name: TooMany - test-code: | - T_rsc( ctx->status, RTEMS_TOO_MANY ); - T_eq_u32( ctx->id_value, 0xffffffff ); - text: | - The status shall be RTEMS_TOO_MANY. If the id parameter is not NULL, - then the value of the object identifier referenced by the id parameter - shall be unchanged. - - name: Unsatisfied - test-code: | - T_rsc( ctx->status, RTEMS_UNSATISFIED ); - T_eq_u32( ctx->id_value, 0xffffffff ); - text: | - The status shall be RTEMS_UNSATISFIED. If the id parameter is not NULL, - then the value of the object identifier referenced by the id parameter - shall be unchanged. - test-epilogue: null - test-prologue: | - rtems_status_code sc; -pre-conditions: -- name: Id - states: - - name: Id - test-code: | - ctx->id = &ctx->id_value; - text: | - The id parameter shall reference an object identifier value. - - name: 'Null' - test-code: | - ctx->id = NULL; - text: | - The id parameter shall be NULL. - test-epilogue: null - test-prologue: null -- name: Name - states: - - name: Valid - test-code: | - ctx->config.name = rtems_build_name( 'N', 'A', 'M', 'E' ); - text: | - The name of the task configuration shall be valid. - - name: Inv - test-code: | - ctx->config.name = 0; - text: | - The name of the task configuration shall be invalid. - test-epilogue: null - test-prologue: null -- name: Prio - states: - - name: Valid - test-code: | - ctx->config.initial_priority = 254; - text: | - The initial priority of the task configuration shall be valid. - - name: Zero - test-code: | - ctx->config.initial_priority = 0; - text: | - The initial priority of the task configuration shall be zero. - - name: Inv - test-code: | - ctx->config.initial_priority = 0xffffffff; - text: | - The initial priority of the task configuration shall be invalid. - test-epilogue: null - test-prologue: null -- name: Tasks - states: - - name: Avail - test-code: | - /* Nothing to do */ - text: | - There shall be at least one inactive task object available. - - name: None - test-code: | - create_extension_status = ctx->create_extension_status; - ctx->create_extension_status = true; - - while ( true ) { - rtems_status_code sc; - rtems_id id; - - sc = rtems_task_construct( &valid_task_config, &id ); - - if ( sc == RTEMS_SUCCESSFUL ) { - Objects_Control *obj; - const Objects_Information *info; - - info = _Objects_Get_information_id( id ); - T_quiet_assert_not_null( info ); - obj = _Objects_Get_no_protection( id, info ); - T_quiet_assert_not_null( obj ); - _Chain_Append_unprotected( &ctx->tasks, &obj->Node ); - } else { - T_quiet_rsc( sc, RTEMS_TOO_MANY ); - break; - } - } - - ctx->create_extension_status = create_extension_status; - text: | - There shall be no inactive task object available. - test-epilogue: null - test-prologue: | - bool create_extension_status; -- name: TLS - states: - - name: Enough - test-code: | - ctx->config.maximum_thread_local_storage_size = MAX_TLS_SIZE; - text: | - The maximum thread-local storage size of the task configuration shall be - greater than or equal to the thread-local storage size. - - name: Small - test-code: | - ctx->config.maximum_thread_local_storage_size = 0; - text: | - The maximum thread-local storage size of the task configuration shall be - less than the thread-local storage size. - test-epilogue: null - test-prologue: null -- name: Stack - states: - - name: Enough - test-code: | - ctx->stack_size = RTEMS_MINIMUM_STACK_SIZE; - text: | - The task stack size of the task configuration shall be greater than or - equal to the configured minimum size. - - name: Small - test-code: | - ctx->stack_size = 0; - text: | - The task stack size of the task configuration shall be less than to the - configured minimum size. - test-epilogue: null - test-prologue: null -- name: Ext - states: - - name: Ok - test-code: | - ctx->create_extension_status = true; - text: | - None of the task create extensions shall fail. - - name: Err - test-code: | - ctx->create_extension_status = false; - text: | - At least one of the task create extensions shall fail. - test-epilogue: null - test-prologue: null -- name: Preempt - states: - - name: 'Yes' - test-code: | - ctx->config.initial_modes &= ~RTEMS_PREEMPT_MASK; - ctx->config.initial_modes |= RTEMS_PREEMPT; - text: | - The preemptible mode in the initial modes of the task configuration shall - be set to preemptible. - - name: 'No' - test-code: | - ctx->config.initial_modes &= ~RTEMS_PREEMPT_MASK; - ctx->config.initial_modes |= RTEMS_NO_PREEMPT; - text: | - The preemptible mode in the initial modes of the task configuration shall - be set to non-preemptible. - test-epilogue: null - test-prologue: null -rationale: null -references: [] -requirement-type: functional -skip-reasons: {} -test-action: | - ctx->config.storage_size = RTEMS_TASK_STORAGE_SIZE( - ctx->config.maximum_thread_local_storage_size + ctx->stack_size, - ctx->config.attributes - ); - ctx->status = rtems_task_construct( &ctx->config, ctx->id ); -test-brief: null -test-cleanup: | - Chain_Node *node; - - while ( ( node = _Chain_Get_unprotected( &ctx->tasks ) ) ) { - Objects_Control *obj; - rtems_status_code sc; - - obj = (Objects_Control *) node; - sc = rtems_task_delete( obj->id ); - T_quiet_rsc_success( sc ); - } -test-context: -- brief: null - description: null - member: rtems_status_code status -- brief: null - description: null - member: rtems_task_config config -- brief: null - description: null - member: rtems_id *id -- brief: null - description: null - member: rtems_id id_value -- brief: null - description: null - member: bool create_extension_status -- brief: null - description: null - member: size_t stack_size -- brief: null - description: null - member: rtems_id extension_id -- brief: null - description: null - member: Chain_Control tasks -test-context-support: null -test-description: null -test-header: null -test-includes: -- rtems.h -- rtems/score/chainimpl.h -- rtems/score/objectimpl.h -- string.h -test-local-includes: [] -test-prepare: | - ctx->id_value = 0xffffffff; - memset( &ctx->config, 0, sizeof( ctx->config ) ); -test-setup: - brief: null - code: | - rtems_status_code sc; - int var; - - var = tls_variable; - RTEMS_OBFUSCATE_VARIABLE( var ); - tls_variable = var; - - sc = rtems_extension_create( - rtems_build_name( 'T', 'C', 'F', 'C' ), - &extensions, - &ctx->extension_id - ); - T_rsc_success( sc ); - - _Chain_Initialize_empty( &ctx->tasks ); - description: null -test-stop: null -test-support: | - static _Thread_local int tls_variable; - - #define MAX_TLS_SIZE RTEMS_ALIGN_UP( 128, RTEMS_TASK_STORAGE_ALIGNMENT ) - - RTEMS_ALIGNED( RTEMS_TASK_STORAGE_ALIGNMENT ) static char task_storage[ - RTEMS_TASK_STORAGE_SIZE( - MAX_TLS_SIZE + RTEMS_MINIMUM_STACK_SIZE, - RTEMS_FLOATING_POINT - ) - ]; - - static const rtems_task_config valid_task_config = { - .name = rtems_build_name( 'T', 'A', 'S', 'K' ), - .initial_priority = 1, - .storage_area = task_storage, - .storage_size = sizeof( task_storage ), - .maximum_thread_local_storage_size = MAX_TLS_SIZE, - .initial_modes = RTEMS_DEFAULT_MODES, - .attributes = RTEMS_DEFAULT_MODES - }; - - static bool ThreadCreate( rtems_tcb *executing, rtems_tcb *created ) - { - (void) executing; - (void) created; - - return ReqRtemsTasksConstructErrors_Instance.create_extension_status; - } - - static const rtems_extensions_table extensions = { - .thread_create = ThreadCreate - }; -test-target: testsuites/validation/tc-task-construct-errors.c -test-teardown: - brief: null - code: | - rtems_status_code sc; - - sc = rtems_extension_delete( ctx->extension_id ); - T_rsc_success( sc ); - description: null -text: ${.:text-template} -transition-map: -- enabled-by: true - post-conditions: - Status: Ok - pre-conditions: - Id: - - Id - Name: - - Valid - Prio: - - Valid - Tasks: - - Avail - TLS: - - Enough - Stack: - - Enough - Ext: - - Ok - Preempt: all -- enabled-by: true - post-conditions: - Status: InvAddress - pre-conditions: - Id: - - 'Null' - Name: all - Prio: all - Tasks: all - TLS: all - Stack: all - Ext: all - Preempt: all -- enabled-by: true - post-conditions: - Status: InvName - pre-conditions: - Id: - - Id - Name: - - Inv - Prio: all - Tasks: all - TLS: all - Stack: all - Ext: all - Preempt: all -- enabled-by: true - post-conditions: - Status: InvPrio - pre-conditions: - Id: - - Id - Name: - - Valid - Prio: - - Zero - - Inv - Tasks: all - TLS: all - Stack: all - Ext: all - Preempt: all -- enabled-by: true - post-conditions: - Status: TooMany - pre-conditions: - Id: - - Id - Name: - - Valid - Prio: - - Valid - Tasks: - - None - TLS: all - Stack: all - Ext: all - Preempt: all -- enabled-by: true - post-conditions: - Status: InvSize - pre-conditions: - Id: - - Id - Name: - - Valid - Prio: - - Valid - Tasks: - - Avail - TLS: - - Small - Stack: all - Ext: all - Preempt: all -- enabled-by: true - post-conditions: - Status: InvSize - pre-conditions: - Id: - - Id - Name: - - Valid - Prio: - - Valid - Tasks: - - Avail - TLS: - - Enough - Stack: - - Small - Ext: all - Preempt: all -- enabled-by: true - post-conditions: - Status: Unsatisfied - pre-conditions: - Id: - - Id - Name: - - Valid - Prio: - - Valid - Tasks: - - Avail - TLS: - - Enough - Stack: - - Enough - Ext: - - Err - Preempt: all -- enabled-by: RTEMS_SMP - post-conditions: - Status: Unsatisfied - pre-conditions: - Id: - - Id - Name: - - Valid - Prio: - - Valid - Tasks: - - Avail - TLS: - - Enough - Stack: - - Enough - Ext: - - Ok - Preempt: - - 'No' -type: requirement diff --git a/spec/req/rtems/tasks/ident.yml b/spec/req/rtems/tasks/ident.yml deleted file mode 100644 index 9b4df1d4..00000000 --- a/spec/req/rtems/tasks/ident.yml +++ /dev/null @@ -1,123 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: action -links: -- role: interface-function - uid: /if/rtems/tasks/ident -post-conditions: -- name: Post - states: - - name: OkAndSelfId - test-code: | - T_rsc(ctx->status, RTEMS_SUCCESSFUL); - T_eq_ptr(ctx->id, &ctx->id_value); - T_eq_u32(ctx->id_value, rtems_task_self()); - text: | - The status shall be RTEMS_SUCCESSFUL. The value of the object identifier - referenced by the id parameter shall be the identifier of the executing - thread. - - name: Generic - test-code: | - /* Checks performed by ${../ident:/test-run}() */ - text: | - The post-condition status shall be specified by ${../ident}. - test-epilogue: null - test-prologue: null -pre-conditions: -- name: Pre - states: - - name: Self - test-code: | - ctx->id_value = 0xffffffff; - ctx->id = &ctx->id_value; - text: | - The name parameter shall be RTEMS_SELF. - - name: Generic - test-code: | - ctx->id = NULL; - /* Preparation performed by ${../ident:/test-run}() */ - text: | - The pre-condition status shall be specified by ${../ident}. - test-epilogue: null - test-prologue: null -rationale: null -references: [] -requirement-type: functional -skip-reasons: {} -test-action: | - if ( ctx->id != NULL ) { - ctx->status = rtems_task_ident( RTEMS_SELF, 0xdeadbeef, ctx->id ); - } else { - ${../ident:/test-run}( - ctx->id_local_object, - ClassicTaskIdentAction - ); - } -test-brief: null -test-cleanup: null -test-context: -- brief: null - description: null - member: rtems_status_code status -- brief: null - description: null - member: rtems_id *id -- brief: null - description: null - member: rtems_id id_value -- brief: null - description: null - member: rtems_id id_local_object -test-context-support: null -test-description: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident.h -test-prepare: null -test-setup: - brief: null - code: | - static char task_storage[ RTEMS_MINIMUM_STACK_SIZE ]; - static const rtems_task_config task_config = { - .name = ClassicObjectIdentName, - .initial_priority = 1, - .storage_area = task_storage, - .storage_size = sizeof( task_storage ), - .initial_modes = RTEMS_DEFAULT_MODES, - .attributes = RTEMS_DEFAULT_ATTRIBUTES - }; - rtems_status_code sc; - - sc = rtems_task_build( &task_config, &ctx->id_local_object ); - T_assert_rsc_success( sc ); - description: null -test-stop: null -test-support: | - static rtems_status_code ClassicTaskIdentAction( - rtems_name name, - uint32_t node, - rtems_id *id - ) - { - return rtems_task_ident( name, node, id ); - } -test-target: testsuites/validation/tc-task-ident.c -test-teardown: null -text: ${.:text-template} -transition-map: -- enabled-by: true - post-conditions: - Post: OkAndSelfId - pre-conditions: - Pre: - - Self -- enabled-by: true - post-conditions: - Post: Generic - pre-conditions: - Pre: - - Generic -type: requirement diff --git a/spec/req/rtems/timer/ident.yml b/spec/req/rtems/timer/ident.yml deleted file mode 100644 index 1391e8b4..00000000 --- a/spec/req/rtems/timer/ident.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/timer/ident -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/timer/ident:/name} directive shall identify an Classic API - timer class object by its name as specified by ${../ident-local}. -type: requirement diff --git a/spec/req/rtems/timer/val/ident.yml b/spec/req/rtems/timer/val/ident.yml deleted file mode 100644 index 16c25913..00000000 --- a/spec/req/rtems/timer/val/ident.yml +++ /dev/null @@ -1,45 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../ident -test-actions: -- action: | - ${../../ident-local:/test-run}( - id_local_object, - ClassicTimerIdentAction - ); - checks: [] - description: | - Run the generic object identification tests for Classic API timer class - objects defined by ${../../ident-local}. - links: [] -test-brief: Test the ${/if/rtems/timer/ident:/name} directive. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident-local.h -test-prologue: | - rtems_status_code sc; - rtems_id id_local_object; - - sc = rtems_timer_create( - ClassicObjectLocalIdentName, - &id_local_object - ); - T_assert_rsc_success( sc ); -test-support: | - static rtems_status_code ClassicTimerIdentAction( - rtems_name name, - rtems_id *id - ) - { - return rtems_timer_ident( name, id ); - } -test-target: testsuites/validation/tc-timer-ident.c -type: test-case diff --git a/spec/req/rtems/userext/ident.yml b/spec/req/rtems/userext/ident.yml deleted file mode 100644 index e9d09864..00000000 --- a/spec/req/rtems/userext/ident.yml +++ /dev/null @@ -1,15 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -functional-type: function -links: -- role: interface-function - uid: /if/rtems/userext/ident -rationale: null -references: [] -requirement-type: functional -text: | - The ${/if/rtems/userext/ident:/name} directive shall identify an Classic API - user extension class object by its name as specified by ${../ident-local}. -type: requirement diff --git a/spec/req/rtems/userext/val/ident.yml b/spec/req/rtems/userext/val/ident.yml deleted file mode 100644 index 6da57c5d..00000000 --- a/spec/req/rtems/userext/val/ident.yml +++ /dev/null @@ -1,47 +0,0 @@ -SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -enabled-by: true -links: -- role: validation - uid: ../ident -test-actions: -- action: | - ${../../ident-local:/test-run}( - id_local_object, - ClassicUserExtIdentAction - ); - checks: [] - description: | - Run the generic object identification tests for Classic API user extension - class objects defined by ${../../ident-local}. - links: [] -test-brief: Test the ${/if/rtems/userext/ident:/name} directive. -test-description: null -test-epilogue: null -test-fixture: null -test-header: null -test-includes: [] -test-local-includes: -- tr-object-ident-local.h -test-prologue: | - static const rtems_extensions_table table; - rtems_status_code sc; - rtems_id id_local_object; - - sc = rtems_extension_create( - ClassicObjectLocalIdentName, - &table, - &id_local_object - ); - T_assert_rsc_success( sc ); -test-support: | - static rtems_status_code ClassicUserExtIdentAction( - rtems_name name, - rtems_id *id - ) - { - return rtems_extension_ident( name, id ); - } -test-target: testsuites/validation/tc-userext-ident.c -type: test-case diff --git a/spec/system.yml b/spec/req/system.yml index 39b2b04b..39b2b04b 100644 --- a/spec/system.yml +++ b/spec/req/system.yml diff --git a/spec/if/rtems/attr/application-task.yml b/spec/rtems/attr/if/application-task.yml index b33293e2..b33293e2 100644 --- a/spec/if/rtems/attr/application-task.yml +++ b/spec/rtems/attr/if/application-task.yml diff --git a/spec/rtems/attr/if/attribute.yml b/spec/rtems/attr/if/attribute.yml new file mode 100644 index 00000000..18054d55 --- /dev/null +++ b/spec/rtems/attr/if/attribute.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type is used to represent Classic API attributes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_attribute +notes: | + Attributes are primarily used when creating objects. +type: interface diff --git a/spec/if/rtems/attr/barrier-automatic-release.yml b/spec/rtems/attr/if/barrier-automatic-release.yml index f60760d0..f60760d0 100644 --- a/spec/if/rtems/attr/barrier-automatic-release.yml +++ b/spec/rtems/attr/if/barrier-automatic-release.yml diff --git a/spec/if/rtems/attr/barrier-manual-release.yml b/spec/rtems/attr/if/barrier-manual-release.yml index 27c3d02b..27c3d02b 100644 --- a/spec/if/rtems/attr/barrier-manual-release.yml +++ b/spec/rtems/attr/if/barrier-manual-release.yml diff --git a/spec/if/rtems/attr/binary-semaphore.yml b/spec/rtems/attr/if/binary-semaphore.yml index f994060e..f994060e 100644 --- a/spec/if/rtems/attr/binary-semaphore.yml +++ b/spec/rtems/attr/if/binary-semaphore.yml diff --git a/spec/if/rtems/attr/counting-semaphore.yml b/spec/rtems/attr/if/counting-semaphore.yml index 9d7c69ad..9d7c69ad 100644 --- a/spec/if/rtems/attr/counting-semaphore.yml +++ b/spec/rtems/attr/if/counting-semaphore.yml diff --git a/spec/if/rtems/attr/default.yml b/spec/rtems/attr/if/default.yml index 1c4985fa..1c4985fa 100644 --- a/spec/if/rtems/attr/default.yml +++ b/spec/rtems/attr/if/default.yml diff --git a/spec/if/rtems/attr/fifo.yml b/spec/rtems/attr/if/fifo.yml index 4df3d6e7..4df3d6e7 100644 --- a/spec/if/rtems/attr/fifo.yml +++ b/spec/rtems/attr/if/fifo.yml diff --git a/spec/if/rtems/attr/floating-point.yml b/spec/rtems/attr/if/floating-point.yml index 40b8ea94..40b8ea94 100644 --- a/spec/if/rtems/attr/floating-point.yml +++ b/spec/rtems/attr/if/floating-point.yml diff --git a/spec/if/rtems/attr/global.yml b/spec/rtems/attr/if/global.yml index a88b886c..a88b886c 100644 --- a/spec/if/rtems/attr/global.yml +++ b/spec/rtems/attr/if/global.yml diff --git a/spec/rtems/attr/if/group.yml b/spec/rtems/attr/if/group.yml new file mode 100644 index 00000000..d28fd5d4 --- /dev/null +++ b/spec/rtems/attr/if/group.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains the Classic API directive attributes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicAttr +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Directive Attributes +text: | + The Classic API shall provide an interface to directive attributes. +type: interface diff --git a/spec/rtems/attr/if/header.yml b/spec/rtems/attr/if/header.yml new file mode 100644 index 00000000..ae4340e8 --- /dev/null +++ b/spec/rtems/attr/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines attributes provided by the API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/attr.h +prefix: cpukit/include +type: interface diff --git a/spec/if/rtems/attr/inherit-priority.yml b/spec/rtems/attr/if/inherit-priority.yml index 161472d2..161472d2 100644 --- a/spec/if/rtems/attr/inherit-priority.yml +++ b/spec/rtems/attr/if/inherit-priority.yml diff --git a/spec/if/rtems/attr/local.yml b/spec/rtems/attr/if/local.yml index 9147f3cf..9147f3cf 100644 --- a/spec/if/rtems/attr/local.yml +++ b/spec/rtems/attr/if/local.yml diff --git a/spec/if/rtems/attr/multiprocessor-resource-sharing.yml b/spec/rtems/attr/if/multiprocessor-resource-sharing.yml index 3cb4c0c6..3cb4c0c6 100644 --- a/spec/if/rtems/attr/multiprocessor-resource-sharing.yml +++ b/spec/rtems/attr/if/multiprocessor-resource-sharing.yml diff --git a/spec/if/rtems/attr/no-floating-point.yml b/spec/rtems/attr/if/no-floating-point.yml index 0d97cab4..0d97cab4 100644 --- a/spec/if/rtems/attr/no-floating-point.yml +++ b/spec/rtems/attr/if/no-floating-point.yml diff --git a/spec/if/rtems/attr/no-inherit-priority.yml b/spec/rtems/attr/if/no-inherit-priority.yml index c3d8656f..c3d8656f 100644 --- a/spec/if/rtems/attr/no-inherit-priority.yml +++ b/spec/rtems/attr/if/no-inherit-priority.yml diff --git a/spec/if/rtems/attr/no-multiprocessor-resource-sharing.yml b/spec/rtems/attr/if/no-multiprocessor-resource-sharing.yml index 050627d5..050627d5 100644 --- a/spec/if/rtems/attr/no-multiprocessor-resource-sharing.yml +++ b/spec/rtems/attr/if/no-multiprocessor-resource-sharing.yml diff --git a/spec/if/rtems/attr/no-priority-ceiling.yml b/spec/rtems/attr/if/no-priority-ceiling.yml index ee71f3f3..ee71f3f3 100644 --- a/spec/if/rtems/attr/no-priority-ceiling.yml +++ b/spec/rtems/attr/if/no-priority-ceiling.yml diff --git a/spec/if/rtems/attr/priority-ceiling.yml b/spec/rtems/attr/if/priority-ceiling.yml index c5e8ba7b..c5e8ba7b 100644 --- a/spec/if/rtems/attr/priority-ceiling.yml +++ b/spec/rtems/attr/if/priority-ceiling.yml diff --git a/spec/if/rtems/attr/priority.yml b/spec/rtems/attr/if/priority.yml index 363b548c..363b548c 100644 --- a/spec/if/rtems/attr/priority.yml +++ b/spec/rtems/attr/if/priority.yml diff --git a/spec/if/rtems/attr/semaphore-class.yml b/spec/rtems/attr/if/semaphore-class.yml index d719886b..d719886b 100644 --- a/spec/if/rtems/attr/semaphore-class.yml +++ b/spec/rtems/attr/if/semaphore-class.yml diff --git a/spec/if/rtems/attr/simple-binary-semaphore.yml b/spec/rtems/attr/if/simple-binary-semaphore.yml index 4853914e..4853914e 100644 --- a/spec/if/rtems/attr/simple-binary-semaphore.yml +++ b/spec/rtems/attr/if/simple-binary-semaphore.yml diff --git a/spec/if/rtems/attr/system-task.yml b/spec/rtems/attr/if/system-task.yml index f3e775ca..f3e775ca 100644 --- a/spec/if/rtems/attr/system-task.yml +++ b/spec/rtems/attr/if/system-task.yml diff --git a/spec/rtems/attr/req/bit-set.yml b/spec/rtems/attr/req/bit-set.yml new file mode 100644 index 00000000..fee72247 --- /dev/null +++ b/spec/rtems/attr/req/bit-set.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + Each non-default directive attribute constant shall be a power of two + representable as an integer of type ${../if/attribute}. +type: requirement diff --git a/spec/rtems/attr/req/default.yml b/spec/rtems/attr/req/default.yml new file mode 100644 index 00000000..f3f0e32c --- /dev/null +++ b/spec/rtems/attr/req/default.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + Each default directive attribute constant shall have a value of zero. +type: requirement diff --git a/spec/rtems/attr/req/semaphore-class.yml b/spec/rtems/attr/req/semaphore-class.yml new file mode 100644 index 00000000..0323dd29 --- /dev/null +++ b/spec/rtems/attr/req/semaphore-class.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/semaphore-class +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + The ${../if/semaphore-class:/name} constant shall be equal to the bitwise or + of ${../if/binary-semaphore:/name}, ${../if/counting-semaphore:/name}, and + ${../if/simple-binary-semaphore:/name}. +type: requirement diff --git a/spec/rtems/attr/req/unique.yml b/spec/rtems/attr/req/unique.yml new file mode 100644 index 00000000..30e73461 --- /dev/null +++ b/spec/rtems/attr/req/unique.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + The non-default directive attribute constants shall have unique values. +type: requirement diff --git a/spec/rtems/attr/val/attr.yml b/spec/rtems/attr/val/attr.yml new file mode 100644 index 00000000..83894365 --- /dev/null +++ b/spec/rtems/attr/val/attr.yml @@ -0,0 +1,278 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +test-actions: +- action: | + /* No action */ + checks: + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_BARRIER_MANUAL_RELEASE ) ); + description: | + Check that RTEMS_BARRIER_MANUAL_RELEASE is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/barrier-manual-release + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_BINARY_SEMAPHORE ) ); + description: | + Check that RTEMS_BINARY_SEMAPHORE is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/binary-semaphore + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_FLOATING_POINT ) ); + description: | + Check that RTEMS_FLOATING_POINT is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/floating-point + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_GLOBAL ) ); + description: | + Check that RTEMS_GLOBAL is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/global + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_INHERIT_PRIORITY ) ); + description: | + Check that RTEMS_INHERIT_PRIORITY is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/inherit-priority + - check: | + T_step_true( + ${step}, + IsPowerOfTwo( RTEMS_MULTIPROCESSOR_RESOURCE_SHARING ) + ); + description: | + Check that RTEMS_MULTIPROCESSOR_RESOURCE_SHARING is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/multiprocessor-resource-sharing + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_PRIORITY ) ); + description: | + Check that RTEMS_PRIORITY is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/priority + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_PRIORITY_CEILING ) ); + description: | + Check that RTEMS_PRIORITY_CEILING is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/priority-ceiling + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_SIMPLE_BINARY_SEMAPHORE ) ); + description: | + Check that RTEMS_SIMPLE_BINARY_SEMAPHORE is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/simple-binary-semaphore + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_SYSTEM_TASK ) ); + description: | + Check that RTEMS_SYSTEM_TASK is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/system-task + description: | + Validate the non-default attribute constants. + links: [] +- action: | + /* No action */ + checks: + - check: | + T_step_eq_u32( ${step}, RTEMS_APPLICATION_TASK, 0 ); + description: | + Check that RTEMS_APPLICATION_TASK is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/application-task + - check: | + T_step_eq_u32( ${step}, RTEMS_BARRIER_MANUAL_RELEASE, 0 ); + description: | + Check that RTEMS_BARRIER_MANUAL_RELEASE is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/barrier-manual-release + - check: | + T_step_eq_u32( ${step}, RTEMS_COUNTING_SEMAPHORE, 0 ); + description: | + Check that RTEMS_COUNTING_SEMAPHORE is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/counting-semaphore + - check: | + T_step_eq_u32( ${step}, RTEMS_DEFAULT_ATTRIBUTES, 0 ); + description: | + Check that RTEMS_DEFAULT_ATTRIBUTES is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/default + - check: | + T_step_eq_u32( ${step}, RTEMS_FIFO, 0 ); + description: | + Check that RTEMS_FIFO is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/fifo + - check: | + T_step_eq_u32( ${step}, RTEMS_LOCAL, 0 ); + description: | + Check that RTEMS_LOCAL is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/local + - check: | + T_step_eq_u32( ${step}, RTEMS_NO_FLOATING_POINT, 0 ); + description: | + Check that RTEMS_NO_FLOATING_POINT is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/no-floating-point + - check: | + T_step_eq_u32( ${step}, RTEMS_NO_INHERIT_PRIORITY, 0 ); + description: | + Check that RTEMS_NO_INHERIT_PRIORITY is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/no-inherit-priority + - check: | + T_step_eq_u32( ${step}, RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING, 0 ); + description: | + Check that RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/no-multiprocessor-resource-sharing + - check: | + T_step_eq_u32( ${step}, RTEMS_NO_PRIORITY_CEILING, 0 ); + description: | + Check that RTEMS_NO_PRIORITY_CEILING is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/no-priority-ceiling + description: | + Validate the default attribute constants. + links: [] +- action: | + attributes = 0; + attributes |= RTEMS_BARRIER_AUTOMATIC_RELEASE; + attributes |= RTEMS_BINARY_SEMAPHORE; + attributes |= RTEMS_FLOATING_POINT; + attributes |= RTEMS_GLOBAL; + attributes |= RTEMS_INHERIT_PRIORITY; + attributes |= RTEMS_MULTIPROCESSOR_RESOURCE_SHARING; + attributes |= RTEMS_PRIORITY; + attributes |= RTEMS_PRIORITY_CEILING; + attributes |= RTEMS_SEMAPHORE_CLASS; + attributes |= RTEMS_SIMPLE_BINARY_SEMAPHORE; + attributes |= RTEMS_SYSTEM_TASK; + checks: + - check: | + T_step_eq_int( ${step}, PopCount( attributes ), 10 ); + description: | + Check that the count of set bits in the calculated value is equal to the + count of non-default attribute constants. Since each non-default + attribute constant is a power of two, this proves that each constant has + a unique value. + links: + - role: validation + uid: ../req/unique + description: | + Calculate the bitwise or of all non-default attribute constants. + links: [] +- action: | + attributes = 0; + attributes |= RTEMS_BINARY_SEMAPHORE; + attributes |= RTEMS_COUNTING_SEMAPHORE; + attributes |= RTEMS_SIMPLE_BINARY_SEMAPHORE; + checks: + - check: | + T_step_eq_u32( ${step}, RTEMS_SEMAPHORE_CLASS, attributes ); + description: | + Check that the calculated value is equal to RTEMS_SEMAPHORE_CLASS. + links: + - role: validation + uid: ../req/semaphore-class + description: | + Calculate the bitwise or of the RTEMS_BINARY_SEMAPHORE, + RTEMS_COUNTING_SEMAPHORE, and RTEMS_SIMPLE_BINARY_SEMAPHORE attribute + constants. + links: [] +test-brief: | + Tests the attribute constants of the Classic API. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: +- rtems.h +test-local-includes: [] +test-prologue: | + rtems_attribute attributes; +test-support: | + static bool IsPowerOfTwo( rtems_attribute attribute ) + { + return attribute != 0 && ( attribute & ( attribute - 1 ) ) == 0; + } + + static int PopCount( rtems_attribute attributes ) + { + int count; + + count = 0; + + while ( attributes != 0 ) { + ++count; + attributes &= attributes - 1; + } + + return count; + } +test-target: testsuites/validation/tc-attr.c +type: test-case diff --git a/spec/rtems/barrier/if/create.yml b/spec/rtems/barrier/if/create.yml new file mode 100644 index 00000000..b0dabd18 --- /dev/null +++ b/spec/rtems/barrier/if/create.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../attr/if/attribute:/name} ${.:/params[1]/name} + - ${/c/if/uint32_t:/name} ${.:/params[2]/name} + - ${../../type/if/id:/name} *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_barrier_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: attribute_set +- description: '%' + dir: null + name: maximum_waiters +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/barrier/if/delete.yml b/spec/rtems/barrier/if/delete.yml new file mode 100644 index 00000000..50bcfd86 --- /dev/null +++ b/spec/rtems/barrier/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_barrier_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/barrier/if/group.yml b/spec/rtems/barrier/if/group.yml new file mode 100644 index 00000000..b46c4745 --- /dev/null +++ b/spec/rtems/barrier/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Barrier Manager provides a unique synchronization capability which can be + used to have a set of tasks block and be unblocked as a set. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicBarrier +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Barrier Manager +text: | + The Classic API shall provide an interface to the Barrier Manager. +type: interface diff --git a/spec/rtems/barrier/if/header.yml b/spec/rtems/barrier/if/header.yml new file mode 100644 index 00000000..0c34ed64 --- /dev/null +++ b/spec/rtems/barrier/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Barrier Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/barrier.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/barrier/if/ident.yml b/spec/rtems/barrier/if/ident.yml new file mode 100644 index 00000000..5fba7108 --- /dev/null +++ b/spec/rtems/barrier/if/ident.yml @@ -0,0 +1,60 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a barrier object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the barrier identifier associated with the barrier + name specified in ``${.:/params[0]/name}``. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_barrier_ident +notes: | + If the barrier name is not unique, then the barrier identifier will match the + first barrier with that name in the search order. However, this barrier + identifier is not guaranteed to correspond to the desired barrier. The + barrier identifier is used with other barrier related directives to access + the barrier. + + The objects are searched from lowest to the highest index. Only the local + node is searched. +params: +- description: is the object name to look up. + dir: null + name: name +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the local node. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/rtems/barrier/if/release.yml b/spec/rtems/barrier/if/release.yml new file mode 100644 index 00000000..1aa1915c --- /dev/null +++ b/spec/rtems/barrier/if/release.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_barrier_release +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: released +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/barrier/if/wait.yml b/spec/rtems/barrier/if/wait.yml new file mode 100644 index 00000000..acc51cb5 --- /dev/null +++ b/spec/rtems/barrier/if/wait.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/interval:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_barrier_wait +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: timeout +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/barrier/req/ident.yml b/spec/rtems/barrier/req/ident.yml new file mode 100644 index 00000000..b228179f --- /dev/null +++ b/spec/rtems/barrier/req/ident.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/ident +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/ident:/name} directive shall identify an Classic API + barrier class object by its name as specified by ${../req/ident-local}. +type: requirement diff --git a/spec/rtems/barrier/val/ident.yml b/spec/rtems/barrier/val/ident.yml new file mode 100644 index 00000000..2db5bdc8 --- /dev/null +++ b/spec/rtems/barrier/val/ident.yml @@ -0,0 +1,47 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/ident +test-actions: +- action: | + ${../../req/ident-local:/test-run}( + id_local_object, + ClassicBarrierIdentAction + ); + checks: [] + description: | + Run the generic object identification tests for Classic API partition class + objects defined by ${../../req/ident-local}. + links: [] +test-brief: Test the ${../if/ident:/name} directive. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident-local.h +test-prologue: | + rtems_status_code sc; + rtems_id id_local_object; + + sc = rtems_barrier_create( + ClassicObjectLocalIdentName, + RTEMS_DEFAULT_ATTRIBUTES, + 1, + &id_local_object + ); + T_assert_rsc_success( sc ); +test-support: | + static rtems_status_code ClassicBarrierIdentAction( + rtems_name name, + rtems_id *id + ) + { + return rtems_barrier_ident( name, id ); + } +test-target: testsuites/validation/tc-barrier-ident.c +type: test-case diff --git a/spec/rtems/basedefs/if/alias.yml b/spec/rtems/basedefs/if/alias.yml new file mode 100644 index 00000000..dcd8827c --- /dev/null +++ b/spec/rtems/basedefs/if/alias.yml @@ -0,0 +1,31 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Instructs the compiler to generate an alias to the specified target function. +copyrights: +- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__alias__(#_target))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_ALIAS +notes: null +params: +- description: | + is the target function name. + dir: null + name: _target +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/basedefs/align-down.yml b/spec/rtems/basedefs/if/align-down.yml index a309b03f..a309b03f 100644 --- a/spec/if/rtems/basedefs/align-down.yml +++ b/spec/rtems/basedefs/if/align-down.yml diff --git a/spec/if/rtems/basedefs/align-up.yml b/spec/rtems/basedefs/if/align-up.yml index cb3a46dd..cb3a46dd 100644 --- a/spec/if/rtems/basedefs/align-up.yml +++ b/spec/rtems/basedefs/if/align-up.yml diff --git a/spec/rtems/basedefs/if/aligned.yml b/spec/rtems/basedefs/if/aligned.yml new file mode 100644 index 00000000..9dfc84aa --- /dev/null +++ b/spec/rtems/basedefs/if/aligned.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Instructs the compiler in a declaration or definition to enforce the + specified alignment. +copyrights: +- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__aligned__(_alignment))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_ALIGNED +notes: null +params: +- description: | + is the desired alignment in bytes. + dir: null + name: _alignment +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/alloc-align.yml b/spec/rtems/basedefs/if/alloc-align.yml new file mode 100644 index 00000000..32a39b73 --- /dev/null +++ b/spec/rtems/basedefs/if/alloc-align.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a declaration that the memory allocation alignment + parameter of this function is similar to aligned_alloc(). +copyrights: +- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__alloc_align__(_index))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_ALLOC_ALIGN +notes: null +params: +- description: | + is the allocation alignment parameter index (starting with one). + dir: null + name: _index +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/alloc-size-2.yml b/spec/rtems/basedefs/if/alloc-size-2.yml new file mode 100644 index 00000000..08791bfb --- /dev/null +++ b/spec/rtems/basedefs/if/alloc-size-2.yml @@ -0,0 +1,36 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a declaration that the memory allocation item count and + item size parameter of this function is similar to calloc(). +copyrights: +- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__alloc_size__(_count_index, _size_index))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_ALLOC_SIZE_2 +notes: null +params: +- description: | + is the allocation item count parameter index (starting with one). + dir: null + name: _count_index +- description: | + is the allocation item size parameter index (starting with one). + dir: null + name: _size_index +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/alloc-size.yml b/spec/rtems/basedefs/if/alloc-size.yml new file mode 100644 index 00000000..76a52baa --- /dev/null +++ b/spec/rtems/basedefs/if/alloc-size.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a declaration that the memory allocation size parameter + of this function is similar to malloc(). +copyrights: +- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__alloc_size__(_index))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_ALLOC_SIZE +notes: null +params: +- description: | + is the allocation size parameter index (starting with one). + dir: null + name: _index +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/basedefs/array-size.yml b/spec/rtems/basedefs/if/array-size.yml index 61131d9d..61131d9d 100644 --- a/spec/if/rtems/basedefs/array-size.yml +++ b/spec/rtems/basedefs/if/array-size.yml diff --git a/spec/if/rtems/basedefs/compiler-deprecated-attribute.yml b/spec/rtems/basedefs/if/compiler-deprecated-attribute.yml index 4530cb73..4530cb73 100644 --- a/spec/if/rtems/basedefs/compiler-deprecated-attribute.yml +++ b/spec/rtems/basedefs/if/compiler-deprecated-attribute.yml diff --git a/spec/rtems/basedefs/if/compiler-memory-barrier.yml b/spec/rtems/basedefs/if/compiler-memory-barrier.yml new file mode 100644 index 00000000..709eb350 --- /dev/null +++ b/spec/rtems/basedefs/if/compiler-memory-barrier.yml @@ -0,0 +1,28 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This macro forbids the compiler to reorder read and write commands around it. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + do { } while ( 0 ) + variants: + - definition: | + ${/compiler/if/asm:/name} volatile( "" ::: "memory" ) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_COMPILER_MEMORY_BARRIER +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/basedefs/compiler-no-return-attribute.yml b/spec/rtems/basedefs/if/compiler-no-return-attribute.yml index b47611f3..b47611f3 100644 --- a/spec/if/rtems/basedefs/compiler-no-return-attribute.yml +++ b/spec/rtems/basedefs/if/compiler-no-return-attribute.yml diff --git a/spec/if/rtems/basedefs/compiler-packed-attribute.yml b/spec/rtems/basedefs/if/compiler-packed-attribute.yml index 75e7d956..75e7d956 100644 --- a/spec/if/rtems/basedefs/compiler-packed-attribute.yml +++ b/spec/rtems/basedefs/if/compiler-packed-attribute.yml diff --git a/spec/if/rtems/basedefs/compiler-pure-attribute.yml b/spec/rtems/basedefs/if/compiler-pure-attribute.yml index 5acbc6e6..5acbc6e6 100644 --- a/spec/if/rtems/basedefs/compiler-pure-attribute.yml +++ b/spec/rtems/basedefs/if/compiler-pure-attribute.yml diff --git a/spec/if/rtems/basedefs/compiler-used-attribute.yml b/spec/rtems/basedefs/if/compiler-used-attribute.yml index 29f60daa..29f60daa 100644 --- a/spec/if/rtems/basedefs/compiler-used-attribute.yml +++ b/spec/rtems/basedefs/if/compiler-used-attribute.yml diff --git a/spec/if/rtems/basedefs/concat.yml b/spec/rtems/basedefs/if/concat.yml index 7fb231e9..7fb231e9 100644 --- a/spec/if/rtems/basedefs/concat.yml +++ b/spec/rtems/basedefs/if/concat.yml diff --git a/spec/rtems/basedefs/if/const.yml b/spec/rtems/basedefs/if/const.yml new file mode 100644 index 00000000..adbe611b --- /dev/null +++ b/spec/rtems/basedefs/if/const.yml @@ -0,0 +1,25 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a function declaration that this function has no effect + except the return value and that the return value depends only on the value + of parameters. +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__const__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_CONST +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/container-of.yml b/spec/rtems/basedefs/if/container-of.yml new file mode 100644 index 00000000..4a7b7a83 --- /dev/null +++ b/spec/rtems/basedefs/if/container-of.yml @@ -0,0 +1,37 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the pointer to the container of a specified member pointer. +copyrights: +- Copyright (C) 2014 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + ( (_type *) ( (${/c/if/uintptr_t:/name}) ( _m ) - ${/c/if/offsetof:/name}( _type, _member_name ) ) ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_CONTAINER_OF +notes: null +params: +- description: | + is the pointer to a member of the container. + dir: null + name: _m +- description: | + is the type of the container. + dir: null + name: _type +- description: | + is the designator name of the container member. + dir: null + name: _member_name +return: + return: | + Returns the pointer to the container of a specified member pointer. + return-values: [] +type: interface diff --git a/spec/if/rtems/basedefs/declare-global-symbol.yml b/spec/rtems/basedefs/if/declare-global-symbol.yml index b46bc08d..b46bc08d 100644 --- a/spec/if/rtems/basedefs/declare-global-symbol.yml +++ b/spec/rtems/basedefs/if/declare-global-symbol.yml diff --git a/spec/if/rtems/basedefs/deconst.yml b/spec/rtems/basedefs/if/deconst.yml index 683ae87a..683ae87a 100644 --- a/spec/if/rtems/basedefs/deconst.yml +++ b/spec/rtems/basedefs/if/deconst.yml diff --git a/spec/rtems/basedefs/if/define-global-symbol.yml b/spec/rtems/basedefs/if/define-global-symbol.yml new file mode 100644 index 00000000..ae3116f6 --- /dev/null +++ b/spec/rtems/basedefs/if/define-global-symbol.yml @@ -0,0 +1,44 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Defines a global symbol with the specified name and value. +copyrights: +- Copyright (C) 2018, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + ${/compiler/if/asm:/name}( + "\t.globl " ${xstring:/name}( ${symbol-name:/name}( _name ) ) + "\n\t.set " ${xstring:/name}( ${symbol-name:/name}( _name ) ) + ", " ${string:/name}( _value ) "\n" + ) + enabled-by: + - defined(${/compiler/if/user-label-prefix:/name}) +description: | + This macro shall be placed at file scope. +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_DEFINE_GLOBAL_SYMBOL +notes: null +params: +- description: | + is the user defined name of the symbol. The name shall be a valid + designator. On the name a macro expansion is performed and afterwards it + is stringified. + dir: null + name: _name +- description: | + is the value of the symbol. On the value a macro expansion is performed + and afterwards it is stringified. It shall expand to an integer expression + understood by the assembler. + dir: null + name: _value +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/deprecated.yml b/spec/rtems/basedefs/if/deprecated.yml new file mode 100644 index 00000000..ca7e2137 --- /dev/null +++ b/spec/rtems/basedefs/if/deprecated.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Instructs the compiler in a declaration to issue a warning whenever a + variable, function, or type using this declaration will be used. +copyrights: +- Copyright (C) 2009 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__deprecated__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_DEPRECATED +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/dequalify-depthx.yml b/spec/rtems/basedefs/if/dequalify-depthx.yml new file mode 100644 index 00000000..a3ad7cec --- /dev/null +++ b/spec/rtems/basedefs/if/dequalify-depthx.yml @@ -0,0 +1,50 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Performs a type cast which removes qualifiers without warnings to the + specified type for the specified variable. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2014 Paval Pisa +definition: + default: ((_type)(${/c/if/uintptr_t:/name})(const volatile void *)(_var)) + variants: + - definition: | + (const_cast<_type>(_var)) + enabled-by: + - defined(${/compiler/if/cplusplus:/name}) + - definition: | + ${/compiler/if/builtin-choose-expr:/name}(${/compiler/if/builtin-types-compatible-p:/name}( + ${typeof-refx:/name}(_ptr_level, _var), + ${typeof-refx:/name}(_ptr_level, _type) + ) || ${/compiler/if/builtin-types-compatible-p:/name}(_type, void *), + (_type)(_var), + ${/score/if/dequalify-types-not-compatible:/name}()) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_DEQUALIFY_DEPTHX +notes: null +params: +- description: | + is the pointer indirection level expressed in *. + dir: null + name: _ptr_level +- description: | + is the target type of the cast. + dir: null + name: _type +- description: | + is the variable. + dir: null + name: _var +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/basedefs/dequalify.yml b/spec/rtems/basedefs/if/dequalify.yml index 9573284b..9573284b 100644 --- a/spec/if/rtems/basedefs/dequalify.yml +++ b/spec/rtems/basedefs/if/dequalify.yml diff --git a/spec/if/rtems/basedefs/devolatile.yml b/spec/rtems/basedefs/if/devolatile.yml index 5fcab59c..5fcab59c 100644 --- a/spec/if/rtems/basedefs/devolatile.yml +++ b/spec/rtems/basedefs/if/devolatile.yml diff --git a/spec/if/rtems/basedefs/expand.yml b/spec/rtems/basedefs/if/expand.yml index f1a198fd..f1a198fd 100644 --- a/spec/if/rtems/basedefs/expand.yml +++ b/spec/rtems/basedefs/if/expand.yml diff --git a/spec/if/rtems/basedefs/false.yml b/spec/rtems/basedefs/if/false.yml index e566e0bd..e566e0bd 100644 --- a/spec/if/rtems/basedefs/false.yml +++ b/spec/rtems/basedefs/if/false.yml diff --git a/spec/rtems/basedefs/if/group.yml b/spec/rtems/basedefs/if/group.yml new file mode 100644 index 00000000..87218ed8 --- /dev/null +++ b/spec/rtems/basedefs/if/group.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains basic macros and defines to give access to + compiler-specific features. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIBaseDefs +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /if/api +name: Base Definitions +text: | + The API shall provide an interface to compiler-specific features. +type: interface diff --git a/spec/rtems/basedefs/if/have-member-same-type.yml b/spec/rtems/basedefs/if/have-member-same-type.yml new file mode 100644 index 00000000..ba099a24 --- /dev/null +++ b/spec/rtems/basedefs/if/have-member-same-type.yml @@ -0,0 +1,48 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Evaluates to true if the specified members of two types have compatible + types, otherwise to false. +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + ${/c/if/true:/name} + variants: + - definition: | + ${/compiler/if/builtin-types-compatible-p:/name}( + ${/compiler/if/typeof:/name}( ( (_t_lhs *) 0 )->_m_lhs ), + ${/compiler/if/typeof:/name}( ( (_t_rhs *) 0 )->_m_rhs ) + ) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_HAVE_MEMBER_SAME_TYPE +notes: null +params: +- description: | + is the left hand side type. + dir: null + name: _t_lhs +- description: | + is the left hand side member. + dir: null + name: _m_lhs +- description: | + is the right hand side type. + dir: null + name: _t_rhs +- description: | + is the right hand side member. + dir: null + name: _m_rhs +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/header.yml b/spec/rtems/basedefs/if/header.yml new file mode 100644 index 00000000..2fc39dcd --- /dev/null +++ b/spec/rtems/basedefs/if/header.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file provides basic definitions used by the API and + the implementation. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- enabled-by: true + role: interface-include + uid: /build-options/if/cpuopts +- enabled-by: + not: ASM + role: interface-include + uid: /c/if/stddef +- enabled-by: + not: ASM + role: interface-include + uid: /c/if/stdbool +- enabled-by: + not: ASM + role: interface-include + uid: /c/if/stdint +- role: interface-placement + uid: /if/domain +path: rtems/score/basedefs.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/basedefs/if/inline-routine.yml b/spec/rtems/basedefs/if/inline-routine.yml new file mode 100644 index 00000000..d06c1bf0 --- /dev/null +++ b/spec/rtems/basedefs/if/inline-routine.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Gives a hint to the compiler in a function declaration to inline this + function. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: static inline + variants: + - definition: static __inline__ + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_INLINE_ROUTINE +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/malloclike.yml b/spec/rtems/basedefs/if/malloclike.yml new file mode 100644 index 00000000..01d60260 --- /dev/null +++ b/spec/rtems/basedefs/if/malloclike.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a declaration that this function is a memory allocation + function similar to malloc(). +copyrights: +- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__malloc__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_MALLOCLIKE +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/no-inline.yml b/spec/rtems/basedefs/if/no-inline.yml new file mode 100644 index 00000000..85c0ac08 --- /dev/null +++ b/spec/rtems/basedefs/if/no-inline.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Instructs the compiler in a function declaration to not inline this function. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__noinline__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_NO_INLINE +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/no-return.yml b/spec/rtems/basedefs/if/no-return.yml new file mode 100644 index 00000000..614ad159 --- /dev/null +++ b/spec/rtems/basedefs/if/no-return.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a function declaration that this function does not + return. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__noreturn__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_NO_RETURN +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/obfuscate-variable.yml b/spec/rtems/basedefs/if/obfuscate-variable.yml new file mode 100644 index 00000000..7ad18bef --- /dev/null +++ b/spec/rtems/basedefs/if/obfuscate-variable.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Obfuscates the variable so that the compiler cannot perform optimizations + based on the variable value. +copyrights: +- Copyright (C) 2016, 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + (void) (_var) + variants: + - definition: | + ${/compiler/if/asm:/name}( "" : "+r" ( _var ) ) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: | + The variable must be simple enough to fit into a register. +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_OBFUSCATE_VARIABLE +notes: null +params: +- description: | + is the variable to obfuscate. + dir: null + name: _var +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/packed.yml b/spec/rtems/basedefs/if/packed.yml new file mode 100644 index 00000000..a575a77f --- /dev/null +++ b/spec/rtems/basedefs/if/packed.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Instructs the compiler in a type definition to place members of a structure + or union so that the memory required is minimized. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__packed__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_PACKED +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/predict-false.yml b/spec/rtems/basedefs/if/predict-false.yml new file mode 100644 index 00000000..5bf13563 --- /dev/null +++ b/spec/rtems/basedefs/if/predict-false.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the value of the specified integral expression and tells the compiler + that the predicted value is false (1). +copyrights: +- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + ( _exp ) + variants: + - definition: | + ${/compiler/if/builtin-expect:/name}( ( _exp ), 0 ) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_PREDICT_FALSE +notes: null +params: +- description: | + is the expression. + dir: null + name: _exp +return: + return: The value of the expression. + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/predict-true.yml b/spec/rtems/basedefs/if/predict-true.yml new file mode 100644 index 00000000..47bea311 --- /dev/null +++ b/spec/rtems/basedefs/if/predict-true.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the value of the specified integral expression and tells the compiler + that the predicted value is true (1). +copyrights: +- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + ( _exp ) + variants: + - definition: | + ${/compiler/if/builtin-expect:/name}( ( _exp ), 1 ) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_PREDICT_TRUE +notes: null +params: +- description: | + is the expression. + dir: null + name: _exp +return: + return: The value of the expression. + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/printflike.yml b/spec/rtems/basedefs/if/printflike.yml new file mode 100644 index 00000000..07ba944a --- /dev/null +++ b/spec/rtems/basedefs/if/printflike.yml @@ -0,0 +1,37 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a declaration that this function expects printf()-like + arguments. +copyrights: +- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__format__(__printf__, _format_pos, _ap_pos))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_PRINTFLIKE +notes: null +params: +- description: | + is the position of the format parameter index (starting with one). + dir: null + name: _format_pos +- description: | + is the position of the argument pointer parameter index (starting with + one). + dir: null + name: _ap_pos +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/pure.yml b/spec/rtems/basedefs/if/pure.yml new file mode 100644 index 00000000..f5c946a4 --- /dev/null +++ b/spec/rtems/basedefs/if/pure.yml @@ -0,0 +1,25 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a function declaration that this function has no effect + except the return value and that the return value depends only on the value + of parameters and/or global variables. +copyrights: +- Copyright (C) 2011 On-Line Applications Research Corporation (OAR) +definition: + default: '' + variants: + - definition: | + __attribute__((__pure__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_PURE +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/return-address.yml b/spec/rtems/basedefs/if/return-address.yml new file mode 100644 index 00000000..6ce94694 --- /dev/null +++ b/spec/rtems/basedefs/if/return-address.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the return address of the current function. +copyrights: +- Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/c/if/null:/name} + variants: + - definition: | + ${/compiler/if/builtin-return-address:/name}(0) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_RETURN_ADDRESS +notes: null +params: [] +return: + return: The return address of the current function. + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/section.yml b/spec/rtems/basedefs/if/section.yml new file mode 100644 index 00000000..12a6c200 --- /dev/null +++ b/spec/rtems/basedefs/if/section.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Instructs the compiler to place a specific variable or function in the + specified section. +copyrights: +- Copyright (C) 2015 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__section__(_section))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_SECTION +notes: null +params: +- description: | + is the section name as a string. + dir: null + name: _section +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/static-assert.yml b/spec/rtems/basedefs/if/static-assert.yml new file mode 100644 index 00000000..fd95fc0a --- /dev/null +++ b/spec/rtems/basedefs/if/static-assert.yml @@ -0,0 +1,41 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Asserts at compile time that the specified condition is satisfied. +copyrights: +- Copyright (C) 2011, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + struct rtems_static_assert_ ## _msg + { int rtems_static_assert_ ## _msg : (_cond) ? 1 : -1; } + variants: + - definition: | + static_assert(_cond, # _msg) + enabled-by: + - ${/compiler/if/cplusplus:/name} >= 201103L + - definition: | + _Static_assert(_cond, # _msg) + enabled-by: + - ${/compiler/if/stdc-version:/name} >= 201112L +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_STATIC_ASSERT +notes: null +params: +- description: | + is the condition this static assertion shall satisfy. + dir: null + name: _cond +- description: | + is the error message in case the static assertion fails. + dir: null + name: _msg +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/basedefs/string.yml b/spec/rtems/basedefs/if/string.yml index 2c15de47..2c15de47 100644 --- a/spec/if/rtems/basedefs/string.yml +++ b/spec/rtems/basedefs/if/string.yml diff --git a/spec/rtems/basedefs/if/symbol-name.yml b/spec/rtems/basedefs/if/symbol-name.yml new file mode 100644 index 00000000..f06ed9d8 --- /dev/null +++ b/spec/rtems/basedefs/if/symbol-name.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Constructs a symbol name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + ${expand:/name}(_name) + variants: + - definition: | + ${xconcat:/name}(${/compiler/if/user-label-prefix:/name}, _name) + enabled-by: + - defined(${/compiler/if/user-label-prefix:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_SYMBOL_NAME +notes: null +params: +- description: | + is the user defined name of the symbol. The name shall be a valid + designator. On the name a macro expansion is performed. + dir: null + name: _name +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/basedefs/true.yml b/spec/rtems/basedefs/if/true.yml index a63fdda6..a63fdda6 100644 --- a/spec/if/rtems/basedefs/true.yml +++ b/spec/rtems/basedefs/if/true.yml diff --git a/spec/rtems/basedefs/if/typeof-refx.yml b/spec/rtems/basedefs/if/typeof-refx.yml new file mode 100644 index 00000000..7532ffef --- /dev/null +++ b/spec/rtems/basedefs/if/typeof-refx.yml @@ -0,0 +1,37 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the type of a pointer reference of the specified level to the specified type. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2014 Paval Pisa +definition: + default: '' + variants: + - definition: | + ${/compiler/if/typeof:/name}(_level(union { int z; ${/compiler/if/typeof:/name}(_target) x; }){0}.x) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: | + The reference type idea is based on libHX by Jan Engelhardt. +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_TYPEOF_REFX +notes: null +params: +- description: | + is the pointer indirection level expressed in *. + dir: null + name: _level +- description: | + is the reference target type. + dir: null + name: _target +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/unreachable.yml b/spec/rtems/basedefs/if/unreachable.yml new file mode 100644 index 00000000..3a86be75 --- /dev/null +++ b/spec/rtems/basedefs/if/unreachable.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler that this program point is unreachable. +copyrights: +- Copyright (C) 2016 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + ${/score/if/assert-unreachable:/name}() + variants: + - definition: | + do { + ${/compiler/if/builtin-unreachable:/name}(); + ${/score/if/assert-unreachable:/name}(); + } while ( 0 ) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +name: RTEMS_UNREACHABLE +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/unused.yml b/spec/rtems/basedefs/if/unused.yml new file mode 100644 index 00000000..44ffe02d --- /dev/null +++ b/spec/rtems/basedefs/if/unused.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler that a specific variable or function is deliberately + unused. +copyrights: +- Copyright (C) 2013 On-Line Applications Research Corporation (OAR) +definition: + default: '' + variants: + - definition: | + __attribute__((__unused__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_UNUSED +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/used.yml b/spec/rtems/basedefs/if/used.yml new file mode 100644 index 00000000..ea8a4c38 --- /dev/null +++ b/spec/rtems/basedefs/if/used.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler that a specific variable or function is used. +copyrights: +- Copyright (C) 2009 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__used__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_USED +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/warn-unused-result.yml b/spec/rtems/basedefs/if/warn-unused-result.yml new file mode 100644 index 00000000..df17643d --- /dev/null +++ b/spec/rtems/basedefs/if/warn-unused-result.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a declaration that the result of this function should + be used. +copyrights: +- Copyright (C) 2018 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__warn_unused_result__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_WARN_UNUSED_RESULT +notes: null +type: interface diff --git a/spec/rtems/basedefs/if/weak-alias.yml b/spec/rtems/basedefs/if/weak-alias.yml new file mode 100644 index 00000000..b23dec89 --- /dev/null +++ b/spec/rtems/basedefs/if/weak-alias.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Instructs the compiler to generate a weak alias to the specified target + function. +copyrights: +- Copyright (C) 2017 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__weak__, __alias__(#_target))) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_WEAK_ALIAS +notes: null +params: +- description: | + is the target function name. + dir: null + name: _target +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/basedefs/if/weak.yml b/spec/rtems/basedefs/if/weak.yml new file mode 100644 index 00000000..ebd60fb5 --- /dev/null +++ b/spec/rtems/basedefs/if/weak.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Tells the compiler in a function definition that this function should be + weak. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '' + variants: + - definition: | + __attribute__((__weak__)) + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: | + Use this attribute for function definitions. Do not use it for function + declarations. +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_WEAK +notes: null +type: interface diff --git a/spec/if/rtems/basedefs/xconcat.yml b/spec/rtems/basedefs/if/xconcat.yml index b2280356..b2280356 100644 --- a/spec/if/rtems/basedefs/xconcat.yml +++ b/spec/rtems/basedefs/if/xconcat.yml diff --git a/spec/if/rtems/basedefs/xstring.yml b/spec/rtems/basedefs/if/xstring.yml index ba73f8ec..ba73f8ec 100644 --- a/spec/if/rtems/basedefs/xstring.yml +++ b/spec/rtems/basedefs/if/xstring.yml diff --git a/spec/rtems/basedefs/if/zero-length-array.yml b/spec/rtems/basedefs/if/zero-length-array.yml new file mode 100644 index 00000000..e69a17ab --- /dev/null +++ b/spec/rtems/basedefs/if/zero-length-array.yml @@ -0,0 +1,25 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This is a constant to declare zero-length arrays. +copyrights: +- Copyright (C) 2014 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: '0' + variants: + - definition: null + enabled-by: + - ${/compiler/if/stdc-version:/name} >= 199409L +description: | + Zero-length arrays are valid in C99 as flexible array members. C++11 does + not allow flexible array members. Use the GNU extension which is also + supported by other compilers. +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_ZERO_LENGTH_ARRAY +notes: null +type: interface diff --git a/spec/rtems/cache/if/aligned-malloc.yml b/spec/rtems/cache/if/aligned-malloc.yml new file mode 100644 index 00000000..f7443a34 --- /dev/null +++ b/spec/rtems/cache/if/aligned-malloc.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/size_t:/name} ${.:/params[0]/name} + return: void * + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_aligned_malloc +notes: null +params: +- description: '%' + dir: null + name: nbytes +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/coherent-add-area.yml b/spec/rtems/cache/if/coherent-add-area.yml new file mode 100644 index 00000000..677902d6 --- /dev/null +++ b/spec/rtems/cache/if/coherent-add-area.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - void *${.:/params[0]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_coherent_add_area +notes: null +params: +- description: '%' + dir: null + name: area_begin +- description: '%' + dir: null + name: area_size +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/coherent-allocate.yml b/spec/rtems/cache/if/coherent-allocate.yml new file mode 100644 index 00000000..23fc4a00 --- /dev/null +++ b/spec/rtems/cache/if/coherent-allocate.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/size_t:/name} ${.:/params[0]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[1]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[2]/name} + return: void * + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_coherent_allocate +notes: null +params: +- description: '%' + dir: null + name: size +- description: '%' + dir: null + name: alignment +- description: '%' + dir: null + name: boundary +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/cache/coherent-free.yml b/spec/rtems/cache/if/coherent-free.yml index c8700d2f..c8700d2f 100644 --- a/spec/if/rtems/cache/coherent-free.yml +++ b/spec/rtems/cache/if/coherent-free.yml diff --git a/spec/if/rtems/cache/disable-data.yml b/spec/rtems/cache/if/disable-data.yml index 98b444d6..98b444d6 100644 --- a/spec/if/rtems/cache/disable-data.yml +++ b/spec/rtems/cache/if/disable-data.yml diff --git a/spec/if/rtems/cache/disable-instruction.yml b/spec/rtems/cache/if/disable-instruction.yml index b001ea0c..b001ea0c 100644 --- a/spec/if/rtems/cache/disable-instruction.yml +++ b/spec/rtems/cache/if/disable-instruction.yml diff --git a/spec/if/rtems/cache/enable-data.yml b/spec/rtems/cache/if/enable-data.yml index c02d18aa..c02d18aa 100644 --- a/spec/if/rtems/cache/enable-data.yml +++ b/spec/rtems/cache/if/enable-data.yml diff --git a/spec/if/rtems/cache/enable-instruction.yml b/spec/rtems/cache/if/enable-instruction.yml index e0fc587d..e0fc587d 100644 --- a/spec/if/rtems/cache/enable-instruction.yml +++ b/spec/rtems/cache/if/enable-instruction.yml diff --git a/spec/if/rtems/cache/flush-entire-data.yml b/spec/rtems/cache/if/flush-entire-data.yml index df98352e..df98352e 100644 --- a/spec/if/rtems/cache/flush-entire-data.yml +++ b/spec/rtems/cache/if/flush-entire-data.yml diff --git a/spec/rtems/cache/if/flush-multiple-data-lines.yml b/spec/rtems/cache/if/flush-multiple-data-lines.yml new file mode 100644 index 00000000..4d56208d --- /dev/null +++ b/spec/rtems/cache/if/flush-multiple-data-lines.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const void *${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_flush_multiple_data_lines +notes: null +params: +- description: '%' + dir: null + name: addr +- description: '%' + dir: null + name: size +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/cache/freeze-data.yml b/spec/rtems/cache/if/freeze-data.yml index a4873f69..a4873f69 100644 --- a/spec/if/rtems/cache/freeze-data.yml +++ b/spec/rtems/cache/if/freeze-data.yml diff --git a/spec/if/rtems/cache/freeze-instruction.yml b/spec/rtems/cache/if/freeze-instruction.yml index 6dc34d84..6dc34d84 100644 --- a/spec/if/rtems/cache/freeze-instruction.yml +++ b/spec/rtems/cache/if/freeze-instruction.yml diff --git a/spec/rtems/cache/if/get-data-line-size.yml b/spec/rtems/cache/if/get-data-line-size.yml new file mode 100644 index 00000000..bfd469ac --- /dev/null +++ b/spec/rtems/cache/if/get-data-line-size.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${/c/if/size_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_get_data_line_size +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/get-data-size.yml b/spec/rtems/cache/if/get-data-size.yml new file mode 100644 index 00000000..aed91812 --- /dev/null +++ b/spec/rtems/cache/if/get-data-size.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/uint32_t:/name} ${.:/params[0]/name} + return: ${/c/if/size_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_get_data_cache_size +notes: null +params: +- description: '%' + dir: null + name: level +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/get-instruction-line-size.yml b/spec/rtems/cache/if/get-instruction-line-size.yml new file mode 100644 index 00000000..1cf80bdb --- /dev/null +++ b/spec/rtems/cache/if/get-instruction-line-size.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${/c/if/size_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_get_instruction_line_size +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/get-instruction-size.yml b/spec/rtems/cache/if/get-instruction-size.yml new file mode 100644 index 00000000..eb23ed27 --- /dev/null +++ b/spec/rtems/cache/if/get-instruction-size.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/uint32_t:/name} ${.:/params[0]/name} + return: ${/c/if/size_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_get_instruction_cache_size +notes: null +params: +- description: '%' + dir: null + name: level +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/get-maximal-line-size.yml b/spec/rtems/cache/if/get-maximal-line-size.yml new file mode 100644 index 00000000..4d3957a7 --- /dev/null +++ b/spec/rtems/cache/if/get-maximal-line-size.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${/c/if/size_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_get_maximal_line_size +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/group.yml b/spec/rtems/cache/if/group.yml new file mode 100644 index 00000000..d3da44ca --- /dev/null +++ b/spec/rtems/cache/if/group.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Cache Manager provides functions to perform maintenance operations for + data and instruction caches. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicCache +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Cache Manager +text: | + The Classic API shall provide an interface to the Cache Manager. +type: interface diff --git a/spec/rtems/cache/if/header.yml b/spec/rtems/cache/if/header.yml new file mode 100644 index 00000000..1833d836 --- /dev/null +++ b/spec/rtems/cache/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Cache Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/cache.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/cache/if/instruction-sync-after-code-change.yml b/spec/rtems/cache/if/instruction-sync-after-code-change.yml new file mode 100644 index 00000000..82cd0867 --- /dev/null +++ b/spec/rtems/cache/if/instruction-sync-after-code-change.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const void *${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_instruction_sync_after_code_change +notes: null +params: +- description: '%' + dir: null + name: code_addr +- description: '%' + dir: null + name: n_bytes +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/cache/invalidate-entire-data.yml b/spec/rtems/cache/if/invalidate-entire-data.yml index bc6a4ebb..bc6a4ebb 100644 --- a/spec/if/rtems/cache/invalidate-entire-data.yml +++ b/spec/rtems/cache/if/invalidate-entire-data.yml diff --git a/spec/if/rtems/cache/invalidate-entire-instruction.yml b/spec/rtems/cache/if/invalidate-entire-instruction.yml index 8839ce78..8839ce78 100644 --- a/spec/if/rtems/cache/invalidate-entire-instruction.yml +++ b/spec/rtems/cache/if/invalidate-entire-instruction.yml diff --git a/spec/rtems/cache/if/invalidate-multiple-data-lines.yml b/spec/rtems/cache/if/invalidate-multiple-data-lines.yml new file mode 100644 index 00000000..11759802 --- /dev/null +++ b/spec/rtems/cache/if/invalidate-multiple-data-lines.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const void *${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_invalidate_multiple_data_lines +notes: null +params: +- description: '%' + dir: null + name: addr +- description: '%' + dir: null + name: size +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/cache/if/invalidate-multiple-instruction-lines.yml b/spec/rtems/cache/if/invalidate-multiple-instruction-lines.yml new file mode 100644 index 00000000..5231e768 --- /dev/null +++ b/spec/rtems/cache/if/invalidate-multiple-instruction-lines.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const void *${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_cache_invalidate_multiple_instruction_lines +notes: null +params: +- description: '%' + dir: null + name: addr +- description: '%' + dir: null + name: size +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/cache/unfreeze-data.yml b/spec/rtems/cache/if/unfreeze-data.yml index 55282477..55282477 100644 --- a/spec/if/rtems/cache/unfreeze-data.yml +++ b/spec/rtems/cache/if/unfreeze-data.yml diff --git a/spec/if/rtems/cache/unfreeze-instruction.yml b/spec/rtems/cache/if/unfreeze-instruction.yml index 46b4a792..46b4a792 100644 --- a/spec/if/rtems/cache/unfreeze-instruction.yml +++ b/spec/rtems/cache/if/unfreeze-instruction.yml diff --git a/spec/rtems/clock/if/get-seconds-since-epoch.yml b/spec/rtems/clock/if/get-seconds-since-epoch.yml new file mode 100644 index 00000000..239b3d58 --- /dev/null +++ b/spec/rtems/clock/if/get-seconds-since-epoch.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/interval:/name} *${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_seconds_since_epoch +notes: null +params: +- description: '%' + dir: null + name: the_interval +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-ticks-per-second.yml b/spec/rtems/clock/if/get-ticks-per-second.yml new file mode 100644 index 00000000..d0f534ad --- /dev/null +++ b/spec/rtems/clock/if/get-ticks-per-second.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/watchdog/if/ticks-per-second:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_ticks_per_second +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-ticks-since-boot.yml b/spec/rtems/clock/if/get-ticks-since-boot.yml new file mode 100644 index 00000000..f60b7d58 --- /dev/null +++ b/spec/rtems/clock/if/get-ticks-since-boot.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/watchdog/if/ticks-since-boot:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_ticks_since_boot +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-tod-timeval.yml b/spec/rtems/clock/if/get-tod-timeval.yml new file mode 100644 index 00000000..303ff03d --- /dev/null +++ b/spec/rtems/clock/if/get-tod-timeval.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/timeval:/name} *${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_tod_timeval +notes: null +params: +- description: '%' + dir: null + name: time +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-tod.yml b/spec/rtems/clock/if/get-tod.yml new file mode 100644 index 00000000..703f2b79 --- /dev/null +++ b/spec/rtems/clock/if/get-tod.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/time-of-day:/name} *${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_tod +notes: null +params: +- description: '%' + dir: null + name: time_buffer +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-uptime-nanoseconds.yml b/spec/rtems/clock/if/get-uptime-nanoseconds.yml new file mode 100644 index 00000000..bf1134e7 --- /dev/null +++ b/spec/rtems/clock/if/get-uptime-nanoseconds.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${/c/if/uint64_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_uptime_nanoseconds +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-uptime-seconds.yml b/spec/rtems/clock/if/get-uptime-seconds.yml new file mode 100644 index 00000000..5a9729ea --- /dev/null +++ b/spec/rtems/clock/if/get-uptime-seconds.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${/c/if/time_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_uptime_seconds +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-uptime-timeval.yml b/spec/rtems/clock/if/get-uptime-timeval.yml new file mode 100644 index 00000000..c936d71d --- /dev/null +++ b/spec/rtems/clock/if/get-uptime-timeval.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/timeval:/name} *${.:/params[0]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_uptime_timeval +notes: null +params: +- description: '%' + dir: null + name: uptime +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/get-uptime.yml b/spec/rtems/clock/if/get-uptime.yml new file mode 100644 index 00000000..2fc66f0f --- /dev/null +++ b/spec/rtems/clock/if/get-uptime.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/timespec:/name} *${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_get_uptime +notes: null +params: +- description: '%' + dir: null + name: uptime +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/group.yml b/spec/rtems/clock/if/group.yml new file mode 100644 index 00000000..a772d89f --- /dev/null +++ b/spec/rtems/clock/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Clock Manager provides support for time of day and other time related + capabilities. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicClock +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Clock Manager +text: | + The Classic API shall provide an interface to the Clock Manager. +type: interface diff --git a/spec/rtems/clock/if/header.yml b/spec/rtems/clock/if/header.yml new file mode 100644 index 00000000..19c8414e --- /dev/null +++ b/spec/rtems/clock/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Clock Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/clock.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/clock/if/set.yml b/spec/rtems/clock/if/set.yml new file mode 100644 index 00000000..91f8c87f --- /dev/null +++ b/spec/rtems/clock/if/set.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const ${../../type/if/time-of-day:/name} *${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_set +notes: null +params: +- description: '%' + dir: null + name: time_buffer +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/tick-before.yml b/spec/rtems/clock/if/tick-before.yml new file mode 100644 index 00000000..2c31eca9 --- /dev/null +++ b/spec/rtems/clock/if/tick-before.yml @@ -0,0 +1,40 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true if the current ticks counter value indicates a time before the + time specified by the tick value and false otherwise. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: | + return (${/c/if/int32_t:/name}) ( ${.:/params[0]/name} - ${/score/watchdog/if/ticks-since-boot:/name} ) > 0; + params: + - ${../../type/if/interval:/name} ${.:/params[0]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_tick_before +notes: | + This directive can be used to write busy loops with a timeout. +params: +- description: is the tick value. + dir: null + name: tick +return: + return: null + return-values: + - description: | + The current ticks counter value indicates a time before the time + specified by the tick value. + value: 'true' + - description: | + Otherwise. + value: 'false' +type: interface diff --git a/spec/rtems/clock/if/tick-later-usec.yml b/spec/rtems/clock/if/tick-later-usec.yml new file mode 100644 index 00000000..ef3f33c8 --- /dev/null +++ b/spec/rtems/clock/if/tick-later-usec.yml @@ -0,0 +1,41 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the ticks counter value at least delta microseconds in the future. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: | + ${../../type/if/interval:/name} us_per_tick; + + us_per_tick = ${../../config/if/get-microseconds-per-tick:/name}(); + + /* + * Add one additional tick, since we do not know the time to the clock + * next tick. + */ + return ${/score/watchdog/if/ticks-since-boot:/name} + 1 + + ( ${.:/params[0]/name} + us_per_tick - 1 ) / us_per_tick; + params: + - ${../../type/if/interval:/name} ${.:/params[0]/name} + return: ${../../type/if/interval:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_tick_later_usec +notes: null +params: +- description: is the delta value in microseconds. + dir: null + name: delta_in_usec +return: + return: | + The tick counter value delta ticks in the future is returned. + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/tick-later.yml b/spec/rtems/clock/if/tick-later.yml new file mode 100644 index 00000000..9ce69c7f --- /dev/null +++ b/spec/rtems/clock/if/tick-later.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the ticks counter value delta ticks in the future. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: | + return ${/score/watchdog/if/ticks-since-boot:/name} + ${.:/params[0]/name}; + params: + - ${../../type/if/interval:/name} ${.:/params[0]/name} + return: ${../../type/if/interval:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_tick_later +notes: null +params: +- description: is the ticks delta value. + dir: null + name: delta +return: + return: | + The tick counter value delta ticks in the future is returned. + return-values: [] +type: interface diff --git a/spec/rtems/clock/if/tick.yml b/spec/rtems/clock/if/tick.yml new file mode 100644 index 00000000..5216a67a --- /dev/null +++ b/spec/rtems/clock/if/tick.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_clock_tick +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/api-table.yml b/spec/rtems/config/if/api-table.yml new file mode 100644 index 00000000..ff00330a --- /dev/null +++ b/spec/rtems/config/if/api-table.yml @@ -0,0 +1,128 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This structure contains a summary of the Classic API configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) +definition: +- default: + brief: | + This field contains the maximum number of Classic API Tasks which are + configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_tasks + variants: [] +- default: + brief: | + This field indicates if Classic API Notepads are enabled or disabled for + this application. + definition: ${/c/if/bool:/name} ${.:name} + description: null + kind: member + name: notepads_enabled + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Timers which are + configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_timers + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Semaphores which + are configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_semaphores + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Message Queues + which are configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_message_queues + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Partitions which + are configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_partitions + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Regions which are + configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_regions + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Dual Ported Memory + Areas which are configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_ports + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Rate Monotonic + Periods which are configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_periods + variants: [] +- default: + brief: | + This field contains the maximum number of Classic API Barriers which are + configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: maximum_barriers + variants: [] +- default: + brief: | + This field contains the number of Classic API Initialization + Tasks which are configured for this application. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: number_of_initialization_tasks + variants: [] +- default: + brief: | + This field contains the pointer to Classic API Initialization Tasks Table + of this application. + definition: const ${../../task/if/initialization-table:/name} *${.:name} + description: null + kind: member + name: User_initialization_tasks_table + variants: [] +definition-kind: typedef-only +description: | + Use ${get-api-configuration:/name} to get the configuration table. +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_api_configuration_table +notes: null +type: interface diff --git a/spec/if/rtems/config/get-api-configuration.yml b/spec/rtems/config/if/get-api-configuration.yml index c2fbc28a..c2fbc28a 100644 --- a/spec/if/rtems/config/get-api-configuration.yml +++ b/spec/rtems/config/if/get-api-configuration.yml diff --git a/spec/if/rtems/config/get-copyright-notice.yml b/spec/rtems/config/if/get-copyright-notice.yml index debeaa70..debeaa70 100644 --- a/spec/if/rtems/config/get-copyright-notice.yml +++ b/spec/rtems/config/if/get-copyright-notice.yml diff --git a/spec/rtems/config/if/get-do-zero-of-workspace.yml b/spec/rtems/config/if/get-do-zero-of-workspace.yml new file mode 100644 index 00000000..de1dd018 --- /dev/null +++ b/spec/rtems/config/if/get-do-zero-of-workspace.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true, if the workspace is zeroed during system initialization, + otherwise returns false. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/memory/if/zero-before-use:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_do_zero_of_workspace +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-idle-task-stack-size.yml b/spec/rtems/config/if/get-idle-task-stack-size.yml new file mode 100644 index 00000000..7920a34d --- /dev/null +++ b/spec/rtems/config/if/get-idle-task-stack-size.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the configured IDLE task stack size in bytes of this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/thread/if/idle-stack-size:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_idle_task_stack_size +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-idle-task.yml b/spec/rtems/config/if/get-idle-task.yml new file mode 100644 index 00000000..7b14684d --- /dev/null +++ b/spec/rtems/config/if/get-idle-task.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the configured IDLE task entry of this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/thread/if/idle-body:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_idle_task +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-interrupt-stack-size.yml b/spec/rtems/config/if/get-interrupt-stack-size.yml new file mode 100644 index 00000000..78a94c02 --- /dev/null +++ b/spec/rtems/config/if/get-interrupt-stack-size.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the configured interrupt stack size in bytes of this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ((${/c/if/size_t:/name}) ${/score/isr/if/stack-size:/name}) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_interrupt_stack_size +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-barriers.yml b/spec/rtems/config/if/get-maximum-barriers.yml new file mode 100644 index 00000000..3536322f --- /dev/null +++ b/spec/rtems/config/if/get-maximum-barriers.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Barriers which are configured for + this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_barriers +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-extensions.yml b/spec/rtems/config/if/get-maximum-extensions.yml new file mode 100644 index 00000000..0460126b --- /dev/null +++ b/spec/rtems/config/if/get-maximum-extensions.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API User Extensions which are + configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_extensions +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-message-queues.yml b/spec/rtems/config/if/get-maximum-message-queues.yml new file mode 100644 index 00000000..2d8f3b3b --- /dev/null +++ b/spec/rtems/config/if/get-maximum-message-queues.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Message Queues which are configured + for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_message_queues +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-partitions.yml b/spec/rtems/config/if/get-maximum-partitions.yml new file mode 100644 index 00000000..dba034eb --- /dev/null +++ b/spec/rtems/config/if/get-maximum-partitions.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Partitions which are configured for + this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_partitions +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-periods.yml b/spec/rtems/config/if/get-maximum-periods.yml new file mode 100644 index 00000000..418ec2cc --- /dev/null +++ b/spec/rtems/config/if/get-maximum-periods.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Rate Monotonic Periods which are + configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_periods +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-ports.yml b/spec/rtems/config/if/get-maximum-ports.yml new file mode 100644 index 00000000..c8dff653 --- /dev/null +++ b/spec/rtems/config/if/get-maximum-ports.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Dual Ported Memory Areas which are + configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_ports +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-processors.yml b/spec/rtems/config/if/get-maximum-processors.yml new file mode 100644 index 00000000..6fb3bfe0 --- /dev/null +++ b/spec/rtems/config/if/get-maximum-processors.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of processors which are configured for this + application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/smp/if/processor-configured-maximum:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_processors +notes: | + The actual number of processors available for the application will be less + than or equal to the configured maximum number of processors. + + On uniprocessor configurations this macro is a compile time constant which + evaluates to one. +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-regions.yml b/spec/rtems/config/if/get-maximum-regions.yml new file mode 100644 index 00000000..0334c6f9 --- /dev/null +++ b/spec/rtems/config/if/get-maximum-regions.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Regions which are configured for + this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_regions +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-semaphores.yml b/spec/rtems/config/if/get-maximum-semaphores.yml new file mode 100644 index 00000000..88abdb0e --- /dev/null +++ b/spec/rtems/config/if/get-maximum-semaphores.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Semaphores which are configured for + this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_semaphores +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-tasks.yml b/spec/rtems/config/if/get-maximum-tasks.yml new file mode 100644 index 00000000..ad62a40a --- /dev/null +++ b/spec/rtems/config/if/get-maximum-tasks.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Tasks which are configured for this + application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_tasks +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-maximum-timers.yml b/spec/rtems/config/if/get-maximum-timers.yml new file mode 100644 index 00000000..a65cbeba --- /dev/null +++ b/spec/rtems/config/if/get-maximum-timers.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum number of Classic API Timers which are configured for + this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_configuration_get_maximum_timers +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-microseconds-per-tick.yml b/spec/rtems/config/if/get-microseconds-per-tick.yml new file mode 100644 index 00000000..7c4d8765 --- /dev/null +++ b/spec/rtems/config/if/get-microseconds-per-tick.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the number of microseconds per tick configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/watchdog/if/microseconds-per-tick:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_microseconds_per_tick +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-milliseconds-per-tick.yml b/spec/rtems/config/if/get-milliseconds-per-tick.yml new file mode 100644 index 00000000..a0c4e42a --- /dev/null +++ b/spec/rtems/config/if/get-milliseconds-per-tick.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the number of milliseconds per tick configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: (${/score/watchdog/if/microseconds-per-tick:/name} / 1000) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_milliseconds_per_tick +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-nanoseconds-per-tick.yml b/spec/rtems/config/if/get-nanoseconds-per-tick.yml new file mode 100644 index 00000000..2cd6d4b5 --- /dev/null +++ b/spec/rtems/config/if/get-nanoseconds-per-tick.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the number of microseconds per tick configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/watchdog/if/nanoseconds-per-tick:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_nanoseconds_per_tick +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-number-of-initial-extensions.yml b/spec/rtems/config/if/get-number-of-initial-extensions.yml new file mode 100644 index 00000000..bee483bd --- /dev/null +++ b/spec/rtems/config/if/get-number-of-initial-extensions.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the number of initial extensions configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ((${/c/if/uint32_t:/name}) ${/score/userext/if/initial-count:/name}) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_number_of_initial_extensions +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-stack-allocate-hook.yml b/spec/rtems/config/if/get-stack-allocate-hook.yml new file mode 100644 index 00000000..4e02dcf9 --- /dev/null +++ b/spec/rtems/config/if/get-stack-allocate-hook.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the thread stack allocator allocate hook. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/stack/if/allocator-allocate:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_stack_allocate_hook +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-stack-allocate-init-hook.yml b/spec/rtems/config/if/get-stack-allocate-init-hook.yml new file mode 100644 index 00000000..dcdc6b8f --- /dev/null +++ b/spec/rtems/config/if/get-stack-allocate-init-hook.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the thread stack allocator initialization hook. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/stack/if/allocator-initialize:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_stack_allocate_init_hook +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-stack-allocator-avoids-work-space.yml b/spec/rtems/config/if/get-stack-allocator-avoids-work-space.yml new file mode 100644 index 00000000..106cca32 --- /dev/null +++ b/spec/rtems/config/if/get-stack-allocator-avoids-work-space.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true, if the thread stack allocator avoids the workspace, otherwise + returns false. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/stack/if/allocator-avoids-workspace:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_stack_allocator_avoids_work_space +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-stack-free-hook.yml b/spec/rtems/config/if/get-stack-free-hook.yml new file mode 100644 index 00000000..57edf34b --- /dev/null +++ b/spec/rtems/config/if/get-stack-free-hook.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the thread stack allocator free hook. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/stack/if/allocator-free:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_stack_free_hook +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-stack-space-size.yml b/spec/rtems/config/if/get-stack-space-size.yml new file mode 100644 index 00000000..8f8e6ebd --- /dev/null +++ b/spec/rtems/config/if/get-stack-space-size.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the thread stack space size in bytes of configured for this + application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/c/if/uintptr_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_stack_space_size +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-ticks-per-timeslice.yml b/spec/rtems/config/if/get-ticks-per-timeslice.yml new file mode 100644 index 00000000..8011de74 --- /dev/null +++ b/spec/rtems/config/if/get-ticks-per-timeslice.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the ticks per timeslice configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/watchdog/if/ticks-per-timeslice:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_ticks_per_timeslice +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-unified-work-area.yml b/spec/rtems/config/if/get-unified-work-area.yml new file mode 100644 index 00000000..ced59175 --- /dev/null +++ b/spec/rtems/config/if/get-unified-work-area.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true, if the RTEMS Workspace and C Program Heap are unified, + otherwise returns false. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/wkspace/if/is-unified:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_unified_work_area +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-user-extension-table.yml b/spec/rtems/config/if/get-user-extension-table.yml new file mode 100644 index 00000000..a6c3dd09 --- /dev/null +++ b/spec/rtems/config/if/get-user-extension-table.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the pointer to the initial extensions table configured for this + application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/userext/if/initial-extensions:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_user_extension_table +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/get-user-multiprocessing-table.yml b/spec/rtems/config/if/get-user-multiprocessing-table.yml new file mode 100644 index 00000000..41ed5f9f --- /dev/null +++ b/spec/rtems/config/if/get-user-multiprocessing-table.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the pointer to the MPCI configuration table configured for this + application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/c/if/null:/name} + variants: + - definition: ( &${/score/mpci/if/configuration:/name} ) + enabled-by: defined(${/build-options/if/multiprocessing:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_user_multiprocessing_table +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/config/get-version-string.yml b/spec/rtems/config/if/get-version-string.yml index 2cca0f6a..2cca0f6a 100644 --- a/spec/if/rtems/config/get-version-string.yml +++ b/spec/rtems/config/if/get-version-string.yml diff --git a/spec/rtems/config/if/get-work-space-size.yml b/spec/rtems/config/if/get-work-space-size.yml new file mode 100644 index 00000000..535bd5fa --- /dev/null +++ b/spec/rtems/config/if/get-work-space-size.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the RTEMS Workspace size in bytes configured for this application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + (${/score/wkspace/if/size:/name} + + (${get-stack-allocator-avoids-work-space:/name}() ? + 0 : ${get-stack-space-size:/name}())) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_configuration_get_work_space_size +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/group.yml b/spec/rtems/config/if/group.yml new file mode 100644 index 00000000..21c46cd8 --- /dev/null +++ b/spec/rtems/config/if/group.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains defines and macros to create an application configuration + as well as functions to get values of the application configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIConfig +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /if/api +name: Application Configuration +text: | + The API shall provide an interface to the application configuration. +type: interface diff --git a/spec/rtems/config/if/has-hardware-fp.yml b/spec/rtems/config/if/has-hardware-fp.yml new file mode 100644 index 00000000..b22d880c --- /dev/null +++ b/spec/rtems/config/if/has-hardware-fp.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/cpu/if/hardware-fp:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_HAS_HARDWARE_FP +notes: null +type: interface diff --git a/spec/rtems/config/if/header-2.yml b/spec/rtems/config/if/header-2.yml new file mode 100644 index 00000000..1c735809 --- /dev/null +++ b/spec/rtems/config/if/header-2.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file defines parts of the application configuration information + API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/config.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/config/if/header.yml b/spec/rtems/config/if/header.yml new file mode 100644 index 00000000..5ccaeaa3 --- /dev/null +++ b/spec/rtems/config/if/header.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file defines parts of the application configuration information + API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- enabled-by: RTEMS_MULTIPROCESSING + role: interface-include + uid: /score/mpci/if/header +- enabled-by: RTEMS_MULTIPROCESSING + role: interface-include + uid: ../../type/if/header +- enabled-by: true + role: interface-include + uid: header-2 +- role: interface-placement + uid: /if/domain +path: rtems/config.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/config/if/resource-is-unlimited.yml b/spec/rtems/config/if/resource-is-unlimited.yml new file mode 100644 index 00000000..29c5448e --- /dev/null +++ b/spec/rtems/config/if/resource-is-unlimited.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true, if the resource is unlimited, otherwise returns false. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/object/if/is-unlimited:/name}(${.:/params[0]/name}) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_resource_is_unlimited +notes: null +params: +- description: is the resource number. + dir: null + name: _resource +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/config/if/resource-maximum-per-allocation.yml b/spec/rtems/config/if/resource-maximum-per-allocation.yml new file mode 100644 index 00000000..4fbbd13f --- /dev/null +++ b/spec/rtems/config/if/resource-maximum-per-allocation.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the resource maximum number per allocation. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/object/if/maximum-per-allocation:/name}(${.:/params[0]/name}) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_resource_maximum_per_allocation +notes: null +params: +- description: is the resource number. + dir: null + name: _resource +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/config/resource-unlimited.yml b/spec/rtems/config/if/resource-unlimited.yml index 56661ec9..56661ec9 100644 --- a/spec/if/rtems/config/resource-unlimited.yml +++ b/spec/rtems/config/if/resource-unlimited.yml diff --git a/spec/rtems/config/if/stack-allocate-hook.yml b/spec/rtems/config/if/stack-allocate-hook.yml new file mode 100644 index 00000000..697d7c2c --- /dev/null +++ b/spec/rtems/config/if/stack-allocate-hook.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The thread stack allocator allocate handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/stack/if/allocator-allocate-type:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_stack_allocate_hook +notes: null +type: interface diff --git a/spec/rtems/config/if/stack-allocate-init-hook.yml b/spec/rtems/config/if/stack-allocate-init-hook.yml new file mode 100644 index 00000000..15664afb --- /dev/null +++ b/spec/rtems/config/if/stack-allocate-init-hook.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The thread stack allocator initialization handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/stack/if/allocator-initialize-type:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_stack_allocate_init_hook +notes: null +type: interface diff --git a/spec/rtems/config/if/stack-free-hook.yml b/spec/rtems/config/if/stack-free-hook.yml new file mode 100644 index 00000000..2156b9f4 --- /dev/null +++ b/spec/rtems/config/if/stack-free-hook.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The thread stack allocator free handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/stack/if/allocator-free-type:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_stack_free_hook +notes: null +type: interface diff --git a/spec/rtems/config/if/unlimited-objects.yml b/spec/rtems/config/if/unlimited-objects.yml new file mode 100644 index 00000000..c7b697b5 --- /dev/null +++ b/spec/rtems/config/if/unlimited-objects.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This flag is used in resource numbers to indicate an unlimited resource. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/object/if/unlimited-objects:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_UNLIMITED_OBJECTS +notes: null +type: interface diff --git a/spec/rtems/dpmem/if/create.yml b/spec/rtems/dpmem/if/create.yml new file mode 100644 index 00000000..4aafe886 --- /dev/null +++ b/spec/rtems/dpmem/if/create.yml @@ -0,0 +1,46 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - void *${.:/params[2]/name} + - ${/c/if/uint32_t:/name} ${.:/params[3]/name} + - ${../../type/if/id:/name} *${.:/params[4]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_port_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: internal_start +- description: '%' + dir: null + name: external_start +- description: '%' + dir: null + name: length +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/dpmem/if/delete.yml b/spec/rtems/dpmem/if/delete.yml new file mode 100644 index 00000000..7489f810 --- /dev/null +++ b/spec/rtems/dpmem/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_port_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/dpmem/if/external-to-internal.yml b/spec/rtems/dpmem/if/external-to-internal.yml new file mode 100644 index 00000000..02bb92f3 --- /dev/null +++ b/spec/rtems/dpmem/if/external-to-internal.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - void **${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_port_external_to_internal +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: external +- description: '%' + dir: null + name: internal +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/dpmem/if/group.yml b/spec/rtems/dpmem/if/group.yml new file mode 100644 index 00000000..daa2c4e4 --- /dev/null +++ b/spec/rtems/dpmem/if/group.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Dual-Ported Memory Manager provides a mechanism for converting addresses + between internal and external representations for multiple dual-ported memory + areas (DPMA). +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicDPMem +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Dual-Ported Memory Manager +text: | + The Classic API shall provide an interface to the Dual-Ported Memory Manager. +type: interface diff --git a/spec/rtems/dpmem/if/header.yml b/spec/rtems/dpmem/if/header.yml new file mode 100644 index 00000000..ba65718b --- /dev/null +++ b/spec/rtems/dpmem/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Dual-Ported Memory Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/dpmem.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/dpmem/if/ident.yml b/spec/rtems/dpmem/if/ident.yml new file mode 100644 index 00000000..d013aa0a --- /dev/null +++ b/spec/rtems/dpmem/if/ident.yml @@ -0,0 +1,59 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a port object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the port identifier associated with the port name + specified in ``${.:/params[0]/name}``. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_port_ident +notes: | + If the port name is not unique, then the port identifier will match the first + port with that name in the search order. However, this port identifier is + not guaranteed to correspond to the desired port. The port identifier is + used with other dual-ported memory related directives to access the port. + + The objects are searched from lowest to the highest index. Only the local + node is searched. +params: +- description: is the object name to look up. + dir: null + name: name +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the local node. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/rtems/dpmem/if/internal-to-external.yml b/spec/rtems/dpmem/if/internal-to-external.yml new file mode 100644 index 00000000..39f8e97c --- /dev/null +++ b/spec/rtems/dpmem/if/internal-to-external.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - void **${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_port_internal_to_external +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: internal +- description: '%' + dir: null + name: external +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/event/all-events.yml b/spec/rtems/event/if/all-events.yml index 792dbebe..792dbebe 100644 --- a/spec/if/rtems/event/all-events.yml +++ b/spec/rtems/event/if/all-events.yml diff --git a/spec/if/rtems/event/event-0.yml b/spec/rtems/event/if/event-0.yml index 976e5d9b..976e5d9b 100644 --- a/spec/if/rtems/event/event-0.yml +++ b/spec/rtems/event/if/event-0.yml diff --git a/spec/if/rtems/event/event-1.yml b/spec/rtems/event/if/event-1.yml index cf2a5760..cf2a5760 100644 --- a/spec/if/rtems/event/event-1.yml +++ b/spec/rtems/event/if/event-1.yml diff --git a/spec/if/rtems/event/event-10.yml b/spec/rtems/event/if/event-10.yml index f35de1f0..f35de1f0 100644 --- a/spec/if/rtems/event/event-10.yml +++ b/spec/rtems/event/if/event-10.yml diff --git a/spec/if/rtems/event/event-11.yml b/spec/rtems/event/if/event-11.yml index ee7d3c82..ee7d3c82 100644 --- a/spec/if/rtems/event/event-11.yml +++ b/spec/rtems/event/if/event-11.yml diff --git a/spec/if/rtems/event/event-12.yml b/spec/rtems/event/if/event-12.yml index 0b4fc7cf..0b4fc7cf 100644 --- a/spec/if/rtems/event/event-12.yml +++ b/spec/rtems/event/if/event-12.yml diff --git a/spec/if/rtems/event/event-13.yml b/spec/rtems/event/if/event-13.yml index f4ff6634..f4ff6634 100644 --- a/spec/if/rtems/event/event-13.yml +++ b/spec/rtems/event/if/event-13.yml diff --git a/spec/if/rtems/event/event-14.yml b/spec/rtems/event/if/event-14.yml index fad4334d..fad4334d 100644 --- a/spec/if/rtems/event/event-14.yml +++ b/spec/rtems/event/if/event-14.yml diff --git a/spec/if/rtems/event/event-15.yml b/spec/rtems/event/if/event-15.yml index 5176416c..5176416c 100644 --- a/spec/if/rtems/event/event-15.yml +++ b/spec/rtems/event/if/event-15.yml diff --git a/spec/if/rtems/event/event-16.yml b/spec/rtems/event/if/event-16.yml index 4f44a2ac..4f44a2ac 100644 --- a/spec/if/rtems/event/event-16.yml +++ b/spec/rtems/event/if/event-16.yml diff --git a/spec/if/rtems/event/event-17.yml b/spec/rtems/event/if/event-17.yml index 24f153e9..24f153e9 100644 --- a/spec/if/rtems/event/event-17.yml +++ b/spec/rtems/event/if/event-17.yml diff --git a/spec/if/rtems/event/event-18.yml b/spec/rtems/event/if/event-18.yml index dca01762..dca01762 100644 --- a/spec/if/rtems/event/event-18.yml +++ b/spec/rtems/event/if/event-18.yml diff --git a/spec/if/rtems/event/event-19.yml b/spec/rtems/event/if/event-19.yml index 58f8be6f..58f8be6f 100644 --- a/spec/if/rtems/event/event-19.yml +++ b/spec/rtems/event/if/event-19.yml diff --git a/spec/if/rtems/event/event-2.yml b/spec/rtems/event/if/event-2.yml index d9614ea6..d9614ea6 100644 --- a/spec/if/rtems/event/event-2.yml +++ b/spec/rtems/event/if/event-2.yml diff --git a/spec/if/rtems/event/event-20.yml b/spec/rtems/event/if/event-20.yml index 5e6d0428..5e6d0428 100644 --- a/spec/if/rtems/event/event-20.yml +++ b/spec/rtems/event/if/event-20.yml diff --git a/spec/if/rtems/event/event-21.yml b/spec/rtems/event/if/event-21.yml index a43624da..a43624da 100644 --- a/spec/if/rtems/event/event-21.yml +++ b/spec/rtems/event/if/event-21.yml diff --git a/spec/if/rtems/event/event-22.yml b/spec/rtems/event/if/event-22.yml index 2e6fc3ef..2e6fc3ef 100644 --- a/spec/if/rtems/event/event-22.yml +++ b/spec/rtems/event/if/event-22.yml diff --git a/spec/if/rtems/event/event-23.yml b/spec/rtems/event/if/event-23.yml index a4e27650..a4e27650 100644 --- a/spec/if/rtems/event/event-23.yml +++ b/spec/rtems/event/if/event-23.yml diff --git a/spec/if/rtems/event/event-24.yml b/spec/rtems/event/if/event-24.yml index ec870df8..ec870df8 100644 --- a/spec/if/rtems/event/event-24.yml +++ b/spec/rtems/event/if/event-24.yml diff --git a/spec/if/rtems/event/event-25.yml b/spec/rtems/event/if/event-25.yml index ff245093..ff245093 100644 --- a/spec/if/rtems/event/event-25.yml +++ b/spec/rtems/event/if/event-25.yml diff --git a/spec/if/rtems/event/event-26.yml b/spec/rtems/event/if/event-26.yml index ec8f6287..ec8f6287 100644 --- a/spec/if/rtems/event/event-26.yml +++ b/spec/rtems/event/if/event-26.yml diff --git a/spec/if/rtems/event/event-27.yml b/spec/rtems/event/if/event-27.yml index 2bdfaf8a..2bdfaf8a 100644 --- a/spec/if/rtems/event/event-27.yml +++ b/spec/rtems/event/if/event-27.yml diff --git a/spec/if/rtems/event/event-28.yml b/spec/rtems/event/if/event-28.yml index 30086e05..30086e05 100644 --- a/spec/if/rtems/event/event-28.yml +++ b/spec/rtems/event/if/event-28.yml diff --git a/spec/if/rtems/event/event-29.yml b/spec/rtems/event/if/event-29.yml index 25fbabb6..25fbabb6 100644 --- a/spec/if/rtems/event/event-29.yml +++ b/spec/rtems/event/if/event-29.yml diff --git a/spec/if/rtems/event/event-3.yml b/spec/rtems/event/if/event-3.yml index 6f02ab05..6f02ab05 100644 --- a/spec/if/rtems/event/event-3.yml +++ b/spec/rtems/event/if/event-3.yml diff --git a/spec/if/rtems/event/event-30.yml b/spec/rtems/event/if/event-30.yml index cb99e510..cb99e510 100644 --- a/spec/if/rtems/event/event-30.yml +++ b/spec/rtems/event/if/event-30.yml diff --git a/spec/if/rtems/event/event-31.yml b/spec/rtems/event/if/event-31.yml index ff909283..ff909283 100644 --- a/spec/if/rtems/event/event-31.yml +++ b/spec/rtems/event/if/event-31.yml diff --git a/spec/if/rtems/event/event-4.yml b/spec/rtems/event/if/event-4.yml index d2384a10..d2384a10 100644 --- a/spec/if/rtems/event/event-4.yml +++ b/spec/rtems/event/if/event-4.yml diff --git a/spec/if/rtems/event/event-5.yml b/spec/rtems/event/if/event-5.yml index db3bbc30..db3bbc30 100644 --- a/spec/if/rtems/event/event-5.yml +++ b/spec/rtems/event/if/event-5.yml diff --git a/spec/if/rtems/event/event-6.yml b/spec/rtems/event/if/event-6.yml index 0383167d..0383167d 100644 --- a/spec/if/rtems/event/event-6.yml +++ b/spec/rtems/event/if/event-6.yml diff --git a/spec/if/rtems/event/event-7.yml b/spec/rtems/event/if/event-7.yml index 56d1e2b2..56d1e2b2 100644 --- a/spec/if/rtems/event/event-7.yml +++ b/spec/rtems/event/if/event-7.yml diff --git a/spec/if/rtems/event/event-8.yml b/spec/rtems/event/if/event-8.yml index 0d2f2274..0d2f2274 100644 --- a/spec/if/rtems/event/event-8.yml +++ b/spec/rtems/event/if/event-8.yml diff --git a/spec/if/rtems/event/event-9.yml b/spec/rtems/event/if/event-9.yml index 94112830..94112830 100644 --- a/spec/if/rtems/event/event-9.yml +++ b/spec/rtems/event/if/event-9.yml diff --git a/spec/rtems/event/if/group.yml b/spec/rtems/event/if/group.yml new file mode 100644 index 00000000..1c2fd904 --- /dev/null +++ b/spec/rtems/event/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Event Manager provides a high performance method of inter-task + communication and synchronization. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicEvent +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Event Manager +text: | + The Classic API shall provide an interface to the Event Manager. +type: interface diff --git a/spec/rtems/event/if/header.yml b/spec/rtems/event/if/header.yml new file mode 100644 index 00000000..44867cf7 --- /dev/null +++ b/spec/rtems/event/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Event Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/event.h +prefix: cpukit/include +type: interface diff --git a/spec/if/rtems/event/pending-events.yml b/spec/rtems/event/if/pending-events.yml index 50a7c724..50a7c724 100644 --- a/spec/if/rtems/event/pending-events.yml +++ b/spec/rtems/event/if/pending-events.yml diff --git a/spec/rtems/event/if/receive.yml b/spec/rtems/event/if/receive.yml new file mode 100644 index 00000000..acd252ba --- /dev/null +++ b/spec/rtems/event/if/receive.yml @@ -0,0 +1,122 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Receives or gets an event set. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${set:/name} ${.:/params[0]/name} + - ${../../option/if/option:/name} ${.:/params[1]/name} + - ${../../type/if/interval:/name} ${.:/params[2]/name} + - ${set:/name} *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive can be used to + + * get the pending events of the calling task, or + + * receive events. + + To *get the pending events* use the constant ${pending-events:/name} for the + ``${.:/params[0]/name}`` parameter. The pending events are returned to the + calling task but the event set of the task is left unaltered. The + ``${.:/params[1]/name}`` and ``${.:params[2]/name}`` parameters are ignored + in this case. The directive returns immediately and does not block. + + To *receive events* you have to define an input event condition and some + options. The option set specified in ``${.:/params[1]/name}`` defines + + * if the task will wait or poll for the events, and + + * if the task wants to receive all or any of the input events. + + The option set is built through a *bitwise or* of the option constants + described below. + + The task can *wait* or *poll* for the events. + + * Waiting for events is the default and can be emphasized through the use of + the ${../../option/if/wait:/name} option. The ``${.:/params[2]/name}`` + parameter defines how long the task is willing to wait. Use + ${../../type/if/no-timeout:/name} to wait potentially forever, otherwise set a + timeout interval in clock ticks. + + * Not waiting for events (polling) is selected by the + ${../../option/if/no-wait:/name} option. If this option is defined, then the + ``${.:/params[2]/name}`` parameter is ignored. + + The task can receive *all* or *any* of the input events specified in + ``${.:/params[0]/name}``. + + * Receiving all input events is the default and can be emphasized through the use + of the ${../../option/if/event-all:/name} option. + + * Receiving any of the input events is selected by the + ${../../option/if/event-any:/name} option. + + To receive all events use the constant ${all-events:/name} for the + ``${.:/params[0]/name}`` parameter. This constant is identical to + ${event-0:/name} | ... | ${event-31:/name} and should not be confused with + the option ${../../option/if/event-all:/name}. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_event_receive +notes: | + This directive shall be called by a task. Calling this directive from + interrupt context is undefined behaviour. + + This directive only affects the events specified in ``${.:/params[0]/name}``. + Any pending events that do not correspond to any of the events specified in + ``${.:/params[0]/name}`` will be left pending. + + A task can *receive all of the pending events* by calling the directive with + a value of ${all-events:/name} for the ``${.:/params[0]/name}`` parameter and + ${../../option/if/no-wait:/name} | ${../../option/if/event-any:/name} for the + ``${.:/params[1]/name}`` parameter. The pending events are returned to the + calling task and the event set of the task is cleared. If no events are + pending then the ${../../status/if/unsatisfied:/name} status code will be returned. +params: +- description: | + is the event set of interest. Use ${pending-events:/name} to get the + pending events. + dir: null + name: event_in +- description: is the option set. + dir: null + name: option_set +- description: | + is the timeout in clock ticks if the ${../../option/if/wait:/name} option was + set. Use ${../../type/if/no-timeout:/name} to wait potentially forever. + dir: null + name: ticks +- description: | + is the pointer to an event set. The received or pending events are stored + in the referenced event set if the operation was successful. + dir: null + name: event_out +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ``${.:/params[3]/name}`` parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The events of interest were not immediately available. + value: ${../../status/if/unsatisfied:/name} + - description: | + The events of interest were not available within the specified timeout + interval. + value: ${../../status/if/timeout:/name} +type: interface diff --git a/spec/rtems/event/if/send.yml b/spec/rtems/event/if/send.yml new file mode 100644 index 00000000..240c30be --- /dev/null +++ b/spec/rtems/event/if/send.yml @@ -0,0 +1,74 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Sends an event set to a task. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${set:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive sends an event set, ``${.:/params[1]/name}``, to the task + specified by ``${.:/params[0]/name}``. Based upon the state of the target + task, one of the following situations applies: + + * The target task is blocked waiting for events, then + + * if the waiting task's input event condition is satisfied, then the task + is made ready for execution, or + + * otherwise, the event set is posted but left pending and the task remains + blocked. + + * The target task is not waiting for events, then the event set is posted and + left pending. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_event_send +notes: | + Events can be sent by tasks or an ${/glossary/isr:/term}. + + Specifying ${../../task/if/self-define:/name} for ``${.:/params[0]/name}`` results + in the event set being sent to the calling task. + + The event set to send shall be built by a *bitwise or* of the desired events. + The set of valid events is ${event-0:/name} through ${event-31:/name}. If an + event is not explicitly specified in the set, then it is not present. + + Identical events sent to a task are not queued. In other words, the second, + and subsequent, posting of an event to a task before it can perform an + ${receive:/name} has no effect. + + The calling task will be preempted if it has preemption enabled and a higher + priority task is unblocked as the result of this directive. + + Sending an event set to a global task which does not reside on the local node + will generate a request telling the remote node to send the event set to the + appropriate task. +params: +- description: is the identifier of the target task to receive the event set. + dir: null + name: id +- description: is the event set to send. + dir: null + name: event_in +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + There was no task with the specified identifier. + value: ${../../status/if/invalid-id:/name} +type: interface diff --git a/spec/rtems/event/if/set.yml b/spec/rtems/event/if/set.yml new file mode 100644 index 00000000..cbcff37d --- /dev/null +++ b/spec/rtems/event/if/set.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This integer type can hold an event set of up to 32 events represented as a + bit field. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_event_set +notes: null +type: interface diff --git a/spec/if/rtems/event/system-network-close.yml b/spec/rtems/event/if/system-network-close.yml index db5149de..db5149de 100644 --- a/spec/if/rtems/event/system-network-close.yml +++ b/spec/rtems/event/if/system-network-close.yml diff --git a/spec/if/rtems/event/system-network-sbwait.yml b/spec/rtems/event/if/system-network-sbwait.yml index d1fe0b83..d1fe0b83 100644 --- a/spec/if/rtems/event/system-network-sbwait.yml +++ b/spec/rtems/event/if/system-network-sbwait.yml diff --git a/spec/if/rtems/event/system-network-sosleep.yml b/spec/rtems/event/if/system-network-sosleep.yml index 483afb96..483afb96 100644 --- a/spec/if/rtems/event/system-network-sosleep.yml +++ b/spec/rtems/event/if/system-network-sosleep.yml diff --git a/spec/rtems/event/if/system-receive.yml b/spec/rtems/event/if/system-receive.yml new file mode 100644 index 00000000..1cecddc4 --- /dev/null +++ b/spec/rtems/event/if/system-receive.yml @@ -0,0 +1,49 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Receives or gets a system event set. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${set:/name} ${.:/params[0]/name} + - ${../../option/if/option:/name} ${.:/params[1]/name} + - ${../../type/if/interval:/name} ${.:/params[2]/name} + - ${set:/name} *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive performs the same actions as the ${receive:/name} directive + except that it operates with a different set of events for each task. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +name: rtems_event_system_receive +notes: null +params: +- description: | + is the event set of interest. Use ${pending-events:/name} to get the + pending events. + dir: null + name: event_in +- description: is the option set. + dir: null + name: option_set +- description: | + is the timeout in clock ticks if the ${../../option/if/wait:/name} option was + set. Use ${../../type/if/no-timeout:/name} to wait potentially forever. + dir: null + name: ticks +- description: | + is the pointer to an event set. The received or pending events are stored + in the referenced event set if the operation was successful. + dir: null + name: event_out +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/event/if/system-send.yml b/spec/rtems/event/if/system-send.yml new file mode 100644 index 00000000..75c7fb53 --- /dev/null +++ b/spec/rtems/event/if/system-send.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Sends a system event set to a task. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${set:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +name: rtems_event_system_send +notes: null +params: +- description: is the identifier of the target task to receive the event set. + dir: null + name: id +- description: is the event set to send. + dir: null + name: event_in +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/event/system-server-resume.yml b/spec/rtems/event/if/system-server-resume.yml index 83217d87..83217d87 100644 --- a/spec/if/rtems/event/system-server-resume.yml +++ b/spec/rtems/event/if/system-server-resume.yml diff --git a/spec/if/rtems/event/system-server.yml b/spec/rtems/event/if/system-server.yml index e628d449..e628d449 100644 --- a/spec/if/rtems/event/system-server.yml +++ b/spec/rtems/event/if/system-server.yml diff --git a/spec/if/rtems/event/system-transient.yml b/spec/rtems/event/if/system-transient.yml index a1b4b9e2..a1b4b9e2 100644 --- a/spec/if/rtems/event/system-transient.yml +++ b/spec/rtems/event/if/system-transient.yml diff --git a/spec/rtems/event/if/transient-clear.yml b/spec/rtems/event/if/transient-clear.yml new file mode 100644 index 00000000..de9bf474 --- /dev/null +++ b/spec/rtems/event/if/transient-clear.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Clears the transient event. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: | + ${set:/name} event_out; + + (void) ${system-receive:/name}( + ${system-transient:/name}, + ${../../option/if/event-all:/name} | ${../../option/if/no-wait:/name}, + 0, + &event_out + ); + params: [] + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +name: rtems_event_transient_clear +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/event/if/transient-receive.yml b/spec/rtems/event/if/transient-receive.yml new file mode 100644 index 00000000..1c592d05 --- /dev/null +++ b/spec/rtems/event/if/transient-receive.yml @@ -0,0 +1,40 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Receives the transient event. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: | + ${set:/name} event_out; + + return ${system-receive:/name}( + ${system-transient:/name}, + ${../../option/if/event-all:/name} | ${.:/params[0]/name}, + ${.:/params[1]/name}, + &event_out + ); + params: + - ${../../option/if/option:/name} ${.:/params[0]/name} + - ${../../type/if/interval:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +name: rtems_event_transient_receive +notes: null +params: +- description: is the option set. + dir: null + name: option_set +- description: is the optional timeout in clock ticks. + dir: null + name: ticks +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/event/if/transient-send.yml b/spec/rtems/event/if/transient-send.yml new file mode 100644 index 00000000..1bfb6198 --- /dev/null +++ b/spec/rtems/event/if/transient-send.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Sends the transient event to the specified task. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: | + return ${system-send:/name}( ${.:/params[0]/name}, ${system-transient:/name} ); + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +name: rtems_event_transient_send +notes: null +params: +- description: is the identifier of the task to receive the transient event. + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/req/rtems/event/val/event-constant.yml b/spec/rtems/event/req/event-constant.yml index d1e0b84e..d1e0b84e 100644 --- a/spec/req/rtems/event/val/event-constant.yml +++ b/spec/rtems/event/req/event-constant.yml diff --git a/spec/req/rtems/event/val/events.yml b/spec/rtems/event/req/events.yml index ede39e36..ede39e36 100644 --- a/spec/req/rtems/event/val/events.yml +++ b/spec/rtems/event/req/events.yml diff --git a/spec/rtems/event/req/receive.yml b/spec/rtems/event/req/receive.yml new file mode 100644 index 00000000..b2bdab64 --- /dev/null +++ b/spec/rtems/event/req/receive.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/receive +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/receive:/name} directive shall receive events from the + application event set of a task as specified by ${send-receive}. +type: requirement diff --git a/spec/req/rtems/event/send-receive.yml b/spec/rtems/event/req/send-receive.yml index 5723e57e..5723e57e 100644 --- a/spec/req/rtems/event/send-receive.yml +++ b/spec/rtems/event/req/send-receive.yml diff --git a/spec/rtems/event/req/send.yml b/spec/rtems/event/req/send.yml new file mode 100644 index 00000000..328e1293 --- /dev/null +++ b/spec/rtems/event/req/send.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/send +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/send:/name} directive shall send events to the application event + set of a task as specified by ${send-receive}. +type: requirement diff --git a/spec/rtems/event/req/system-receive.yml b/spec/rtems/event/req/system-receive.yml new file mode 100644 index 00000000..5343d749 --- /dev/null +++ b/spec/rtems/event/req/system-receive.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/system-receive +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/system-receive:/name} directive shall receive events from the + system event set of a task as specified by ${send-receive}. +type: requirement diff --git a/spec/rtems/event/req/system-send.yml b/spec/rtems/event/req/system-send.yml new file mode 100644 index 00000000..22336d86 --- /dev/null +++ b/spec/rtems/event/req/system-send.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/system-send +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/system-send:/name} directive shall send events to the system + event set of a task as specified by ${send-receive}. +type: requirement diff --git a/spec/rtems/event/val/send-receive.yml b/spec/rtems/event/val/send-receive.yml new file mode 100644 index 00000000..f3d67209 --- /dev/null +++ b/spec/rtems/event/val/send-receive.yml @@ -0,0 +1,65 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/receive +- role: validation + uid: ../req/send +test-actions: +- action: | + ${../req/send-receive:/test-run}( + EventSend, + EventReceive, + GetPendingEvents, + THREAD_WAIT_CLASS_EVENT, + STATES_WAITING_FOR_EVENT + ); + checks: [] + description: | + Run the event send and receive tests for the application event set defined + by ${../req/send-receive}. + links: [] +test-brief: | + Tests the ${../if/send:/name} and ${../if/receive:/name} directives. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: +- rtems/rtems/eventimpl.h +- rtems/rtems/tasksdata.h +- rtems/score/statesimpl.h +- rtems/score/threadimpl.h +test-local-includes: +- tr-event-send-receive.h +test-prologue: null +test-support: | + static rtems_status_code EventSend( + rtems_id id, + rtems_event_set event_in + ) + { + return rtems_event_send( id, event_in ); + } + + static rtems_status_code EventReceive( + rtems_id event_in, + rtems_option option_set, + rtems_interval ticks, + rtems_event_set *event_out + ) + { + return rtems_event_receive( event_in, option_set, ticks, event_out ); + } + + static rtems_event_set GetPendingEvents( Thread_Control *thread ) + { + RTEMS_API_Control *api; + + api = thread->API_Extensions[ THREAD_API_RTEMS ]; + return api->Event.pending_events; + } +test-target: testsuites/validation/tc-event-send-receive.c +type: test-case diff --git a/spec/rtems/event/val/system-send-receive.yml b/spec/rtems/event/val/system-send-receive.yml new file mode 100644 index 00000000..18bdeb03 --- /dev/null +++ b/spec/rtems/event/val/system-send-receive.yml @@ -0,0 +1,71 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/system-receive +- role: validation + uid: ../req/system-send +test-actions: +- action: | + ${../req/send-receive:/test-run}( + EventSystemSend, + EventSystemReceive, + GetPendingSystemEvents, + THREAD_WAIT_CLASS_SYSTEM_EVENT, + STATES_WAITING_FOR_SYSTEM_EVENT + ); + checks: [] + description: | + Run the event send and receive tests for the system event set defined + by ${../req/send-receive}. + links: [] +test-brief: | + Tests the ${../if/system-send:/name} and ${../if/system-receive:/name} + directives. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: +- rtems/rtems/eventimpl.h +- rtems/rtems/tasksdata.h +- rtems/score/statesimpl.h +- rtems/score/threadimpl.h +test-local-includes: +- tr-event-send-receive.h +test-prologue: null +test-support: | + static rtems_status_code EventSystemSend( + rtems_id id, + rtems_event_set event_in + ) + { + return rtems_event_system_send( id, event_in ); + } + + static rtems_status_code EventSystemReceive( + rtems_id event_in, + rtems_option option_set, + rtems_interval ticks, + rtems_event_set *event_out + ) + { + return rtems_event_system_receive( + event_in, + option_set, + ticks, + event_out + ); + } + + static rtems_event_set GetPendingSystemEvents( Thread_Control *thread ) + { + RTEMS_API_Control *api; + + api = thread->API_Extensions[ THREAD_API_RTEMS ]; + return api->System_event.pending_events; + } +test-target: testsuites/validation/tc-event-send-receive.c +type: test-case diff --git a/spec/if/rtems/fatal/assert-context.yml b/spec/rtems/fatal/if/assert-context.yml index 9fb89b87..9fb89b87 100644 --- a/spec/if/rtems/fatal/assert-context.yml +++ b/spec/rtems/fatal/if/assert-context.yml diff --git a/spec/rtems/fatal/if/error-occurred.yml b/spec/rtems/fatal/if/error-occurred.yml new file mode 100644 index 00000000..a0e8c6df --- /dev/null +++ b/spec/rtems/fatal/if/error-occurred.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/uint32_t:/name} ${.:/params[0]/name} + return: ${../../basedefs/if/no-return:/name} void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_fatal_error_occurred +notes: null +params: +- description: '%' + dir: null + name: the_error +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/fatal/if/exception-frame-print.yml b/spec/rtems/fatal/if/exception-frame-print.yml new file mode 100644 index 00000000..d65187b9 --- /dev/null +++ b/spec/rtems/fatal/if/exception-frame-print.yml @@ -0,0 +1,31 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: | + ${/score/cpu/if/exception-frame-print:/name}( ${.:/params[0]/name} ); + params: + - const ${exception-frame:/name} *${.:/params[0]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_exception_frame_print +notes: null +params: +- description: '%' + dir: null + name: frame +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/fatal/if/exception-frame.yml b/spec/rtems/fatal/if/exception-frame.yml new file mode 100644 index 00000000..43aa120b --- /dev/null +++ b/spec/rtems/fatal/if/exception-frame.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/cpu/if/exception-frame:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_exception_frame +notes: null +type: interface diff --git a/spec/rtems/fatal/if/fatal.yml b/spec/rtems/fatal/if/fatal.yml new file mode 100644 index 00000000..10fdaad4 --- /dev/null +++ b/spec/rtems/fatal/if/fatal.yml @@ -0,0 +1,35 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: | + ${/score/interr/if/terminate:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ); + params: + - ${../../userext/if/fatal-source:/name} ${.:/params[0]/name} + - ${../../userext/if/fatal-code:/name} ${.:/params[1]/name} + return: ${../../basedefs/if/no-return:/name} void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_fatal +notes: null +params: +- description: '%' + dir: null + name: fatal_source +- description: '%' + dir: null + name: error_code +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/fatal/if/group.yml b/spec/rtems/fatal/if/group.yml new file mode 100644 index 00000000..e3a05303 --- /dev/null +++ b/spec/rtems/fatal/if/group.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Fatal Error Manager processes all fatal or irrecoverable errors and other + sources of system termination (for example after ``exit()``). Fatal errors + are identified by the fatal source and error code pair. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicFatal +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Fatal Error Manager +text: | + The Classic API shall provide an interface to the Fatal Error Manager. +type: interface diff --git a/spec/rtems/fatal/if/header.yml b/spec/rtems/fatal/if/header.yml new file mode 100644 index 00000000..77f8e0c0 --- /dev/null +++ b/spec/rtems/fatal/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Fatal Error Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/fatal.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/fatal/if/internal-error-text.yml b/spec/rtems/fatal/if/internal-error-text.yml new file mode 100644 index 00000000..8c55cc07 --- /dev/null +++ b/spec/rtems/fatal/if/internal-error-text.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../userext/if/fatal-code:/name} ${.:/params[0]/name} + return: const char * + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_internal_error_text +notes: null +params: +- description: '%' + dir: null + name: error +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/fatal/if/panic.yml b/spec/rtems/fatal/if/panic.yml new file mode 100644 index 00000000..18511f87 --- /dev/null +++ b/spec/rtems/fatal/if/panic.yml @@ -0,0 +1,35 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const char *${.:/params[0]/name} + - '...' + return: | + ${../../basedefs/if/no-return:/name} ${../../basedefs/if/printflike:/name}( 1, 2 ) void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_panic +notes: null +params: +- description: '%' + dir: null + name: fmt +- description: '%' + dir: null + name: '...' +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/fatal/if/source-text.yml b/spec/rtems/fatal/if/source-text.yml new file mode 100644 index 00000000..ae97ebbd --- /dev/null +++ b/spec/rtems/fatal/if/source-text.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../userext/if/fatal-source:/name} ${.:/params[0]/name} + return: const char * + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_fatal_source_text +notes: null +params: +- description: '%' + dir: null + name: source +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/if/group.yml b/spec/rtems/if/group.yml new file mode 100644 index 00000000..f2284dc0 --- /dev/null +++ b/spec/rtems/if/group.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains the Classic API groups. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassic +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /if/api +name: Classic +text: | + The API shall contain the Classic API. +type: interface diff --git a/spec/rtems/if/header.yml b/spec/rtems/if/header.yml new file mode 100644 index 00000000..d6f6234f --- /dev/null +++ b/spec/rtems/if/header.yml @@ -0,0 +1,87 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Classic API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +- enabled-by: [] + role: interface-include + uid: ../barrier/if/header +- enabled-by: [] + role: interface-include + uid: ../cache/if/header +- enabled-by: [] + role: interface-include + uid: ../clock/if/header +- enabled-by: [] + role: interface-include + uid: ../config/if/header +- enabled-by: [] + role: interface-include + uid: ../dpmem/if/header +- enabled-by: [] + role: interface-include + uid: ../event/if/header +- enabled-by: [] + role: interface-include + uid: ../fatal/if/header +- enabled-by: [] + role: interface-include + uid: ../init/if/header +- enabled-by: [] + role: interface-include + uid: ../intr/if/header +- enabled-by: [] + role: interface-include + uid: ../io/if/header +- enabled-by: [] + role: interface-include + uid: ../message/if/header +- enabled-by: [] + role: interface-include + uid: ../object/if/header +- enabled-by: [] + role: interface-include + uid: ../option/if/header +- enabled-by: [] + role: interface-include + uid: ../part/if/header +- enabled-by: [] + role: interface-include + uid: ../ratemon/if/header +- enabled-by: [] + role: interface-include + uid: ../region/if/header +- enabled-by: [] + role: interface-include + uid: ../sem/if/header +- enabled-by: [] + role: interface-include + uid: ../signal/if/header +- enabled-by: [] + role: interface-include + uid: ../status/if/header +- enabled-by: [] + role: interface-include + uid: ../support/if/header +- enabled-by: [] + role: interface-include + uid: ../task/if/header +- enabled-by: [] + role: interface-include + uid: ../timer/if/header +- enabled-by: [] + role: interface-include + uid: ../type/if/header +- enabled-by: [] + role: interface-include + uid: ../userext/if/header +- enabled-by: RTEMS_MULTIPROCESSING + role: interface-include + uid: ../mp/if/header +path: rtems.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/init/if/group.yml b/spec/rtems/init/if/group.yml new file mode 100644 index 00000000..89104bf3 --- /dev/null +++ b/spec/rtems/init/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains directives to initialize and shutdown the RTEMS + executive. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicInit +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Initialization and Shutdown +text: | + The Classic API shall provide an interface to the Initialization and Shutdown + Manager. +type: interface diff --git a/spec/rtems/init/if/header.yml b/spec/rtems/init/if/header.yml new file mode 100644 index 00000000..a842fbd8 --- /dev/null +++ b/spec/rtems/init/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Initialization Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/init.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/init/if/initialize-executive.yml b/spec/rtems/init/if/initialize-executive.yml new file mode 100644 index 00000000..5d4e3ac1 --- /dev/null +++ b/spec/rtems/init/if/initialize-executive.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Initializes the system and starts multitasking. +copyrights: +- Copyright (C) 2015, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${../../basedefs/if/no-return:/name} void + variants: [] +description: | + Iterates through the system initialization linker set and invokes the + registered handlers. The final step is to start multitasking. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_initialize_executive +notes: | + This directive should be called by boot_card() only. + + This directive does not return to the caller. Errors in the initialization + sequence are usually fatal and lead to a system termination. +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/init/if/shutdown-executive.yml b/spec/rtems/init/if/shutdown-executive.yml new file mode 100644 index 00000000..d4e8fe07 --- /dev/null +++ b/spec/rtems/init/if/shutdown-executive.yml @@ -0,0 +1,35 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Shuts down the RTEMS environment. +copyrights: +- Copyright (C) 2015, 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/uint32_t:/name} ${.:/params[0]/name} + return: ${../../basedefs/if/no-return:/name} void + variants: [] +description: | + The invocation of this directive results in the RTEMS environment being + shutdown and multitasking halted. The system is terminated with a fatal + source of RTEMS_FATAL_SOURCE_EXIT and the specified result code. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_shutdown_executive +notes: | + This directive does not return to the caller. +params: +- description: is the result code. + dir: null + name: result +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/catch.yml b/spec/rtems/intr/if/catch.yml new file mode 100644 index 00000000..40246fcb --- /dev/null +++ b/spec/rtems/intr/if/catch.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${isr-entry:/name} ${.:/params[0]/name} + - ${vector-number:/name} ${.:/params[1]/name} + - ${isr-entry:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_catch +notes: null +params: +- description: '%' + dir: null + name: new_isr_handler +- description: '%' + dir: null + name: vector +- description: '%' + dir: null + name: old_isr_handler +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/intr/cause.yml b/spec/rtems/intr/if/cause.yml index 6d562a61..6d562a61 100644 --- a/spec/if/rtems/intr/cause.yml +++ b/spec/rtems/intr/if/cause.yml diff --git a/spec/if/rtems/intr/clear.yml b/spec/rtems/intr/if/clear.yml index f77071c1..f77071c1 100644 --- a/spec/if/rtems/intr/clear.yml +++ b/spec/rtems/intr/if/clear.yml diff --git a/spec/rtems/intr/if/disable.yml b/spec/rtems/intr/if/disable.yml new file mode 100644 index 00000000..c87c3d56 --- /dev/null +++ b/spec/rtems/intr/if/disable.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/local-disable:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: + not: RTEMS_SMP +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_disable +notes: null +params: +- description: '%' + dir: null + name: _isr_cookie +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/enable.yml b/spec/rtems/intr/if/enable.yml new file mode 100644 index 00000000..e2353ccd --- /dev/null +++ b/spec/rtems/intr/if/enable.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/local-enable:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: + not: RTEMS_SMP +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_enable +notes: null +params: +- description: '%' + dir: null + name: _isr_cookie +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/flash.yml b/spec/rtems/intr/if/flash.yml new file mode 100644 index 00000000..140ba90e --- /dev/null +++ b/spec/rtems/intr/if/flash.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/local-flash:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: + not: RTEMS_SMP +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_flash +notes: null +params: +- description: '%' + dir: null + name: _isr_cookie +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/group.yml b/spec/rtems/intr/if/group.yml new file mode 100644 index 00000000..e1c4c8af --- /dev/null +++ b/spec/rtems/intr/if/group.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Any real-time executive must provide a mechanism for quick response to + externally generated interrupts to satisfy the critical time constraints of + the application. The Interrupt Manager provides this mechanism for RTEMS. + This manager permits quick interrupt response times by providing the critical + ability to alter task execution which allows a task to be preempted upon exit + from an ISR. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicIntr +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Interrupt Manager +text: | + The Classic API shall provide an interface to the Interrupt Manager. +type: interface diff --git a/spec/rtems/intr/if/header.yml b/spec/rtems/intr/if/header.yml new file mode 100644 index 00000000..b1c63786 --- /dev/null +++ b/spec/rtems/intr/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Interrupt Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/intr.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/intr/if/is-in-progress.yml b/spec/rtems/intr/if/is-in-progress.yml new file mode 100644 index 00000000..115adee1 --- /dev/null +++ b/spec/rtems/intr/if/is-in-progress.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/is-in-progress:/name}() + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_is_in_progress +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/isr-entry.yml b/spec/rtems/intr/if/isr-entry.yml new file mode 100644 index 00000000..eedfcca0 --- /dev/null +++ b/spec/rtems/intr/if/isr-entry.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Interrupt service routines installed by ${catch:/name} shall have this + function pointer type. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: void ( *${.:/name} )( void * ) + variants: + - definition: ${/score/isr/if/handler-entry:/name} ${.:/name} + enabled-by: ${/score/cpu/if/simple-vectored-interrupts:/name} == ${../../basedefs/if/true:/name} +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_isr_entry +notes: null +type: interface diff --git a/spec/rtems/intr/if/isr.yml b/spec/rtems/intr/if/isr.yml new file mode 100644 index 00000000..9ef98ecd --- /dev/null +++ b/spec/rtems/intr/if/isr.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/handler:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_isr +notes: null +type: interface diff --git a/spec/rtems/intr/if/level.yml b/spec/rtems/intr/if/level.yml new file mode 100644 index 00000000..ab9d08d0 --- /dev/null +++ b/spec/rtems/intr/if/level.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/level:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_level +notes: null +type: interface diff --git a/spec/rtems/intr/if/local-disable.yml b/spec/rtems/intr/if/local-disable.yml new file mode 100644 index 00000000..2a4918c8 --- /dev/null +++ b/spec/rtems/intr/if/local-disable.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/local-disable:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_local_disable +notes: null +params: +- description: '%' + dir: null + name: _isr_cookie +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/local-enable.yml b/spec/rtems/intr/if/local-enable.yml new file mode 100644 index 00000000..5bfa440e --- /dev/null +++ b/spec/rtems/intr/if/local-enable.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/local-enable:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_local_enable +notes: null +params: +- description: '%' + dir: null + name: _isr_cookie +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-acquire-isr.yml b/spec/rtems/intr/if/lock-acquire-isr.yml new file mode 100644 index 00000000..e7bca712 --- /dev/null +++ b/spec/rtems/intr/if/lock-acquire-isr.yml @@ -0,0 +1,35 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: do { (void) ${.:/params[1]/name}; } while ( 0 ) + variants: + - definition: | + ${/score/smp/if/lock-acquire:/name}( + &( ${.:/params[0]/name} )->Lock, + &( ${.:/params[1]/name} )->Lock_context + ) + enabled-by: defined(${/build-options/if/smp:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_acquire_isr +notes: null +params: +- description: '%' + dir: null + name: _lock +- description: '%' + dir: null + name: _lock_context +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-acquire.yml b/spec/rtems/intr/if/lock-acquire.yml new file mode 100644 index 00000000..4ca3dbde --- /dev/null +++ b/spec/rtems/intr/if/lock-acquire.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/isr/if/lock-isr-disable-acquire:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_acquire +notes: null +params: +- description: '%' + dir: null + name: _lock +- description: '%' + dir: null + name: _lock_context +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-context.yml b/spec/rtems/intr/if/lock-context.yml new file mode 100644 index 00000000..c1c53d91 --- /dev/null +++ b/spec/rtems/intr/if/lock-context.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/lock-context:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_context +notes: null +type: interface diff --git a/spec/rtems/intr/if/lock-declare.yml b/spec/rtems/intr/if/lock-declare.yml new file mode 100644 index 00000000..fa1c1147 --- /dev/null +++ b/spec/rtems/intr/if/lock-declare.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/isr/if/lock-declare:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_INTERRUPT_LOCK_DECLARE +notes: null +params: +- description: '%' + dir: null + name: _qualifier +- description: '%' + dir: null + name: _designator +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-define.yml b/spec/rtems/intr/if/lock-define.yml new file mode 100644 index 00000000..762201a5 --- /dev/null +++ b/spec/rtems/intr/if/lock-define.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/isr/if/lock-define:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_INTERRUPT_LOCK_DEFINE +notes: null +params: +- description: '%' + dir: null + name: _qualifier +- description: '%' + dir: null + name: _designator +- description: '%' + dir: null + name: _name +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-destroy.yml b/spec/rtems/intr/if/lock-destroy.yml new file mode 100644 index 00000000..5c6e553e --- /dev/null +++ b/spec/rtems/intr/if/lock-destroy.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/lock-destroy:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_destroy +notes: null +params: +- description: '%' + dir: null + name: _lock +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-initialize.yml b/spec/rtems/intr/if/lock-initialize.yml new file mode 100644 index 00000000..0c82aa65 --- /dev/null +++ b/spec/rtems/intr/if/lock-initialize.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/isr/if/lock-initialize:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_initialize +notes: null +params: +- description: '%' + dir: null + name: _lock +- description: '%' + dir: null + name: _name +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-initializer.yml b/spec/rtems/intr/if/lock-initializer.yml new file mode 100644 index 00000000..b2ee84a4 --- /dev/null +++ b/spec/rtems/intr/if/lock-initializer.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/lock-initializer:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_INTERRUPT_LOCK_INITIALIZER +notes: null +params: +- description: '%' + dir: null + name: _name +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-isr-disable.yml b/spec/rtems/intr/if/lock-isr-disable.yml new file mode 100644 index 00000000..43660b93 --- /dev/null +++ b/spec/rtems/intr/if/lock-isr-disable.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/lock-isr-disable:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_interrupt_disable +notes: null +params: +- description: '%' + dir: null + name: _lock_context +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-member.yml b/spec/rtems/intr/if/lock-member.yml new file mode 100644 index 00000000..19f9509e --- /dev/null +++ b/spec/rtems/intr/if/lock-member.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/lock-member:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_INTERRUPT_LOCK_MEMBER +notes: null +params: +- description: '%' + dir: null + name: _designator +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-reference.yml b/spec/rtems/intr/if/lock-reference.yml new file mode 100644 index 00000000..e187c4b9 --- /dev/null +++ b/spec/rtems/intr/if/lock-reference.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/isr/if/lock-reference:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_INTERRUPT_LOCK_REFERENCE +notes: null +params: +- description: '%' + dir: null + name: _designator +- description: '%' + dir: null + name: _target +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-release-isr.yml b/spec/rtems/intr/if/lock-release-isr.yml new file mode 100644 index 00000000..e12e641a --- /dev/null +++ b/spec/rtems/intr/if/lock-release-isr.yml @@ -0,0 +1,35 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: do { (void) ${.:/params[1]/name}; } while ( 0 ) + variants: + - definition: | + ${/score/smp/if/lock-release:/name}( + &( ${.:/params[0]/name} )->Lock, + &( ${.:/params[1]/name} )->Lock_context + ) + enabled-by: defined(${/build-options/if/smp:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_release_isr +notes: null +params: +- description: '%' + dir: null + name: _lock +- description: '%' + dir: null + name: _lock_context +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock-release.yml b/spec/rtems/intr/if/lock-release.yml new file mode 100644 index 00000000..97bbb81b --- /dev/null +++ b/spec/rtems/intr/if/lock-release.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/isr/if/lock-release-isr-enable:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock_release +notes: null +params: +- description: '%' + dir: null + name: _lock +- description: '%' + dir: null + name: _lock_context +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/intr/if/lock.yml b/spec/rtems/intr/if/lock.yml new file mode 100644 index 00000000..1b2615be --- /dev/null +++ b/spec/rtems/intr/if/lock.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/lock-control:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_lock +notes: null +type: interface diff --git a/spec/rtems/intr/if/vector-number.yml b/spec/rtems/intr/if/vector-number.yml new file mode 100644 index 00000000..74e96aa1 --- /dev/null +++ b/spec/rtems/intr/if/vector-number.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/isr/if/vector-number:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_vector_number +notes: null +type: interface diff --git a/spec/rtems/io/if/close.yml b/spec/rtems/io/if/close.yml new file mode 100644 index 00000000..0321a932 --- /dev/null +++ b/spec/rtems/io/if/close.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - ${device-minor-number:/name} ${.:/params[1]/name} + - void *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_close +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/io/if/control.yml b/spec/rtems/io/if/control.yml new file mode 100644 index 00000000..09608139 --- /dev/null +++ b/spec/rtems/io/if/control.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - ${device-minor-number:/name} ${.:/params[1]/name} + - void *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_control +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/io/device-driver-entry.yml b/spec/rtems/io/if/device-driver-entry.yml index a3ba8c60..a3ba8c60 100644 --- a/spec/if/rtems/io/device-driver-entry.yml +++ b/spec/rtems/io/if/device-driver-entry.yml diff --git a/spec/rtems/io/if/device-driver.yml b/spec/rtems/io/if/device-driver.yml new file mode 100644 index 00000000..7ed1cdb0 --- /dev/null +++ b/spec/rtems/io/if/device-driver.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${../../status/if/code:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_device_driver +notes: null +type: interface diff --git a/spec/rtems/io/if/device-major-number.yml b/spec/rtems/io/if/device-major-number.yml new file mode 100644 index 00000000..f49bbc6b --- /dev/null +++ b/spec/rtems/io/if/device-major-number.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_device_major_number +notes: null +type: interface diff --git a/spec/rtems/io/if/device-minor-number.yml b/spec/rtems/io/if/device-minor-number.yml new file mode 100644 index 00000000..dde18153 --- /dev/null +++ b/spec/rtems/io/if/device-minor-number.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_device_minor_number +notes: null +type: interface diff --git a/spec/if/rtems/io/driver-address-table.yml b/spec/rtems/io/if/driver-address-table.yml index 503ed033..503ed033 100644 --- a/spec/if/rtems/io/driver-address-table.yml +++ b/spec/rtems/io/if/driver-address-table.yml diff --git a/spec/rtems/io/if/driver-error.yml b/spec/rtems/io/if/driver-error.yml new file mode 100644 index 00000000..e9d1f0aa --- /dev/null +++ b/spec/rtems/io/if/driver-error.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - ${device-minor-number:/name} ${.:/params[1]/name} + - void *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_driver_io_error +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +- description: '%' + dir: null + name: arg +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/io/getchark.yml b/spec/rtems/io/if/getchark.yml index 312942a7..312942a7 100644 --- a/spec/if/rtems/io/getchark.yml +++ b/spec/rtems/io/if/getchark.yml diff --git a/spec/rtems/io/if/group.yml b/spec/rtems/io/if/group.yml new file mode 100644 index 00000000..181f251a --- /dev/null +++ b/spec/rtems/io/if/group.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Input/Output Interface Manager provides a well-defined mechanism for + accessing device drivers and a structured methodology for organizing device + drivers. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicIO +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Input/Output Interface Manager +text: | + The Classic API shall provide an interface to the Input/Output Interface Manager. +type: interface diff --git a/spec/rtems/io/if/header.yml b/spec/rtems/io/if/header.yml new file mode 100644 index 00000000..70a8d08e --- /dev/null +++ b/spec/rtems/io/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the IO Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/io.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/io/if/initialize.yml b/spec/rtems/io/if/initialize.yml new file mode 100644 index 00000000..61250511 --- /dev/null +++ b/spec/rtems/io/if/initialize.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - ${device-minor-number:/name} ${.:/params[1]/name} + - void *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_initialize +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/io/mount.yml b/spec/rtems/io/if/mount.yml index ee4d6ba1..ee4d6ba1 100644 --- a/spec/if/rtems/io/mount.yml +++ b/spec/rtems/io/if/mount.yml diff --git a/spec/rtems/io/if/open.yml b/spec/rtems/io/if/open.yml new file mode 100644 index 00000000..6ec33a03 --- /dev/null +++ b/spec/rtems/io/if/open.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - ${device-minor-number:/name} ${.:/params[1]/name} + - void *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_open +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/io/printer.yml b/spec/rtems/io/if/printer.yml index 118f0686..118f0686 100644 --- a/spec/if/rtems/io/printer.yml +++ b/spec/rtems/io/if/printer.yml diff --git a/spec/if/rtems/io/printk.yml b/spec/rtems/io/if/printk.yml index f8ed543d..f8ed543d 100644 --- a/spec/if/rtems/io/printk.yml +++ b/spec/rtems/io/if/printk.yml diff --git a/spec/if/rtems/io/putc.yml b/spec/rtems/io/if/putc.yml index d49990be..d49990be 100644 --- a/spec/if/rtems/io/putc.yml +++ b/spec/rtems/io/if/putc.yml diff --git a/spec/rtems/io/if/read.yml b/spec/rtems/io/if/read.yml new file mode 100644 index 00000000..b28a1279 --- /dev/null +++ b/spec/rtems/io/if/read.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - ${device-minor-number:/name} ${.:/params[1]/name} + - void *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_read +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/io/if/register-driver.yml b/spec/rtems/io/if/register-driver.yml new file mode 100644 index 00000000..a51ec9c5 --- /dev/null +++ b/spec/rtems/io/if/register-driver.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - const rtems_driver_address_table *${.:/params[1]/name} + - ${device-major-number:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_register_driver +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: driver_table +- description: '%' + dir: null + name: registered_major +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/io/if/register-name.yml b/spec/rtems/io/if/register-name.yml new file mode 100644 index 00000000..0b086407 --- /dev/null +++ b/spec/rtems/io/if/register-name.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const char *${.:/params[0]/name} + - ${device-major-number:/name} ${.:/params[1]/name} + - ${device-minor-number:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_register_name +notes: null +params: +- description: '%' + dir: null + name: device_name +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/io/unmount.yml b/spec/rtems/io/if/unmount.yml index fa548907..fa548907 100644 --- a/spec/if/rtems/io/unmount.yml +++ b/spec/rtems/io/if/unmount.yml diff --git a/spec/rtems/io/if/unregister-driver.yml b/spec/rtems/io/if/unregister-driver.yml new file mode 100644 index 00000000..0f7cf261 --- /dev/null +++ b/spec/rtems/io/if/unregister-driver.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_unregister_driver +notes: null +params: +- description: '%' + dir: null + name: major +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/io/if/write.yml b/spec/rtems/io/if/write.yml new file mode 100644 index 00000000..0cd9c278 --- /dev/null +++ b/spec/rtems/io/if/write.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${device-major-number:/name} ${.:/params[0]/name} + - ${device-minor-number:/name} ${.:/params[1]/name} + - void *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_io_write +notes: null +params: +- description: '%' + dir: null + name: major +- description: '%' + dir: null + name: minor +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/broadcast.yml b/spec/rtems/message/if/broadcast.yml new file mode 100644 index 00000000..ab2e45d0 --- /dev/null +++ b/spec/rtems/message/if/broadcast.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - const void *${.:/params[1]/name} + - ${/c/if/size_t:/name} ${.:/params[2]/name} + - ${/c/if/uint32_t:/name} *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_broadcast +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: buffer +- description: '%' + dir: null + name: size +- description: '%' + dir: null + name: count +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/create.yml b/spec/rtems/message/if/create.yml new file mode 100644 index 00000000..88f0cdb1 --- /dev/null +++ b/spec/rtems/message/if/create.yml @@ -0,0 +1,46 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + - ${/c/if/size_t:/name} ${.:/params[2]/name} + - ${../../attr/if/attribute:/name} ${.:/params[3]/name} + - ${../../type/if/id:/name} *${.:/params[4]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: count +- description: '%' + dir: null + name: max_message_size +- description: '%' + dir: null + name: attribute_set +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/delete.yml b/spec/rtems/message/if/delete.yml new file mode 100644 index 00000000..3e6fb462 --- /dev/null +++ b/spec/rtems/message/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/flush.yml b/spec/rtems/message/if/flush.yml new file mode 100644 index 00000000..faeb0c81 --- /dev/null +++ b/spec/rtems/message/if/flush.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_flush +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: count +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/get-number-pending.yml b/spec/rtems/message/if/get-number-pending.yml new file mode 100644 index 00000000..aab16f4d --- /dev/null +++ b/spec/rtems/message/if/get-number-pending.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_get_number_pending +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: count +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/group.yml b/spec/rtems/message/if/group.yml new file mode 100644 index 00000000..82c9944d --- /dev/null +++ b/spec/rtems/message/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Message Manager provides communication and synchronization capabilities + using RTEMS message queues. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicMessage +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Message Manager +text: | + The Classic API shall provide an interface to the Message Manager. +type: interface diff --git a/spec/rtems/message/if/header.yml b/spec/rtems/message/if/header.yml new file mode 100644 index 00000000..519439da --- /dev/null +++ b/spec/rtems/message/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Message Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/message.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/message/if/ident.yml b/spec/rtems/message/if/ident.yml new file mode 100644 index 00000000..a80d93d9 --- /dev/null +++ b/spec/rtems/message/if/ident.yml @@ -0,0 +1,86 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a message queue object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + - ${../../type/if/id:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the message queue identifier associated with the + message queue name specified in ``${.:/params[0]/name}``. + + The node to search is specified in ``${.:/params[1]/name}``. It shall be + + * a valid node number, + + * the constant ${../../object/if/search-all-nodes:/name} to search in all nodes, + + * the constant ${../../object/if/search-local-node:/name} to search in the local + node only, or + + * the constant ${../../object/if/search-other-nodes:/name} to search in all nodes + except the local node. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_ident +notes: | + If the message queue name is not unique, then the message queue identifier + will match the first message queue with that name in the search order. + However, this message queue identifier is not guaranteed to correspond to the + desired message queue. The message queue identifier is used with other + message related directives to access the message queue. + + If node is ${../../object/if/search-all-nodes:/name}, all nodes are searched with + the local node being searched first. All other nodes are searched with the + lowest numbered node searched first. + + If node is a valid node number which does not represent the local node, then + only the message queues exported by the designated node are searched. + + This directive does not generate activity on remote nodes. It accesses only + the local copy of the global object table. +params: +- description: is the object name to look up. + dir: null + name: name +- description: is the node or node set to search for a matching object. + dir: null + name: node +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the specified nodes. + value: ${../../status/if/invalid-name:/name} + - description: | + In multiprocessing configurations, the specified node was invalid. + value: ${../../status/if/invalid-node:/name} +type: interface diff --git a/spec/rtems/message/if/receive.yml b/spec/rtems/message/if/receive.yml new file mode 100644 index 00000000..5c77dedf --- /dev/null +++ b/spec/rtems/message/if/receive.yml @@ -0,0 +1,46 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - ${/c/if/size_t:/name} *${.:/params[2]/name} + - ${../../option/if/option:/name} ${.:/params[3]/name} + - ${../../type/if/interval:/name} ${.:/params[4]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_receive +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: buffer +- description: '%' + dir: null + name: size +- description: '%' + dir: null + name: option_set +- description: '%' + dir: null + name: timeout +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/send.yml b/spec/rtems/message/if/send.yml new file mode 100644 index 00000000..7ce5dd07 --- /dev/null +++ b/spec/rtems/message/if/send.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - const void *${.:/params[1]/name} + - ${/c/if/size_t:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_send +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: buffer +- description: '%' + dir: null + name: size +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/if/urgent.yml b/spec/rtems/message/if/urgent.yml new file mode 100644 index 00000000..bf21ed90 --- /dev/null +++ b/spec/rtems/message/if/urgent.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - const void *${.:/params[1]/name} + - ${/c/if/size_t:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_message_queue_urgent +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: buffer +- description: '%' + dir: null + name: size +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/message/req/ident.yml b/spec/rtems/message/req/ident.yml new file mode 100644 index 00000000..1e623ab9 --- /dev/null +++ b/spec/rtems/message/req/ident.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/ident +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/ident:/name} directive shall identify an Classic API + message queue class object by its name as specified by ${../req/ident}. +type: requirement diff --git a/spec/rtems/message/val/ident.yml b/spec/rtems/message/val/ident.yml new file mode 100644 index 00000000..2a1e9ff4 --- /dev/null +++ b/spec/rtems/message/val/ident.yml @@ -0,0 +1,49 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/ident +test-actions: +- action: | + ${../../req/ident:/test-run}( + id_local_object, + ClassicMessageIdentAction + ); + checks: [] + description: | + Run the generic object identification tests for Classic API message queue + class objects defined by ${../../req/ident}. + links: [] +test-brief: Test the ${../if/ident:/name} directive. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident.h +test-prologue: | + rtems_status_code sc; + rtems_id id_local_object; + + sc = rtems_message_queue_create( + ClassicObjectIdentName, + 1, + 1, + RTEMS_DEFAULT_ATTRIBUTES, + &id_local_object + ); + T_assert_rsc_success( sc ); +test-support: | + static rtems_status_code ClassicMessageIdentAction( + rtems_name name, + uint32_t node, + rtems_id *id + ) + { + return rtems_message_queue_ident( name, node, id ); + } +test-target: testsuites/validation/tc-message-ident.c +type: test-case diff --git a/spec/if/rtems/modes/all-mode-masks.yml b/spec/rtems/mode/if/all-mode-masks.yml index 92a86105..92a86105 100644 --- a/spec/if/rtems/modes/all-mode-masks.yml +++ b/spec/rtems/mode/if/all-mode-masks.yml diff --git a/spec/if/rtems/modes/asr-mask.yml b/spec/rtems/mode/if/asr-mask.yml index 690a4cb8..690a4cb8 100644 --- a/spec/if/rtems/modes/asr-mask.yml +++ b/spec/rtems/mode/if/asr-mask.yml diff --git a/spec/if/rtems/modes/asr.yml b/spec/rtems/mode/if/asr.yml index 54231e74..54231e74 100644 --- a/spec/if/rtems/modes/asr.yml +++ b/spec/rtems/mode/if/asr.yml diff --git a/spec/if/rtems/modes/current-mode.yml b/spec/rtems/mode/if/current-mode.yml index 06767b5f..06767b5f 100644 --- a/spec/if/rtems/modes/current-mode.yml +++ b/spec/rtems/mode/if/current-mode.yml diff --git a/spec/if/rtems/modes/default.yml b/spec/rtems/mode/if/default.yml index a5d62d71..a5d62d71 100644 --- a/spec/if/rtems/modes/default.yml +++ b/spec/rtems/mode/if/default.yml diff --git a/spec/rtems/mode/if/group.yml b/spec/rtems/mode/if/group.yml new file mode 100644 index 00000000..effb1397 --- /dev/null +++ b/spec/rtems/mode/if/group.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains the Classic API task modes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicModes +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Task Modes +text: | + The Classic API shall provide an interface to task modes. +type: interface diff --git a/spec/rtems/mode/if/header.yml b/spec/rtems/mode/if/header.yml new file mode 100644 index 00000000..17d29647 --- /dev/null +++ b/spec/rtems/mode/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the task modes of the Task Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/modes.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/mode/if/interrupt-level-body.yml b/spec/rtems/mode/if/interrupt-level-body.yml new file mode 100644 index 00000000..16608cc8 --- /dev/null +++ b/spec/rtems/mode/if/interrupt-level-body.yml @@ -0,0 +1,35 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns a mode with the desired interrupt level in the proper bit-field + location. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/uint32_t:/name} ${.:/params[0]/name} + return: ${mode:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_level_body +notes: | + This function is used by bindings from languages other than C and C++. +params: +- description: is the desired interrupt level. + dir: null + name: level +return: + return: | + A mode with the desired interrupt level in the proper bit-field location is + returned. + return-values: [] +type: interface diff --git a/spec/if/rtems/modes/interrupt-level.yml b/spec/rtems/mode/if/interrupt-level.yml index b4eb17e5..b4eb17e5 100644 --- a/spec/if/rtems/modes/interrupt-level.yml +++ b/spec/rtems/mode/if/interrupt-level.yml diff --git a/spec/rtems/mode/if/interrupt-mask-variable.yml b/spec/rtems/mode/if/interrupt-mask-variable.yml new file mode 100644 index 00000000..6e185f6e --- /dev/null +++ b/spec/rtems/mode/if/interrupt-mask-variable.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: const ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: '%' +enabled-by: true +interface-type: variable +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interrupt_mask +notes: null +type: interface diff --git a/spec/rtems/mode/if/interrupt-mask.yml b/spec/rtems/mode/if/interrupt-mask.yml new file mode 100644 index 00000000..8f343f11 --- /dev/null +++ b/spec/rtems/mode/if/interrupt-mask.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This mode constant corresponds to the interrupt enable/disable bits. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/cpu/if/modes-interrupt-mask:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_INTERRUPT_MASK +notes: null +type: interface diff --git a/spec/rtems/mode/if/mode.yml b/spec/rtems/mode/if/mode.yml new file mode 100644 index 00000000..4ecfc56f --- /dev/null +++ b/spec/rtems/mode/if/mode.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the control block used to manage each a mode set. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mode +notes: null +type: interface diff --git a/spec/if/rtems/modes/no-asr.yml b/spec/rtems/mode/if/no-asr.yml index c2278801..c2278801 100644 --- a/spec/if/rtems/modes/no-asr.yml +++ b/spec/rtems/mode/if/no-asr.yml diff --git a/spec/if/rtems/modes/no-preempt.yml b/spec/rtems/mode/if/no-preempt.yml index f6183fe9..f6183fe9 100644 --- a/spec/if/rtems/modes/no-preempt.yml +++ b/spec/rtems/mode/if/no-preempt.yml diff --git a/spec/if/rtems/modes/no-timeslice.yml b/spec/rtems/mode/if/no-timeslice.yml index de7aec75..de7aec75 100644 --- a/spec/if/rtems/modes/no-timeslice.yml +++ b/spec/rtems/mode/if/no-timeslice.yml diff --git a/spec/if/rtems/modes/preempt-mask.yml b/spec/rtems/mode/if/preempt-mask.yml index 8020cb47..8020cb47 100644 --- a/spec/if/rtems/modes/preempt-mask.yml +++ b/spec/rtems/mode/if/preempt-mask.yml diff --git a/spec/if/rtems/modes/preempt.yml b/spec/rtems/mode/if/preempt.yml index c513ffac..c513ffac 100644 --- a/spec/if/rtems/modes/preempt.yml +++ b/spec/rtems/mode/if/preempt.yml diff --git a/spec/if/rtems/modes/timeslice-mask.yml b/spec/rtems/mode/if/timeslice-mask.yml index c1846c59..c1846c59 100644 --- a/spec/if/rtems/modes/timeslice-mask.yml +++ b/spec/rtems/mode/if/timeslice-mask.yml diff --git a/spec/if/rtems/modes/timeslice.yml b/spec/rtems/mode/if/timeslice.yml index 1d2f98b6..1d2f98b6 100644 --- a/spec/if/rtems/modes/timeslice.yml +++ b/spec/rtems/mode/if/timeslice.yml diff --git a/spec/rtems/mode/req/bit-set.yml b/spec/rtems/mode/req/bit-set.yml new file mode 100644 index 00000000..42c93a46 --- /dev/null +++ b/spec/rtems/mode/req/bit-set.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + Each non-default task mode constant shall be a power of two representable as + an integer of type ${../if/mode:/name}. +type: requirement diff --git a/spec/rtems/mode/req/default.yml b/spec/rtems/mode/req/default.yml new file mode 100644 index 00000000..8e1fbb49 --- /dev/null +++ b/spec/rtems/mode/req/default.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + Each default task mode constant shall have a value of zero. +type: requirement diff --git a/spec/rtems/mode/req/masks-all.yml b/spec/rtems/mode/req/masks-all.yml new file mode 100644 index 00000000..8adf26ed --- /dev/null +++ b/spec/rtems/mode/req/masks-all.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/all-mode-masks +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + The bitwise and of a task mode mask constant and + ${../if/all-mode-masks:/name} shall be equal to the task mode mask constant. +type: requirement diff --git a/spec/rtems/mode/req/masks-unique.yml b/spec/rtems/mode/req/masks-unique.yml new file mode 100644 index 00000000..61f8bdbc --- /dev/null +++ b/spec/rtems/mode/req/masks-unique.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + The task mode mask constants and 0xff shall have unique values. +type: requirement diff --git a/spec/rtems/mode/req/masks.yml b/spec/rtems/mode/req/masks.yml new file mode 100644 index 00000000..3c9d7dad --- /dev/null +++ b/spec/rtems/mode/req/masks.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + Each task mode mask constant except ${../if/interrupt-mask} shall be a power + of two representable as an integer of type ${../if/mode:/name}. +type: requirement diff --git a/spec/rtems/mode/req/unique.yml b/spec/rtems/mode/req/unique.yml new file mode 100644 index 00000000..d71177e0 --- /dev/null +++ b/spec/rtems/mode/req/unique.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + The non-default task mode constants shall have unique values. +type: requirement diff --git a/spec/rtems/mode/val/modes.yml b/spec/rtems/mode/val/modes.yml new file mode 100644 index 00000000..bcbb32a2 --- /dev/null +++ b/spec/rtems/mode/val/modes.yml @@ -0,0 +1,242 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +test-actions: +- action: | + /* No action */ + checks: + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_NO_ASR ) ); + description: | + Check that RTEMS_NO_ASR is a power of two representable as an integer of + type rtems_mode. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/no-asr + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_NO_PREEMPT ) ); + description: | + Check that RTEMS_NO_PREEMPT is a power of two representable as an integer + of type rtems_mode. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/no-preempt + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_TIMESLICE ) ); + description: | + Check that RTEMS_TIMESLICE is a power of two representable as an integer + of type rtems_mode. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/timeslice + description: | + Validate the non-default task mode constants. + links: [] +- action: | + /* No action */ + checks: + - check: | + T_step_eq_u32( ${step}, RTEMS_ASR, 0 ); + description: | + Check that RTEMS_ASR is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/asr + - check: | + T_step_eq_u32( ${step}, RTEMS_DEFAULT_MODES, 0 ); + description: | + Check that RTEMS_DEFAULT_MODES is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/default + - check: | + T_step_eq_u32( ${step}, RTEMS_NO_TIMESLICE, 0 ); + description: | + Check that RTEMS_NO_TIMESLICE is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/no-timeslice + - check: | + T_step_eq_u32( ${step}, RTEMS_PREEMPT, 0 ); + description: | + Check that RTEMS_PREEMPT is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/preempt + description: | + Validate the default task mode constants. + links: [] +- action: | + /* No action */ + checks: + - check: | + T_step_eq_u32( + ${step}, + RTEMS_ASR_MASK & RTEMS_ALL_MODE_MASKS, + RTEMS_ASR_MASK + ); + description: | + Check that the bitwise and of RTEMS_ASR_MASK and RTEMS_ALL_MODE_MASKS is + equal to RTEMS_ASR_MASK. + links: + - role: validation + uid: ../req/masks-all + - role: validation + uid: ../if/asr-mask + - check: | + T_step_eq_u32( + ${step}, + RTEMS_PREEMPT_MASK & RTEMS_ALL_MODE_MASKS, + RTEMS_PREEMPT_MASK + ); + description: | + Check that the bitwise and of RTEMS_PREEMPT_MASK and RTEMS_ALL_MODE_MASKS + is equal to RTEMS_PREEMPT_MASK. + links: + - role: validation + uid: ../req/masks-all + - role: validation + uid: ../if/preempt-mask + - check: | + T_step_eq_u32( + ${step}, + RTEMS_TIMESLICE_MASK & RTEMS_ALL_MODE_MASKS, + RTEMS_TIMESLICE_MASK + ); + description: | + Check that the bitwise and of RTEMS_TIMESLICE_MASK and + RTEMS_ALL_MODE_MASKS is equal to RTEMS_TIMESLICE_MASK. + links: + - role: validation + uid: ../req/masks-all + - role: validation + uid: ../if/timeslice-mask + - check: | + T_step_eq_u32( + ${step}, + RTEMS_INTERRUPT_MASK & RTEMS_ALL_MODE_MASKS, + RTEMS_INTERRUPT_MASK + ); + description: | + Check that the bitwise and of RTEMS_INTERRUPT_MASK and + RTEMS_ALL_MODE_MASKS is equal to RTEMS_INTERRUPT_MASK. + links: + - role: validation + uid: ../req/masks-all + - role: validation + uid: ../if/interrupt-mask + description: | + Validate RTEMS_ALL_MODE_MASKS. + links: [] +- action: | + /* No action */ + checks: + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_ASR_MASK ) ); + description: | + Check that RTEMS_ASR_MASK is a power of two representable as an integer + of type rtems_mode. + links: + - role: validation + uid: ../req/masks + - role: validation + uid: ../if/asr-mask + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_PREEMPT_MASK ) ); + description: | + Check that RTEMS_PREEMPT_MASK is a power of two representable as an + integer of type rtems_mode. + links: + - role: validation + uid: ../req/masks + - role: validation + uid: ../if/preempt-mask + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_TIMESLICE_MASK ) ); + description: | + Check that RTEMS_TIMESLICE_MASK is a power of two representable as an + integer of type rtems_mode. + links: + - role: validation + uid: ../req/masks + - role: validation + uid: ../if/timeslice-mask + description: | + Validate the task mode mask constants except RTEMS_INTERRUPT_MASK. + links: [] +- action: | + modes = 0; + modes |= 0xff; + modes |= RTEMS_ASR_MASK; + modes |= RTEMS_PREEMPT_MASK; + modes |= RTEMS_TIMESLICE_MASK; + checks: + - check: | + T_step_eq_int( ${step}, PopCount( modes ), 11 ); + description: | + Check that the count of set bits in the calculated value is equal to the + count of task mode mask constants except RTEMS_INTERRUPT_MASK plus eight. + Since each task mode mask constants except RTEMS_INTERRUPT_MASK is a + power of two and the bitwise and of 0xff and RTEMS_INTERRUPT_MASK is + equal to RTEMS_INTERRUPT_MASK this proves that each constant and 0xff has + a unique value. + links: + - role: validation + uid: ../req/unique + - role: validation + uid: ../if/asr-mask + - role: validation + uid: ../if/preempt-mask + - role: validation + uid: ../if/timeslice-mask + description: | + Calculate the bitwise or of all task mode mask constants and 0xff. + links: [] +test-brief: | + Tests the task mode constants and function-like macros of the Classic API. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: +- rtems.h +test-local-includes: [] +test-prologue: | + rtems_mode modes; +test-support: | + static bool IsPowerOfTwo( rtems_mode mode ) + { + return mode != 0 && ( mode & ( mode - 1 ) ) == 0; + } + + static int PopCount( rtems_mode modes ) + { + int count; + + count = 0; + + while ( modes != 0 ) { + ++count; + modes &= modes - 1; + } + + return count; + } +test-target: testsuites/validation/tc-modes.c +type: test-case diff --git a/spec/if/rtems/mp/announce.yml b/spec/rtems/mp/if/announce.yml index c137015e..c137015e 100644 --- a/spec/if/rtems/mp/announce.yml +++ b/spec/rtems/mp/if/announce.yml diff --git a/spec/rtems/mp/if/group.yml b/spec/rtems/mp/if/group.yml new file mode 100644 index 00000000..8cdd031d --- /dev/null +++ b/spec/rtems/mp/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Multiprocessing Manager provides support for heterogeneous + multiprocessing systems based on message passing in a network of + multiprocessing nodes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicMP +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Multiprocessing Manager +text: | + The Classic API shall provide an interface to the Multiprocessing Manager. +type: interface diff --git a/spec/rtems/mp/if/header.yml b/spec/rtems/mp/if/header.yml new file mode 100644 index 00000000..e5198750 --- /dev/null +++ b/spec/rtems/mp/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Multiprocessing Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/mp.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/object/if/api-class-information.yml b/spec/rtems/object/if/api-class-information.yml new file mode 100644 index 00000000..06c7ac82 --- /dev/null +++ b/spec/rtems/object/if/api-class-information.yml @@ -0,0 +1,58 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: +- default: + brief: | + This member is + definition: ${../../type/if/id:/name} ${.:name} + description: '%' + kind: member + name: minimum_id + variants: [] +- default: + brief: | + This member is + definition: ${../../type/if/id:/name} ${.:name} + description: '%' + kind: member + name: maximum_id + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/uint32_t:/name} ${.:name} + description: '%' + kind: member + name: maximum + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/bool:/name} ${.:name} + description: '%' + kind: member + name: auto_extend + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/uint32_t:/name} ${.:name} + description: '%' + kind: member + name: unallocated + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_api_class_information +notes: null +type: interface diff --git a/spec/if/rtems/object/api-maximum-class.yml b/spec/rtems/object/if/api-maximum-class.yml index bc8de4c9..bc8de4c9 100644 --- a/spec/if/rtems/object/api-maximum-class.yml +++ b/spec/rtems/object/if/api-maximum-class.yml diff --git a/spec/if/rtems/object/api-minimum-class.yml b/spec/rtems/object/if/api-minimum-class.yml index f8912bb9..f8912bb9 100644 --- a/spec/if/rtems/object/api-minimum-class.yml +++ b/spec/rtems/object/if/api-minimum-class.yml diff --git a/spec/rtems/object/if/build-id.yml b/spec/rtems/object/if/build-id.yml new file mode 100644 index 00000000..482bd8fb --- /dev/null +++ b/spec/rtems/object/if/build-id.yml @@ -0,0 +1,36 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/object/if/build-id:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_build_id +notes: null +params: +- description: '%' + dir: null + name: _api +- description: '%' + dir: null + name: _class +- description: '%' + dir: null + name: _node +- description: '%' + dir: null + name: _index +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/build-name.yml b/spec/rtems/object/if/build-name.yml new file mode 100644 index 00000000..df16d81e --- /dev/null +++ b/spec/rtems/object/if/build-name.yml @@ -0,0 +1,36 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/object/if/build-name:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name}, ${.:/params[3]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_build_name +notes: null +params: +- description: '%' + dir: null + name: _C1 +- description: '%' + dir: null + name: _C2 +- description: '%' + dir: null + name: _C3 +- description: '%' + dir: null + name: _C4 +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/object/get-api-class-name.yml b/spec/rtems/object/if/get-api-class-name.yml index 4a7948bd..4a7948bd 100644 --- a/spec/if/rtems/object/get-api-class-name.yml +++ b/spec/rtems/object/if/get-api-class-name.yml diff --git a/spec/if/rtems/object/get-api-name.yml b/spec/rtems/object/if/get-api-name.yml index 5baeab0f..5baeab0f 100644 --- a/spec/if/rtems/object/get-api-name.yml +++ b/spec/rtems/object/if/get-api-name.yml diff --git a/spec/rtems/object/if/get-class-information.yml b/spec/rtems/object/if/get-class-information.yml new file mode 100644 index 00000000..688ee2ff --- /dev/null +++ b/spec/rtems/object/if/get-class-information.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - int ${.:/params[0]/name} + - int ${.:/params[1]/name} + - ${api-class-information:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_get_class_information +notes: null +params: +- description: '%' + dir: null + name: the_api +- description: '%' + dir: null + name: the_class +- description: '%' + dir: null + name: info +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/get-classic-name.yml b/spec/rtems/object/if/get-classic-name.yml new file mode 100644 index 00000000..140bc6db --- /dev/null +++ b/spec/rtems/object/if/get-classic-name.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/name:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_get_classic_name +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: name +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/get-local-node.yml b/spec/rtems/object/if/get-local-node.yml new file mode 100644 index 00000000..2f894085 --- /dev/null +++ b/spec/rtems/object/if/get-local-node.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: | + return ${/score/object/if/local-node:/name}; + params: [] + return: ${/c/if/uint16_t:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_get_local_node +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/get-name.yml b/spec/rtems/object/if/get-name.yml new file mode 100644 index 00000000..cd4a4fcb --- /dev/null +++ b/spec/rtems/object/if/get-name.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + - char *${.:/params[2]/name} + return: char * + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_get_name +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: length +- description: '%' + dir: null + name: name +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/group.yml b/spec/rtems/object/if/group.yml new file mode 100644 index 00000000..ab5aee42 --- /dev/null +++ b/spec/rtems/object/if/group.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + RTEMS provides a collection of services to assist in the management and usage + of the objects created and utilized via other managers. These services + assist in the manipulation of RTEMS objects independent of the API used to + create them. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicObject +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Object Services +text: | + The Classic API shall provide an interface to the Object Services. +type: interface diff --git a/spec/rtems/object/if/header.yml b/spec/rtems/object/if/header.yml new file mode 100644 index 00000000..317bf7f8 --- /dev/null +++ b/spec/rtems/object/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Object Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/object.h +prefix: cpukit/include +type: interface diff --git a/spec/if/rtems/object/id-api-maximum-class.yml b/spec/rtems/object/if/id-api-maximum-class.yml index 78003b22..78003b22 100644 --- a/spec/if/rtems/object/id-api-maximum-class.yml +++ b/spec/rtems/object/if/id-api-maximum-class.yml diff --git a/spec/rtems/object/if/id-api-maximum.yml b/spec/rtems/object/if/id-api-maximum.yml new file mode 100644 index 00000000..ab889a59 --- /dev/null +++ b/spec/rtems/object/if/id-api-maximum.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/apis-last:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_id_api_maximum +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/id-api-minimum.yml b/spec/rtems/object/if/id-api-minimum.yml new file mode 100644 index 00000000..cbe6a0b1 --- /dev/null +++ b/spec/rtems/object/if/id-api-minimum.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/internal-api:/name} + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_id_api_minimum +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/id-final-index.yml b/spec/rtems/object/if/id-final-index.yml new file mode 100644 index 00000000..ba575fc8 --- /dev/null +++ b/spec/rtems/object/if/id-final-index.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/id-final-index:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_OBJECT_ID_FINAL_INDEX +notes: null +type: interface diff --git a/spec/rtems/object/if/id-final.yml b/spec/rtems/object/if/id-final.yml new file mode 100644 index 00000000..5a2b8201 --- /dev/null +++ b/spec/rtems/object/if/id-final.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/id-final:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_OBJECT_ID_FINAL +notes: null +type: interface diff --git a/spec/rtems/object/if/id-get-api.yml b/spec/rtems/object/if/id-get-api.yml new file mode 100644 index 00000000..b45a51ae --- /dev/null +++ b/spec/rtems/object/if/id-get-api.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/get-api:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_id_get_api +notes: null +params: +- description: '%' + dir: null + name: _id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/id-get-class.yml b/spec/rtems/object/if/id-get-class.yml new file mode 100644 index 00000000..d828ae48 --- /dev/null +++ b/spec/rtems/object/if/id-get-class.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/get-class:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_id_get_class +notes: null +params: +- description: '%' + dir: null + name: _id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/id-get-index.yml b/spec/rtems/object/if/id-get-index.yml new file mode 100644 index 00000000..41e13c72 --- /dev/null +++ b/spec/rtems/object/if/id-get-index.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/get-index:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_id_get_index +notes: null +params: +- description: '%' + dir: null + name: _id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/id-get-node.yml b/spec/rtems/object/if/id-get-node.yml new file mode 100644 index 00000000..3b090b02 --- /dev/null +++ b/spec/rtems/object/if/id-get-node.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/get-node:/name}( ${.:/params[0]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_id_get_node +notes: null +params: +- description: '%' + dir: null + name: _id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/id-initial-index.yml b/spec/rtems/object/if/id-initial-index.yml new file mode 100644 index 00000000..d28cb502 --- /dev/null +++ b/spec/rtems/object/if/id-initial-index.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/id-initial-index:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_OBJECT_ID_INITIAL_INDEX +notes: null +type: interface diff --git a/spec/rtems/object/if/id-initial.yml b/spec/rtems/object/if/id-initial.yml new file mode 100644 index 00000000..25a640f2 --- /dev/null +++ b/spec/rtems/object/if/id-initial.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${/score/object/if/id-initial:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name} ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_OBJECT_ID_INITIAL +notes: null +params: +- description: '%' + dir: null + name: _api +- description: '%' + dir: null + name: _class +- description: '%' + dir: null + name: _node +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/search-all-nodes.yml b/spec/rtems/object/if/search-all-nodes.yml new file mode 100644 index 00000000..5c880da9 --- /dev/null +++ b/spec/rtems/object/if/search-all-nodes.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/search-all-nodes:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_SEARCH_ALL_NODES +notes: null +type: interface diff --git a/spec/rtems/object/if/search-local-node.yml b/spec/rtems/object/if/search-local-node.yml new file mode 100644 index 00000000..66d10966 --- /dev/null +++ b/spec/rtems/object/if/search-local-node.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/search-local-nodes:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_SEARCH_LOCAL_NODE +notes: null +type: interface diff --git a/spec/rtems/object/if/search-other-nodes.yml b/spec/rtems/object/if/search-other-nodes.yml new file mode 100644 index 00000000..f64a725a --- /dev/null +++ b/spec/rtems/object/if/search-other-nodes.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/search-other-nodes:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_SEARCH_OTHER_NODES +notes: null +type: interface diff --git a/spec/rtems/object/if/set-name.yml b/spec/rtems/object/if/set-name.yml new file mode 100644 index 00000000..bfc874fa --- /dev/null +++ b/spec/rtems/object/if/set-name.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - const char *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_object_set_name +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: name +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/object/if/who-am-i.yml b/spec/rtems/object/if/who-am-i.yml new file mode 100644 index 00000000..4646762d --- /dev/null +++ b/spec/rtems/object/if/who-am-i.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/who-am-i:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_WHO_AM_I +notes: null +type: interface diff --git a/spec/if/rtems/options/default.yml b/spec/rtems/option/if/default.yml index 4b93d4c9..4b93d4c9 100644 --- a/spec/if/rtems/options/default.yml +++ b/spec/rtems/option/if/default.yml diff --git a/spec/if/rtems/options/event-all.yml b/spec/rtems/option/if/event-all.yml index da4a727f..da4a727f 100644 --- a/spec/if/rtems/options/event-all.yml +++ b/spec/rtems/option/if/event-all.yml diff --git a/spec/if/rtems/options/event-any.yml b/spec/rtems/option/if/event-any.yml index 6562f06c..6562f06c 100644 --- a/spec/if/rtems/options/event-any.yml +++ b/spec/rtems/option/if/event-any.yml diff --git a/spec/rtems/option/if/group.yml b/spec/rtems/option/if/group.yml new file mode 100644 index 00000000..be8a7c4e --- /dev/null +++ b/spec/rtems/option/if/group.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains the Classic API directive options. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicOptions +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Directive Options +text: | + The Classic API shall provide an interface to directive options. +type: interface diff --git a/spec/rtems/option/if/header.yml b/spec/rtems/option/if/header.yml new file mode 100644 index 00000000..ee4d2342 --- /dev/null +++ b/spec/rtems/option/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines options provided by the API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/options.h +prefix: cpukit/include +type: interface diff --git a/spec/if/rtems/options/no-wait.yml b/spec/rtems/option/if/no-wait.yml index 504128c5..504128c5 100644 --- a/spec/if/rtems/options/no-wait.yml +++ b/spec/rtems/option/if/no-wait.yml diff --git a/spec/rtems/option/if/option.yml b/spec/rtems/option/if/option.yml new file mode 100644 index 00000000..a15781ed --- /dev/null +++ b/spec/rtems/option/if/option.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the control block used to manage option sets. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_option +notes: null +type: interface diff --git a/spec/if/rtems/options/wait.yml b/spec/rtems/option/if/wait.yml index 940d117f..940d117f 100644 --- a/spec/if/rtems/options/wait.yml +++ b/spec/rtems/option/if/wait.yml diff --git a/spec/rtems/option/req/bit-set.yml b/spec/rtems/option/req/bit-set.yml new file mode 100644 index 00000000..2b7b8733 --- /dev/null +++ b/spec/rtems/option/req/bit-set.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + Each non-default directive option constant shall be a power of two + representable as an integer of type ${../if/option}. +type: requirement diff --git a/spec/rtems/option/req/default.yml b/spec/rtems/option/req/default.yml new file mode 100644 index 00000000..019b775a --- /dev/null +++ b/spec/rtems/option/req/default.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + Each default directive option constant shall have a value of zero. +type: requirement diff --git a/spec/rtems/option/req/unique.yml b/spec/rtems/option/req/unique.yml new file mode 100644 index 00000000..ffaafc14 --- /dev/null +++ b/spec/rtems/option/req/unique.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/group +non-functional-type: interface +rationale: null +references: [] +requirement-type: non-functional +text: | + The non-default directive option constants shall have unique values. +type: requirement diff --git a/spec/rtems/option/val/options.yml b/spec/rtems/option/val/options.yml new file mode 100644 index 00000000..7efa7885 --- /dev/null +++ b/spec/rtems/option/val/options.yml @@ -0,0 +1,117 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: [] +test-actions: +- action: | + /* No action */ + checks: + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_EVENT_ANY ) ); + description: | + Check that RTEMS_EVENT_ANY is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/event-any + - check: | + T_step_true( ${step}, IsPowerOfTwo( RTEMS_NO_WAIT ) ); + description: | + Check that RTEMS_NO_WAIT is a power of two. + links: + - role: validation + uid: ../req/bit-set + - role: validation + uid: ../if/no-wait + description: | + Validate the non-default option constants. + links: [] +- action: | + /* No action */ + checks: + - check: | + T_step_eq_u32( ${step}, RTEMS_DEFAULT_OPTIONS, 0 ); + description: | + Check that RTEMS_DEFAULT_OPTIONS is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/default + - check: | + T_step_eq_u32( ${step}, RTEMS_EVENT_ALL, 0 ); + description: | + Check that RTEMS_EVENT_ALL is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/event-all + - check: | + T_step_eq_u32( ${step}, RTEMS_WAIT, 0 ); + description: | + Check that RTEMS_WAIT is equal to zero. + links: + - role: validation + uid: ../req/default + - role: validation + uid: ../if/wait + description: | + Validate the default option constants. + links: [] +- action: | + options = 0; + options |= RTEMS_EVENT_ANY; + options |= RTEMS_NO_WAIT; + checks: + - check: | + T_step_eq_int( ${step}, PopCount( options ), 2 ); + description: | + Check that the count of set bits in the calculated value is equal to the + count of non-default option constants. Since each non-default option + constant is a power of two, this proves that each constant has a unique + value. + links: + - role: validation + uid: ../req/unique + - role: validation + uid: ../if/event-any + - role: validation + uid: ../if/no-wait + description: | + Calculate the bitwise or of all non-default option constants. + links: [] +test-brief: | + Tests the option constants of the Classic API. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: +- rtems.h +test-local-includes: [] +test-prologue: | + rtems_option options; +test-support: | + static bool IsPowerOfTwo( rtems_option option ) + { + return option != 0 && ( option & ( option - 1 ) ) == 0; + } + + static int PopCount( rtems_option options ) + { + int count; + + count = 0; + + while ( options != 0 ) { + ++count; + options &= options - 1; + } + + return count; + } +test-target: testsuites/validation/tc-options.c +type: test-case diff --git a/spec/rtems/part/if/create.yml b/spec/rtems/part/if/create.yml new file mode 100644 index 00000000..7a9a7171 --- /dev/null +++ b/spec/rtems/part/if/create.yml @@ -0,0 +1,50 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[2]/name} + - ${/c/if/size_t:/name} ${.:/params[3]/name} + - ${../../attr/if/attribute:/name} ${.:/params[4]/name} + - ${../../type/if/id:/name} *${.:/params[5]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_partition_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: starting_address +- description: '%' + dir: null + name: length +- description: '%' + dir: null + name: buffer_size +- description: '%' + dir: null + name: attribute_set +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/part/if/delete.yml b/spec/rtems/part/if/delete.yml new file mode 100644 index 00000000..db63cebb --- /dev/null +++ b/spec/rtems/part/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_partition_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/part/if/get-buffer.yml b/spec/rtems/part/if/get-buffer.yml new file mode 100644 index 00000000..691345ed --- /dev/null +++ b/spec/rtems/part/if/get-buffer.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void **${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_partition_get_buffer +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: buffer +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/part/if/group.yml b/spec/rtems/part/if/group.yml new file mode 100644 index 00000000..ae0d0365 --- /dev/null +++ b/spec/rtems/part/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Partition Manager provides facilities to dynamically allocate memory in + fixed-size units. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicPart +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Partition Manager +text: | + The Classic API shall provide an interface to the Partition Manager. +type: interface diff --git a/spec/rtems/part/if/header.yml b/spec/rtems/part/if/header.yml new file mode 100644 index 00000000..040ebb1c --- /dev/null +++ b/spec/rtems/part/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Partition Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/part.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/part/if/ident.yml b/spec/rtems/part/if/ident.yml new file mode 100644 index 00000000..d4e0bb1c --- /dev/null +++ b/spec/rtems/part/if/ident.yml @@ -0,0 +1,86 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a partition object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + - ${../../type/if/id:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the partition identifier associated with the partition + name specified in ``${.:/params[0]/name}``. + + The node to search is specified in ``${.:/params[1]/name}``. It shall be + + * a valid node number, + + * the constant ${../../object/if/search-all-nodes:/name} to search in all nodes, + + * the constant ${../../object/if/search-local-node:/name} to search in the local + node only, or + + * the constant ${../../object/if/search-other-nodes:/name} to search in all nodes + except the local node. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_partition_ident +notes: | + If the partition name is not unique, then the partition identifier will match + the first partition with that name in the search order. However, this + partition identifier is not guaranteed to correspond to the desired + partition. The partition identifier is used with other partition related + directives to access the partition. + + If node is ${../../object/if/search-all-nodes:/name}, all nodes are searched with + the local node being searched first. All other nodes are searched with the + lowest numbered node searched first. + + If node is a valid node number which does not represent the local node, then + only the partitions exported by the designated node are searched. + + This directive does not generate activity on remote nodes. It accesses only + the local copy of the global object table. +params: +- description: is the object name to look up. + dir: null + name: name +- description: is the node or node set to search for a matching object. + dir: null + name: node +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the specified nodes. + value: ${../../status/if/invalid-name:/name} + - description: | + In multiprocessing configurations, the specified node was invalid. + value: ${../../status/if/invalid-node:/name} +type: interface diff --git a/spec/rtems/part/if/return-buffer.yml b/spec/rtems/part/if/return-buffer.yml new file mode 100644 index 00000000..8bc791e6 --- /dev/null +++ b/spec/rtems/part/if/return-buffer.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_partition_return_buffer +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: buffer +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/part/req/ident.yml b/spec/rtems/part/req/ident.yml new file mode 100644 index 00000000..b6a63f0d --- /dev/null +++ b/spec/rtems/part/req/ident.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/ident +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/ident:/name} directive shall identify an Classic API + partition class object by its name as specified by ${../req/ident}. +type: requirement diff --git a/spec/rtems/part/val/ident.yml b/spec/rtems/part/val/ident.yml new file mode 100644 index 00000000..4af46bea --- /dev/null +++ b/spec/rtems/part/val/ident.yml @@ -0,0 +1,51 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/ident +test-actions: +- action: | + ${../../req/ident:/test-run}( + id_local_object, + ClassicPartIdentAction + ); + checks: [] + description: | + Run the generic object identification tests for Classic API partition class + objects defined by ${../../req/ident}. + links: [] +test-brief: Test the ${../if/ident:/name} directive. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident.h +test-prologue: | + static long area[32]; + rtems_status_code sc; + rtems_id id_local_object; + + sc = rtems_partition_create( + ClassicObjectIdentName, + area, + sizeof( area ), + sizeof( area ), + RTEMS_DEFAULT_ATTRIBUTES, + &id_local_object + ); + T_assert_rsc_success( sc ); +test-support: | + static rtems_status_code ClassicPartIdentAction( + rtems_name name, + uint32_t node, + rtems_id *id + ) + { + return rtems_partition_ident( name, node, id ); + } +test-target: testsuites/validation/tc-part-ident.c +type: test-case diff --git a/spec/if/rtems/ratemon/active.yml b/spec/rtems/ratemon/if/active.yml index 845a0954..845a0954 100644 --- a/spec/if/rtems/ratemon/active.yml +++ b/spec/rtems/ratemon/if/active.yml diff --git a/spec/rtems/ratemon/if/cancel.yml b/spec/rtems/ratemon/if/cancel.yml new file mode 100644 index 00000000..10dd35fa --- /dev/null +++ b/spec/rtems/ratemon/if/cancel.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_cancel +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/ratemon/if/create.yml b/spec/rtems/ratemon/if/create.yml new file mode 100644 index 00000000..b883e19a --- /dev/null +++ b/spec/rtems/ratemon/if/create.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/ratemon/if/delete.yml b/spec/rtems/ratemon/if/delete.yml new file mode 100644 index 00000000..4b648e14 --- /dev/null +++ b/spec/rtems/ratemon/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/ratemon/expired.yml b/spec/rtems/ratemon/if/expired.yml index 4f3c5dfb..4f3c5dfb 100644 --- a/spec/if/rtems/ratemon/expired.yml +++ b/spec/rtems/ratemon/if/expired.yml diff --git a/spec/rtems/ratemon/if/get-statistics.yml b/spec/rtems/ratemon/if/get-statistics.yml new file mode 100644 index 00000000..95f70393 --- /dev/null +++ b/spec/rtems/ratemon/if/get-statistics.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${period-statistics:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_get_statistics +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: statistics +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/ratemon/if/get-status.yml b/spec/rtems/ratemon/if/get-status.yml new file mode 100644 index 00000000..2f2ddb34 --- /dev/null +++ b/spec/rtems/ratemon/if/get-status.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${period-status:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_get_status +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: status +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/ratemon/if/group.yml b/spec/rtems/ratemon/if/group.yml new file mode 100644 index 00000000..640247af --- /dev/null +++ b/spec/rtems/ratemon/if/group.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Rate-Monotonic Manager provides facilities to implement tasks which + execute in a periodic fashion. Critically, it also gathers information about + the execution of those periods and can provide important statistics to the + user which can be used to analyze and tune the application. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicRatemon +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Rate-Monotonic Manager +text: | + The Classic API shall provide an interface to the Rate-Monotonic Manager. +type: interface diff --git a/spec/rtems/ratemon/if/header.yml b/spec/rtems/ratemon/if/header.yml new file mode 100644 index 00000000..a9e6f957 --- /dev/null +++ b/spec/rtems/ratemon/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Rate-Monotonic Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/ratemon.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/ratemon/if/ident.yml b/spec/rtems/ratemon/if/ident.yml new file mode 100644 index 00000000..43d10a9e --- /dev/null +++ b/spec/rtems/ratemon/if/ident.yml @@ -0,0 +1,60 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a period object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the period identifier associated with the period name + specified in ``${.:/params[0]/name}``. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_ident +notes: | + If the period name is not unique, then the period identifier will match the + first period with that name in the search order. However, this period + identifier is not guaranteed to correspond to the desired period. The period + identifier is used with other rate monotonic related directives to access the + period. + + The objects are searched from lowest to the highest index. Only the local + node is searched. +params: +- description: is the object name to look up. + dir: null + name: name +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the local node. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/if/rtems/ratemon/inactive.yml b/spec/rtems/ratemon/if/inactive.yml index 8608f7c0..8608f7c0 100644 --- a/spec/if/rtems/ratemon/inactive.yml +++ b/spec/rtems/ratemon/if/inactive.yml diff --git a/spec/if/rtems/ratemon/period-states.yml b/spec/rtems/ratemon/if/period-states.yml index 1b06a560..1b06a560 100644 --- a/spec/if/rtems/ratemon/period-states.yml +++ b/spec/rtems/ratemon/if/period-states.yml diff --git a/spec/rtems/ratemon/if/period-statistics.yml b/spec/rtems/ratemon/if/period-statistics.yml new file mode 100644 index 00000000..86343bb0 --- /dev/null +++ b/spec/rtems/ratemon/if/period-statistics.yml @@ -0,0 +1,82 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: +- default: + brief: | + This member is + definition: ${/c/if/uint32_t:/name} ${.:name} + description: '%' + kind: member + name: count + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/uint32_t:/name} ${.:name} + description: '%' + kind: member + name: missed_count + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: min_cpu_time + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: max_cpu_time + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: total_cpu_time + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: min_wall_time + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: max_wall_time + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: total_wall_time + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_period_statistics +notes: null +type: interface diff --git a/spec/rtems/ratemon/if/period-status-define.yml b/spec/rtems/ratemon/if/period-status-define.yml new file mode 100644 index 00000000..77a08505 --- /dev/null +++ b/spec/rtems/ratemon/if/period-status-define.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This constant is the interval passed to the ${period:/name} directive to + obtain status information. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/watchdog/if/no-timeout:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_PERIOD_STATUS +notes: null +type: interface diff --git a/spec/rtems/ratemon/if/period-status.yml b/spec/rtems/ratemon/if/period-status.yml new file mode 100644 index 00000000..59b1bc09 --- /dev/null +++ b/spec/rtems/ratemon/if/period-status.yml @@ -0,0 +1,58 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: +- default: + brief: | + This member is + definition: ${../../type/if/id:/name} ${.:name} + description: '%' + kind: member + name: owner + variants: [] +- default: + brief: | + This member is + definition: ${period-states:/name} ${.:name} + description: '%' + kind: member + name: state + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: since_last_period + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/timespec:/name} ${.:name} + description: '%' + kind: member + name: executed_since_last_period + variants: [] +- default: + brief: | + This member is + definition: ${/c/if/uint32_t:/name} ${.:name} + description: '%' + kind: member + name: postponed_jobs_count + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_period_status +notes: null +type: interface diff --git a/spec/rtems/ratemon/if/period.yml b/spec/rtems/ratemon/if/period.yml new file mode 100644 index 00000000..64112baf --- /dev/null +++ b/spec/rtems/ratemon/if/period.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/interval:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_period +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: length +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/ratemon/if/printer.yml b/spec/rtems/ratemon/if/printer.yml new file mode 100644 index 00000000..509117ef --- /dev/null +++ b/spec/rtems/ratemon/if/printer.yml @@ -0,0 +1,11 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: forward-declaration +links: +- role: interface-placement + uid: header +- role: interface-target + uid: ../../io/if/printer +type: interface diff --git a/spec/if/rtems/ratemon/report-statistics-with-plugin.yml b/spec/rtems/ratemon/if/report-statistics-with-plugin.yml index 0078fdce..0078fdce 100644 --- a/spec/if/rtems/ratemon/report-statistics-with-plugin.yml +++ b/spec/rtems/ratemon/if/report-statistics-with-plugin.yml diff --git a/spec/if/rtems/ratemon/report-statistics.yml b/spec/rtems/ratemon/if/report-statistics.yml index 3a7a2702..3a7a2702 100644 --- a/spec/if/rtems/ratemon/report-statistics.yml +++ b/spec/rtems/ratemon/if/report-statistics.yml diff --git a/spec/if/rtems/ratemon/reset-all-statistics.yml b/spec/rtems/ratemon/if/reset-all-statistics.yml index 39a03f3b..39a03f3b 100644 --- a/spec/if/rtems/ratemon/reset-all-statistics.yml +++ b/spec/rtems/ratemon/if/reset-all-statistics.yml diff --git a/spec/rtems/ratemon/if/reset-statistics.yml b/spec/rtems/ratemon/if/reset-statistics.yml new file mode 100644 index 00000000..06efe480 --- /dev/null +++ b/spec/rtems/ratemon/if/reset-statistics.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_rate_monotonic_reset_statistics +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/ratemon/req/ident.yml b/spec/rtems/ratemon/req/ident.yml new file mode 100644 index 00000000..3db3c6a7 --- /dev/null +++ b/spec/rtems/ratemon/req/ident.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/ident +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/ident:/name} directive shall identify an Classic API + rate monotonic class object by its name as specified by ${../req/ident-local}. +type: requirement diff --git a/spec/rtems/ratemon/val/ident.yml b/spec/rtems/ratemon/val/ident.yml new file mode 100644 index 00000000..37fc0df0 --- /dev/null +++ b/spec/rtems/ratemon/val/ident.yml @@ -0,0 +1,45 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/ident +test-actions: +- action: | + ${../../req/ident-local:/test-run}( + id_local_object, + ClassicRatemonIdentAction + ); + checks: [] + description: | + Run the generic object identification tests for Classic API rate monotonic + class objects defined by ${../../req/ident-local}. + links: [] +test-brief: Test the ${../if/ident:/name} directive. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident-local.h +test-prologue: | + rtems_status_code sc; + rtems_id id_local_object; + + sc = rtems_rate_monotonic_create( + ClassicObjectLocalIdentName, + &id_local_object + ); + T_assert_rsc_success( sc ); +test-support: | + static rtems_status_code ClassicRatemonIdentAction( + rtems_name name, + rtems_id *id + ) + { + return rtems_rate_monotonic_ident( name, id ); + } +test-target: testsuites/validation/tc-ratemon-ident.c +type: test-case diff --git a/spec/rtems/region/if/create.yml b/spec/rtems/region/if/create.yml new file mode 100644 index 00000000..eca13c24 --- /dev/null +++ b/spec/rtems/region/if/create.yml @@ -0,0 +1,50 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[2]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[3]/name} + - ${../../attr/if/attribute:/name} ${.:/params[4]/name} + - ${../../type/if/id:/name} *${.:/params[5]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: starting_address +- description: '%' + dir: null + name: length +- description: '%' + dir: null + name: page_size +- description: '%' + dir: null + name: attribute_set +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/delete.yml b/spec/rtems/region/if/delete.yml new file mode 100644 index 00000000..4565f3b1 --- /dev/null +++ b/spec/rtems/region/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/extend.yml b/spec/rtems/region/if/extend.yml new file mode 100644 index 00000000..e863d803 --- /dev/null +++ b/spec/rtems/region/if/extend.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_extend +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: starting_address +- description: '%' + dir: null + name: length +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/get-free-information.yml b/spec/rtems/region/if/get-free-information.yml new file mode 100644 index 00000000..9a8b85be --- /dev/null +++ b/spec/rtems/region/if/get-free-information.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/score/heap/if/information-block:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_get_free_information +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: the_info +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/get-information.yml b/spec/rtems/region/if/get-information.yml new file mode 100644 index 00000000..bee6a1c2 --- /dev/null +++ b/spec/rtems/region/if/get-information.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/score/heap/if/information-block:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_get_information +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: the_info +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/get-segment-size.yml b/spec/rtems/region/if/get-segment-size.yml new file mode 100644 index 00000000..4b3e1d65 --- /dev/null +++ b/spec/rtems/region/if/get-segment-size.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - ${/c/if/uintptr_t:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_get_segment_size +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: segment +- description: '%' + dir: null + name: size +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/get-segment.yml b/spec/rtems/region/if/get-segment.yml new file mode 100644 index 00000000..e050fcd0 --- /dev/null +++ b/spec/rtems/region/if/get-segment.yml @@ -0,0 +1,46 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[1]/name} + - ${../../option/if/option:/name} ${.:/params[2]/name} + - ${../../type/if/interval:/name} ${.:/params[3]/name} + - void **${.:/params[4]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_get_segment +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: size +- description: '%' + dir: null + name: option_set +- description: '%' + dir: null + name: timeout +- description: '%' + dir: null + name: segment +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/group.yml b/spec/rtems/region/if/group.yml new file mode 100644 index 00000000..ca01b322 --- /dev/null +++ b/spec/rtems/region/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Region Manager provides facilities to dynamically allocate memory in + variable sized units. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicRegion +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Region Manager +text: | + The Classic API shall provide an interface to the Region Manager. +type: interface diff --git a/spec/rtems/region/if/header.yml b/spec/rtems/region/if/header.yml new file mode 100644 index 00000000..9f456de6 --- /dev/null +++ b/spec/rtems/region/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Region Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/region.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/region/if/ident.yml b/spec/rtems/region/if/ident.yml new file mode 100644 index 00000000..cfce1445 --- /dev/null +++ b/spec/rtems/region/if/ident.yml @@ -0,0 +1,59 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a region object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the region identifier associated with the region name + specified in ``${.:/params[0]/name}``. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_ident +notes: | + If the region name is not unique, then the region identifier will match the + first region with that name in the search order. However, this region + identifier is not guaranteed to correspond to the desired region. The region + identifier is used with other region related directives to access the region. + + The objects are searched from lowest to the highest index. Only the local + node is searched. +params: +- description: is the object name to look up. + dir: null + name: name +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the local node. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/rtems/region/if/resize-segment.yml b/spec/rtems/region/if/resize-segment.yml new file mode 100644 index 00000000..1da5c347 --- /dev/null +++ b/spec/rtems/region/if/resize-segment.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + - ${/c/if/uintptr_t:/name} ${.:/params[2]/name} + - ${/c/if/uintptr_t:/name} *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_resize_segment +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: segment +- description: '%' + dir: null + name: size +- description: '%' + dir: null + name: old_size +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/region/if/return-segment.yml b/spec/rtems/region/if/return-segment.yml new file mode 100644 index 00000000..3767cc5d --- /dev/null +++ b/spec/rtems/region/if/return-segment.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_region_return_segment +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: segment +return: + return: null + return-values: [] +type: interface diff --git a/spec/req/rtems/ident-local.yml b/spec/rtems/req/ident-local.yml index 416d8fc6..416d8fc6 100644 --- a/spec/req/rtems/ident-local.yml +++ b/spec/rtems/req/ident-local.yml diff --git a/spec/req/rtems/ident.yml b/spec/rtems/req/ident.yml index 11dd1820..11dd1820 100644 --- a/spec/req/rtems/ident.yml +++ b/spec/rtems/req/ident.yml diff --git a/spec/rtems/scheduler/if/add-processor.yml b/spec/rtems/scheduler/if/add-processor.yml new file mode 100644 index 00000000..dab967ce --- /dev/null +++ b/spec/rtems/scheduler/if/add-processor.yml @@ -0,0 +1,52 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Adds the processor to the set of processors owned by the scheduler instance. +copyrights: +- Copyright (C) 2016, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_add_processor +notes: | + This directive shall be called from task context. It obtains and releases + the objects allocator lock. +params: +- description: is the scheduler instance identifier. + dir: null + name: scheduler_id +- description: is the index of the processor to add. + dir: null + name: cpu_index +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The processor was configured to be used by the application, however, it + was not online. + value: ${../../status/if/incorrect-state:/name} + - description: | + The scheduler instance identifier was invalid. + value: ${../../status/if/invalid-id:/name} + - description: | + The processor was not configured to be used by the application. + value: ${../../status/if/not-configured:/name} + - description: | + The processor was already assigned to a scheduler instance. + value: ${../../status/if/resource-in-use:/name} +type: interface diff --git a/spec/rtems/scheduler/if/get-maximum-priority.yml b/spec/rtems/scheduler/if/get-maximum-priority.yml new file mode 100644 index 00000000..e8c26a62 --- /dev/null +++ b/spec/rtems/scheduler/if/get-maximum-priority.yml @@ -0,0 +1,46 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Gets the maximum task priority of the scheduler instance. +copyrights: +- Copyright (C) 2018, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../task/if/priority:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_get_maximum_priority +notes: null +params: +- description: is the scheduler instance identifier. + dir: null + name: scheduler_id +- description: | + is the pointer to a task priority variable. The maximum priority of the + scheduler instance will be stored in this variable, if the operation is + successful. + dir: out + name: priority +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The scheduler instance identifier was invalid. + value: ${../../status/if/invalid-id:/name} +type: interface diff --git a/spec/rtems/scheduler/if/get-processor-maximum.yml b/spec/rtems/scheduler/if/get-processor-maximum.yml new file mode 100644 index 00000000..9c5c4f98 --- /dev/null +++ b/spec/rtems/scheduler/if/get-processor-maximum.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the processor maximum supported by the system. +copyrights: +- Copyright (C) 2013, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/smp/if/get-processor-maximum:/name}() + variants: [] +description: | + In uniprocessor configurations, this macro evaluates to a compile time + constant of one. + + In SMP configurations, this macro returns the minimum of the processors + (physically or virtually) available by the platform and the configured + processor maximum. Not all processors in the range from processor index zero + to the last processor index (which is the processor maximum minus one) may be + configured to be used by a scheduler or may be online (online processors have + a scheduler assigned). +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_get_processor_maximum +notes: null +params: [] +return: + return: | + The processor maximum supported by the system is returned. + return-values: [] +type: interface diff --git a/spec/rtems/scheduler/if/get-processor-set.yml b/spec/rtems/scheduler/if/get-processor-set.yml new file mode 100644 index 00000000..62dbb702 --- /dev/null +++ b/spec/rtems/scheduler/if/get-processor-set.yml @@ -0,0 +1,58 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Gets the set of processors owned by the scheduler instance. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + - ${/c/if/cpu_set_t:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_get_processor_set +notes: null +params: +- description: is the scheduler instance identifier. + dir: null + name: scheduler_id +- description: | + is the size of the referenced processor set variable in bytes. This value + shall be positive. + dir: null + name: cpusetsize +- description: | + is the pointer to a processor set variable. The processor set of the + scheduler instance will be stored in this variable, in case of a successful + operation. A set bit in the processor set means that the corresponding + processor is owned by the scheduler instance, otherwise the bit is cleared. + dir: out + name: cpuset +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The scheduler instance identifier was invalid. + value: ${../../status/if/invalid-id:/name} + - description: | + The provided processor set was too small for the set of processors owned + by the scheduler instance. + value: ${../../status/if/invalid-number:/name} +type: interface diff --git a/spec/rtems/scheduler/if/get-processor.yml b/spec/rtems/scheduler/if/get-processor.yml new file mode 100644 index 00000000..8c32712b --- /dev/null +++ b/spec/rtems/scheduler/if/get-processor.yml @@ -0,0 +1,35 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the index of the current processor. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/smp/if/get-current-processor:/name}() + variants: [] +description: | + In uniprocessor configurations, this macro evaluates to a compile time + constant of zero. + + In SMP configurations, an architecture-specific method is used to obtain the + index of the current processor in the system. The set of processor indices + is the range of integers starting with zero up to + ${get-processor-maximum:/name} minus one. +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_get_processor +notes: | + Outside of sections with disabled thread dispatching the current processor + index may change after every instruction since the thread may migrate from + one processor to another. Sections with disabled interrupts are sections + with thread dispatching disabled. +params: [] +return: + return: | + The index of the current processor is returned. + return-values: [] +type: interface diff --git a/spec/rtems/scheduler/if/ident-by-processor-set.yml b/spec/rtems/scheduler/if/ident-by-processor-set.yml new file mode 100644 index 00000000..f1c7a3e9 --- /dev/null +++ b/spec/rtems/scheduler/if/ident-by-processor-set.yml @@ -0,0 +1,63 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a scheduler instance by a processor set. +copyrights: +- Copyright (C) 2017, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${/c/if/size_t:/name} ${.:/params[0]/name} + - const ${/c/if/cpu_set_t:/name} *${.:/params[1]/name} + - ${../../type/if/id:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + The scheduler instance is selected according to the highest numbered online + processor in the specified processor set. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_ident_by_processor_set +notes: null +params: +- description: | + is the size of the referenced processor set variable in bytes. This value + shall be positive. + dir: null + name: cpusetsize +- description: | + is the pointer to a processor set variable. The referenced processor set + will be used to identify the scheduler instance. + dir: null + name: cpuset +- description: | + is the pointer to an object identifier variable. The identifier of the + scheduler instance will be stored in this variable, in case of a successful + operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The processor set was valid, however, the highest numbered online + processor in the processor set was not owned by a scheduler instance. + value: ${../../status/if/incorrect-state:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The processor set contained no online processor. + value: ${../../status/if/invalid-name:/name} + - description: | + The processor set size was invalid. + value: ${../../status/if/invalid-size:/name} +type: interface diff --git a/spec/rtems/scheduler/if/ident-by-processor.yml b/spec/rtems/scheduler/if/ident-by-processor.yml new file mode 100644 index 00000000..4a05cc96 --- /dev/null +++ b/spec/rtems/scheduler/if/ident-by-processor.yml @@ -0,0 +1,51 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a scheduler instance by a processor index. +copyrights: +- Copyright (C) 2017, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${/c/if/uint32_t:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_ident_by_processor +notes: null +params: +- description: | + is the processor index to identify the scheduler instance. + dir: null + name: cpu_index +- description: | + is the pointer to an object identifier variable. The identifier of the + scheduler instance will be stored in this variable, in case of a successful + operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The processor index was valid, however, the corresponding processor was + not owned by a scheduler instance. + value: ${../../status/if/incorrect-state:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The processor index was invalid. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/rtems/scheduler/if/ident.yml b/spec/rtems/scheduler/if/ident.yml new file mode 100644 index 00000000..3a8a3e9b --- /dev/null +++ b/spec/rtems/scheduler/if/ident.yml @@ -0,0 +1,47 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a scheduler instance by its name. +copyrights: +- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_ident +notes: | + The scheduler name is determined by the scheduler configuration. +params: +- description: is the scheduler name. + dir: null + name: name +- description: | + is the pointer to an object identifier variable. The identifier of the + scheduler instance will be stored in this variable, in case of a successful + operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The scheduler name was invalid. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/rtems/scheduler/if/map-priority-from-posix.yml b/spec/rtems/scheduler/if/map-priority-from-posix.yml new file mode 100644 index 00000000..56527ddd --- /dev/null +++ b/spec/rtems/scheduler/if/map-priority-from-posix.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Maps a POSIX thread priority to the corresponding Classic API task priority. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - int ${.:/params[1]/name} + - ${../../task/if/priority:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_map_priority_from_posix +notes: null +params: +- description: is the scheduler instance identifier. + dir: null + name: scheduler_id +- description: is the POSIX thread priority to map. + dir: null + name: posix_priority +- description: | + is the pointer to a Classic API task priority variable. The Classic API + task priority value corresponding to the specified POSIX thread priority + value will be stored in this variable, in case of a successful operation. + dir: out + name: priority +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The scheduler instance identifier was invalid. + value: ${../../status/if/invalid-id:/name} + - description: | + The POSIX thread priority was invalid. + value: ${../../status/if/invalid-priority:/name} +type: interface diff --git a/spec/rtems/scheduler/if/map-priority-to-posix.yml b/spec/rtems/scheduler/if/map-priority-to-posix.yml new file mode 100644 index 00000000..65fe51ea --- /dev/null +++ b/spec/rtems/scheduler/if/map-priority-to-posix.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Maps a Classic API task priority to the corresponding POSIX thread priority. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../task/if/priority:/name} ${.:/params[1]/name} + - int *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_map_priority_to_posix +notes: null +params: +- description: is the scheduler instance identifier. + dir: null + name: scheduler_id +- description: is the Classic API task priority to map. + dir: null + name: priority +- description: | + is the pointer to a POSIX thread priority variable. The POSIX thread + priority value corresponding to the specified Classic API task priority + value will be stored in this variable, in case of a successful operation. + dir: out + name: posix_priority +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The scheduler instance identifier was invalid. + value: ${../../status/if/invalid-id:/name} + - description: | + The Classic API task priority was invalid. + value: ${../../status/if/invalid-priority:/name} +type: interface diff --git a/spec/rtems/scheduler/if/remove-processor.yml b/spec/rtems/scheduler/if/remove-processor.yml new file mode 100644 index 00000000..d1801148 --- /dev/null +++ b/spec/rtems/scheduler/if/remove-processor.yml @@ -0,0 +1,52 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Removes a processor from set of processors owned by the scheduler instance. +copyrights: +- Copyright (C) 2016, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_remove_processor +notes: | + This directive shall be called from task context. It obtains and releases + the objects allocator lock. Removing a processor from a scheduler instance + is a complex operation that involves all tasks of the system. +params: +- description: is the scheduler instance identifier. + dir: null + name: scheduler_id +- description: is the index of the processor to remove. + dir: null + name: cpu_index +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The scheduler instance identifier was invalid. + value: ${../../status/if/invalid-id:/name} + - description: | + The processor was not owned by the specified scheduler instance. + value: ${../../status/if/invalid-number:/name} + - description: | + The set of processors owned by the specified scheduler instance would + have been empty after the processor removal and there was at least one + non-idle task that used this scheduler instance as its home scheduler + instance. + value: ${../../status/if/resource-in-use:/name} +type: interface diff --git a/spec/rtems/sem/if/create.yml b/spec/rtems/sem/if/create.yml new file mode 100644 index 00000000..e3a5e701 --- /dev/null +++ b/spec/rtems/sem/if/create.yml @@ -0,0 +1,183 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Creates a semaphore with the specified properties and returns its identifier. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + - ${../../attr/if/attribute:/name} ${.:/params[2]/name} + - ${../../task/if/priority:/name} ${.:/params[3]/name} + - ${../../type/if/id:/name} *${.:/params[4]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive creates a semaphore which resides on the local node. The new + semaphore has the user-defined name specified in ``name`` and the initial + count specified in ``count``. For control and maintenance of the semaphore, + RTEMS allocates and initializes a ${/glossary/smcb:/term}. The + RTEMS-assigned semaphore identifier is returned in ``id``. This semaphore + identifier is used with other semaphore related directives to access the + semaphore. + + The attribute set specified in ``attribute_set`` defines + + * the scope of the semaphore (local or global), + + * the discipline of the task wait queue used by the semaphore (FIFO or + priority), + + * the class of the semaphore (counting, binary, or simple binary), and + + * the locking protocol of a binary semaphore (priority inheritance, priority + ceiling or MrsP). + + The attribute set is built through a *bitwise or* of the attribute constants + described below. Not all combinations of attributes are allowed. Some + attributes are mutually exclusive. If mutually exclusive attributes are + combined, the behaviour is undefined. + + The *scope of a semaphore* is either the local node only (local scope) or all + nodes in a multiprocessing network (global scope). The scope is selected by + the mutually exclusive ${../../attr/if/local:/name} and + ${../../attr/if/global:/name} attributes. + + * The local scope is the default and can be emphasized through use + of the ${../../attr/if/local:/name} attribute. + + * The global scope is selected by the ${../../attr/if/global:/name} attribute. In + a single node system and the local and global scope are identical. + + The *task wait queue discipline* is selected by the mutually exclusive + ${../../attr/if/fifo:/name} and ${../../attr/if/priority:/name} attributes. + + * The ${/glossary/fifo:/term} discipline is the default and can be emphasized + through use of the ${../../attr/if/fifo:/name} attribute. + + * The priority discipline is selected by the ${../../attr/if/priority:/name} + attribute. Some locking protocols require the priority discipline. + + The *semaphore class* is selected by the mutually exclusive + ${../../attr/if/counting-semaphore:/name}, + ${../../attr/if/binary-semaphore:/name}, and + ${../../attr/if/simple-binary-semaphore:/name} attributes. + + * Counting semaphores are the default and can be emphasized through use of + the ${../../attr/if/counting-semaphore:/name} attribute. + + * Binary semaphores are mutual exclusion (mutex) synchronization primitives + which may have an owner. The count of a binary semaphore is restricted to + 0 and 1. The binary semaphore class is selected by the + ${../../attr/if/binary-semaphore:/name} attribute. + + * Simple binary semaphores have no owner. The count of a simple binary + semaphore is restricted to 0 and 1. They may be used for task and + interrupt synchronization. The simple binary semaphore class is selected + by the ${../../attr/if/simple-binary-semaphore:/name} attribute. + + Binary semaphores may use a *locking protocol*. If a locking protocol is + selected, then the scope shall be local and the priority task wait queue + discipline shall be selected. The locking protocol is selected by the + mutually exclusive ${../../attr/if/inherit-priority:/name}, + ${../../attr/if/priority-ceiling:/name}, and + ${../../attr/if/multiprocessor-resource-sharing:/name} attributes. + + * The default is to use no locking protocol. + + * The ${../../attr/if/inherit-priority:/name} attribute selects the priority + inheritance locking protocol. + + * The ${../../attr/if/priority-ceiling:/name} attribute selects the priority + ceiling locking protocol. For this locking protocol a priority ceiling + shall be specified in ``priority_ceiling``. + + * The ${../../attr/if/multiprocessor-resource-sharing:/name} attribute selects the + MrsP locking protocol in SMP configurations, otherwise it selects the + priority ceiling protocol. For this locking protocol a priority ceiling + shall be specified in ``priority_ceiling``. This priority is used to set + the priority ceiling in all scheduler instances. This can be changed later + with the ${set-priority:/name} directive using the returned semaphore + identifier. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_semaphore_create +notes: | + This directive may cause the calling task to be preempted due to an obtain + and release of the object allocator mutex. + + Semaphores should not be made global unless remote tasks must interact with + the new semaphore. This is to avoid the system overhead incurred by the + creation of a global semaphore. When a global semaphore is created, the + semaphore's name and identifier must be transmitted to every node in the + system for insertion in the local copy of the global object table. + + The total number of global objects, including semaphores, is limited by the + ${/acfg/if/mp-max-global-objects:/name} application configuration option. + + It is not allowed to create an initially locked MrsP semaphore and the + ${../../status/if/invalid-number:/name} status code will be returned in SMP + configurations in this case. This prevents lock order reversal problems + with the allocator mutex. +params: +- description: is the object name of the new semaphore. + dir: null + name: name +- description: | + is the initial count of the new semaphore. If the semaphore is a mutex, + then a count of 0 will make the calling task the owner of the new mutex and + a count of 1 will create a mutex without an owner. + dir: null + name: count +- description: | + is the attribute set which defines the properties of the new semaphore. + dir: null + name: attribute_set +- description: | + is the priority ceiling if the new semaphore is a binary semaphore with the + priority ceiling or MrsP semaphore locking protocol as defined by the + attribute set. + dir: null + name: priority_ceiling +- description: | + is the pointer to an object identifier variable. The object identifier of + the new semaphore will be stored in this variable, in case of a successful + operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[3]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The semaphore name was invalid. + value: ${../../status/if/invalid-name:/name} + - description: | + The priority ceiling was invalid. + value: ${../../status/if/invalid-priority:/name} + - description: | + The attribute set was invalid. + value: ${../../status/if/not-defined:/name} + - description: | + There was no inactive semaphore object available to create a new + semaphore. The semaphore object maximum is defined by the + ${/acfg/if/max-semaphores:/name} application configuration option. + value: ${../../status/if/too-many:/name} + - description: | + In multiprocessing configurations, there was no inactive global object + available to create a new global semaphore. + value: ${../../status/if/too-many:/name} +type: interface diff --git a/spec/rtems/sem/if/delete.yml b/spec/rtems/sem/if/delete.yml new file mode 100644 index 00000000..74f96cee --- /dev/null +++ b/spec/rtems/sem/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_semaphore_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/sem/if/flush.yml b/spec/rtems/sem/if/flush.yml new file mode 100644 index 00000000..c1f71a7b --- /dev/null +++ b/spec/rtems/sem/if/flush.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_semaphore_flush +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/sem/if/group.yml b/spec/rtems/sem/if/group.yml new file mode 100644 index 00000000..19e1e0f4 --- /dev/null +++ b/spec/rtems/sem/if/group.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Semaphore Manager utilizes standard Dijkstra counting semaphores to + provide synchronization and mutual exclusion capabilities. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicSem +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Semaphore Manager +text: | + The Classic API shall provide an interface to the Semaphore Manager. +type: interface diff --git a/spec/rtems/sem/if/header.yml b/spec/rtems/sem/if/header.yml new file mode 100644 index 00000000..9c269fee --- /dev/null +++ b/spec/rtems/sem/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Semaphore Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/sem.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/sem/if/ident.yml b/spec/rtems/sem/if/ident.yml new file mode 100644 index 00000000..e549d403 --- /dev/null +++ b/spec/rtems/sem/if/ident.yml @@ -0,0 +1,86 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a semaphore object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + - ${../../type/if/id:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the semaphore identifier associated with the semaphore + name specified in ``${.:/params[0]/name}``. + + The node to search is specified in ``${.:/params[1]/name}``. It shall be + + * a valid node number, + + * the constant ${../../object/if/search-all-nodes:/name} to search in all nodes, + + * the constant ${../../object/if/search-local-node:/name} to search in the local + node only, or + + * the constant ${../../object/if/search-other-nodes:/name} to search in all nodes + except the local node. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_semaphore_ident +notes: | + If the semaphore name is not unique, then the semaphore identifier will match + the first semaphore with that name in the search order. However, this + semaphore identifier is not guaranteed to correspond to the desired + semaphore. The semaphore identifier is used with other semaphore related + directives to access the semaphore. + + If node is ${../../object/if/search-all-nodes:/name}, all nodes are searched with + the local node being searched first. All other nodes are searched with the + lowest numbered node searched first. + + If node is a valid node number which does not represent the local node, then + only the semaphores exported by the designated node are searched. + + This directive does not generate activity on remote nodes. It accesses only + the local copy of the global object table. +params: +- description: is the object name to look up. + dir: null + name: name +- description: is the node or node set to search for a matching object. + dir: null + name: node +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the specified nodes. + value: ${../../status/if/invalid-name:/name} + - description: | + In multiprocessing configurations, the specified node was invalid. + value: ${../../status/if/invalid-node:/name} +type: interface diff --git a/spec/rtems/sem/if/obtain.yml b/spec/rtems/sem/if/obtain.yml new file mode 100644 index 00000000..432908ef --- /dev/null +++ b/spec/rtems/sem/if/obtain.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../option/if/option:/name} ${.:/params[1]/name} + - ${../../type/if/interval:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_semaphore_obtain +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: option_set +- description: '%' + dir: null + name: timeout +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/sem/if/release.yml b/spec/rtems/sem/if/release.yml new file mode 100644 index 00000000..9f063909 --- /dev/null +++ b/spec/rtems/sem/if/release.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_semaphore_release +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/sem/if/set-priority.yml b/spec/rtems/sem/if/set-priority.yml new file mode 100644 index 00000000..9e5b5916 --- /dev/null +++ b/spec/rtems/sem/if/set-priority.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} ${.:/params[1]/name} + - ${../../task/if/priority:/name} ${.:/params[2]/name} + - ${../../task/if/priority:/name} *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_semaphore_set_priority +notes: null +params: +- description: '%' + dir: null + name: semaphore_id +- description: '%' + dir: null + name: scheduler_id +- description: '%' + dir: null + name: new_priority +- description: '%' + dir: null + name: old_priority +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/sem/req/ident.yml b/spec/rtems/sem/req/ident.yml new file mode 100644 index 00000000..dde8d114 --- /dev/null +++ b/spec/rtems/sem/req/ident.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/ident +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/ident:/name} directive shall identify an Classic API + semaphore class object by its name as specified by ${../req/ident}. +type: requirement diff --git a/spec/rtems/sem/val/ident.yml b/spec/rtems/sem/val/ident.yml new file mode 100644 index 00000000..70068b7f --- /dev/null +++ b/spec/rtems/sem/val/ident.yml @@ -0,0 +1,49 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/ident +test-actions: +- action: | + ${../../req/ident:/test-run}( + id_local_object, + ClassicSemIdentAction + ); + checks: [] + description: | + Run the generic object identification tests for Classic API semaphore class + objects defined by ${../../req/ident}. + links: [] +test-brief: Test the ${../if/ident:/name} directive. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident.h +test-prologue: | + rtems_status_code sc; + rtems_id id_local_object; + + sc = rtems_semaphore_create( + ClassicObjectIdentName, + 0, + RTEMS_DEFAULT_ATTRIBUTES, + 0, + &id_local_object + ); + T_assert_rsc_success( sc ); +test-support: | + static rtems_status_code ClassicSemIdentAction( + rtems_name name, + uint32_t node, + rtems_id *id + ) + { + return rtems_semaphore_ident( name, node, id ); + } +test-target: testsuites/validation/tc-sem-ident.c +type: test-case diff --git a/spec/if/rtems/signal/asr-entry.yml b/spec/rtems/signal/if/asr-entry.yml index d46b452f..d46b452f 100644 --- a/spec/if/rtems/signal/asr-entry.yml +++ b/spec/rtems/signal/if/asr-entry.yml diff --git a/spec/if/rtems/signal/asr.yml b/spec/rtems/signal/if/asr.yml index c5fb3d3b..c5fb3d3b 100644 --- a/spec/if/rtems/signal/asr.yml +++ b/spec/rtems/signal/if/asr.yml diff --git a/spec/rtems/signal/if/catch.yml b/spec/rtems/signal/if/catch.yml new file mode 100644 index 00000000..c4438ef9 --- /dev/null +++ b/spec/rtems/signal/if/catch.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${asr-entry:/name} ${.:/params[0]/name} + - ${../../mode/if/mode:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_signal_catch +notes: null +params: +- description: '%' + dir: null + name: asr_handler +- description: '%' + dir: null + name: mode_set +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/signal/if/group.yml b/spec/rtems/signal/if/group.yml new file mode 100644 index 00000000..406fd923 --- /dev/null +++ b/spec/rtems/signal/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Signal Manager provides the capabilities required for asynchronous + communication. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicSignal +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Signal Manager +text: | + The Classic API shall provide an interface to the Signal Manager. +type: interface diff --git a/spec/rtems/signal/if/header-2.yml b/spec/rtems/signal/if/header-2.yml new file mode 100644 index 00000000..fc14aa08 --- /dev/null +++ b/spec/rtems/signal/if/header-2.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the parts of the Signal Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/asr.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/signal/if/header.yml b/spec/rtems/signal/if/header.yml new file mode 100644 index 00000000..2a49eb95 --- /dev/null +++ b/spec/rtems/signal/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the parts of the Signal Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/signal.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/signal/if/send.yml b/spec/rtems/signal/if/send.yml new file mode 100644 index 00000000..c35170c5 --- /dev/null +++ b/spec/rtems/signal/if/send.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${set:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_signal_send +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: signal_set +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/signal/if/set.yml b/spec/rtems/signal/if/set.yml new file mode 100644 index 00000000..dd75a012 --- /dev/null +++ b/spec/rtems/signal/if/set.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header-2 +- role: interface-ingroup + uid: group +name: rtems_signal_set +notes: null +type: interface diff --git a/spec/if/rtems/signal/signal-0.yml b/spec/rtems/signal/if/signal-0.yml index 8dc5cd78..8dc5cd78 100644 --- a/spec/if/rtems/signal/signal-0.yml +++ b/spec/rtems/signal/if/signal-0.yml diff --git a/spec/if/rtems/signal/signal-1.yml b/spec/rtems/signal/if/signal-1.yml index cf9a9271..cf9a9271 100644 --- a/spec/if/rtems/signal/signal-1.yml +++ b/spec/rtems/signal/if/signal-1.yml diff --git a/spec/if/rtems/signal/signal-10.yml b/spec/rtems/signal/if/signal-10.yml index 3cdb2757..3cdb2757 100644 --- a/spec/if/rtems/signal/signal-10.yml +++ b/spec/rtems/signal/if/signal-10.yml diff --git a/spec/if/rtems/signal/signal-11.yml b/spec/rtems/signal/if/signal-11.yml index 228c53f6..228c53f6 100644 --- a/spec/if/rtems/signal/signal-11.yml +++ b/spec/rtems/signal/if/signal-11.yml diff --git a/spec/if/rtems/signal/signal-12.yml b/spec/rtems/signal/if/signal-12.yml index 9888b93b..9888b93b 100644 --- a/spec/if/rtems/signal/signal-12.yml +++ b/spec/rtems/signal/if/signal-12.yml diff --git a/spec/if/rtems/signal/signal-13.yml b/spec/rtems/signal/if/signal-13.yml index d0f3b9fc..d0f3b9fc 100644 --- a/spec/if/rtems/signal/signal-13.yml +++ b/spec/rtems/signal/if/signal-13.yml diff --git a/spec/if/rtems/signal/signal-14.yml b/spec/rtems/signal/if/signal-14.yml index 8e844e7d..8e844e7d 100644 --- a/spec/if/rtems/signal/signal-14.yml +++ b/spec/rtems/signal/if/signal-14.yml diff --git a/spec/if/rtems/signal/signal-15.yml b/spec/rtems/signal/if/signal-15.yml index 2e0f2e01..2e0f2e01 100644 --- a/spec/if/rtems/signal/signal-15.yml +++ b/spec/rtems/signal/if/signal-15.yml diff --git a/spec/if/rtems/signal/signal-16.yml b/spec/rtems/signal/if/signal-16.yml index 9a9db466..9a9db466 100644 --- a/spec/if/rtems/signal/signal-16.yml +++ b/spec/rtems/signal/if/signal-16.yml diff --git a/spec/if/rtems/signal/signal-17.yml b/spec/rtems/signal/if/signal-17.yml index f9bae87c..f9bae87c 100644 --- a/spec/if/rtems/signal/signal-17.yml +++ b/spec/rtems/signal/if/signal-17.yml diff --git a/spec/if/rtems/signal/signal-18.yml b/spec/rtems/signal/if/signal-18.yml index 8bac5fb1..8bac5fb1 100644 --- a/spec/if/rtems/signal/signal-18.yml +++ b/spec/rtems/signal/if/signal-18.yml diff --git a/spec/if/rtems/signal/signal-19.yml b/spec/rtems/signal/if/signal-19.yml index 523b1bf1..523b1bf1 100644 --- a/spec/if/rtems/signal/signal-19.yml +++ b/spec/rtems/signal/if/signal-19.yml diff --git a/spec/if/rtems/signal/signal-2.yml b/spec/rtems/signal/if/signal-2.yml index 2501a689..2501a689 100644 --- a/spec/if/rtems/signal/signal-2.yml +++ b/spec/rtems/signal/if/signal-2.yml diff --git a/spec/if/rtems/signal/signal-20.yml b/spec/rtems/signal/if/signal-20.yml index 3cec7d71..3cec7d71 100644 --- a/spec/if/rtems/signal/signal-20.yml +++ b/spec/rtems/signal/if/signal-20.yml diff --git a/spec/if/rtems/signal/signal-21.yml b/spec/rtems/signal/if/signal-21.yml index 696cb03d..696cb03d 100644 --- a/spec/if/rtems/signal/signal-21.yml +++ b/spec/rtems/signal/if/signal-21.yml diff --git a/spec/if/rtems/signal/signal-22.yml b/spec/rtems/signal/if/signal-22.yml index 1596a828..1596a828 100644 --- a/spec/if/rtems/signal/signal-22.yml +++ b/spec/rtems/signal/if/signal-22.yml diff --git a/spec/if/rtems/signal/signal-23.yml b/spec/rtems/signal/if/signal-23.yml index fc90b4db..fc90b4db 100644 --- a/spec/if/rtems/signal/signal-23.yml +++ b/spec/rtems/signal/if/signal-23.yml diff --git a/spec/if/rtems/signal/signal-24.yml b/spec/rtems/signal/if/signal-24.yml index ab9da27e..ab9da27e 100644 --- a/spec/if/rtems/signal/signal-24.yml +++ b/spec/rtems/signal/if/signal-24.yml diff --git a/spec/if/rtems/signal/signal-25.yml b/spec/rtems/signal/if/signal-25.yml index 819c8084..819c8084 100644 --- a/spec/if/rtems/signal/signal-25.yml +++ b/spec/rtems/signal/if/signal-25.yml diff --git a/spec/if/rtems/signal/signal-26.yml b/spec/rtems/signal/if/signal-26.yml index 6a1fb8d2..6a1fb8d2 100644 --- a/spec/if/rtems/signal/signal-26.yml +++ b/spec/rtems/signal/if/signal-26.yml diff --git a/spec/if/rtems/signal/signal-27.yml b/spec/rtems/signal/if/signal-27.yml index e26b4e2c..e26b4e2c 100644 --- a/spec/if/rtems/signal/signal-27.yml +++ b/spec/rtems/signal/if/signal-27.yml diff --git a/spec/if/rtems/signal/signal-28.yml b/spec/rtems/signal/if/signal-28.yml index 409db75e..409db75e 100644 --- a/spec/if/rtems/signal/signal-28.yml +++ b/spec/rtems/signal/if/signal-28.yml diff --git a/spec/if/rtems/signal/signal-29.yml b/spec/rtems/signal/if/signal-29.yml index 342a6cb4..342a6cb4 100644 --- a/spec/if/rtems/signal/signal-29.yml +++ b/spec/rtems/signal/if/signal-29.yml diff --git a/spec/if/rtems/signal/signal-3.yml b/spec/rtems/signal/if/signal-3.yml index de04a32f..de04a32f 100644 --- a/spec/if/rtems/signal/signal-3.yml +++ b/spec/rtems/signal/if/signal-3.yml diff --git a/spec/if/rtems/signal/signal-30.yml b/spec/rtems/signal/if/signal-30.yml index aeec2d14..aeec2d14 100644 --- a/spec/if/rtems/signal/signal-30.yml +++ b/spec/rtems/signal/if/signal-30.yml diff --git a/spec/if/rtems/signal/signal-31.yml b/spec/rtems/signal/if/signal-31.yml index 9461f976..9461f976 100644 --- a/spec/if/rtems/signal/signal-31.yml +++ b/spec/rtems/signal/if/signal-31.yml diff --git a/spec/if/rtems/signal/signal-4.yml b/spec/rtems/signal/if/signal-4.yml index 20cc6878..20cc6878 100644 --- a/spec/if/rtems/signal/signal-4.yml +++ b/spec/rtems/signal/if/signal-4.yml diff --git a/spec/if/rtems/signal/signal-5.yml b/spec/rtems/signal/if/signal-5.yml index 4079be3d..4079be3d 100644 --- a/spec/if/rtems/signal/signal-5.yml +++ b/spec/rtems/signal/if/signal-5.yml diff --git a/spec/if/rtems/signal/signal-6.yml b/spec/rtems/signal/if/signal-6.yml index d19cb8c2..d19cb8c2 100644 --- a/spec/if/rtems/signal/signal-6.yml +++ b/spec/rtems/signal/if/signal-6.yml diff --git a/spec/if/rtems/signal/signal-7.yml b/spec/rtems/signal/if/signal-7.yml index 650af40d..650af40d 100644 --- a/spec/if/rtems/signal/signal-7.yml +++ b/spec/rtems/signal/if/signal-7.yml diff --git a/spec/if/rtems/signal/signal-8.yml b/spec/rtems/signal/if/signal-8.yml index b18139e0..b18139e0 100644 --- a/spec/if/rtems/signal/signal-8.yml +++ b/spec/rtems/signal/if/signal-8.yml diff --git a/spec/if/rtems/signal/signal-9.yml b/spec/rtems/signal/if/signal-9.yml index 5526d839..5526d839 100644 --- a/spec/if/rtems/signal/signal-9.yml +++ b/spec/rtems/signal/if/signal-9.yml diff --git a/spec/if/rtems/status/already-suspended.yml b/spec/rtems/status/if/already-suspended.yml index 30b0ae3a..30b0ae3a 100644 --- a/spec/if/rtems/status/already-suspended.yml +++ b/spec/rtems/status/if/already-suspended.yml diff --git a/spec/if/rtems/status/called-from-isr.yml b/spec/rtems/status/if/called-from-isr.yml index 6092755a..6092755a 100644 --- a/spec/if/rtems/status/called-from-isr.yml +++ b/spec/rtems/status/if/called-from-isr.yml diff --git a/spec/if/rtems/status/code-to-errno.yml b/spec/rtems/status/if/code-to-errno.yml index 40547ff4..40547ff4 100644 --- a/spec/if/rtems/status/code-to-errno.yml +++ b/spec/rtems/status/if/code-to-errno.yml diff --git a/spec/if/rtems/status/code.yml b/spec/rtems/status/if/code.yml index 36ac265f..36ac265f 100644 --- a/spec/if/rtems/status/code.yml +++ b/spec/rtems/status/if/code.yml diff --git a/spec/if/rtems/status/first.yml b/spec/rtems/status/if/first.yml index 5f704e9c..5f704e9c 100644 --- a/spec/if/rtems/status/first.yml +++ b/spec/rtems/status/if/first.yml diff --git a/spec/rtems/status/if/group.yml b/spec/rtems/status/if/group.yml new file mode 100644 index 00000000..04f0b518 --- /dev/null +++ b/spec/rtems/status/if/group.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains the Classic API status codes and support functions. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicStatus +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Directive Status Codes +text: | + The Classic API shall provide an interface to directive status codes. +type: interface diff --git a/spec/rtems/status/if/header.yml b/spec/rtems/status/if/header.yml new file mode 100644 index 00000000..f3ed7d78 --- /dev/null +++ b/spec/rtems/status/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the status codes provided by API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/status.h +prefix: cpukit/include +type: interface diff --git a/spec/if/rtems/status/illegal-on-remote-object.yml b/spec/rtems/status/if/illegal-on-remote-object.yml index 924c6e16..924c6e16 100644 --- a/spec/if/rtems/status/illegal-on-remote-object.yml +++ b/spec/rtems/status/if/illegal-on-remote-object.yml diff --git a/spec/if/rtems/status/illegal-on-self.yml b/spec/rtems/status/if/illegal-on-self.yml index d7479333..d7479333 100644 --- a/spec/if/rtems/status/illegal-on-self.yml +++ b/spec/rtems/status/if/illegal-on-self.yml diff --git a/spec/if/rtems/status/incorrect-state.yml b/spec/rtems/status/if/incorrect-state.yml index 9c30f28b..9c30f28b 100644 --- a/spec/if/rtems/status/incorrect-state.yml +++ b/spec/rtems/status/if/incorrect-state.yml diff --git a/spec/if/rtems/status/internal-error.yml b/spec/rtems/status/if/internal-error.yml index fed91daa..fed91daa 100644 --- a/spec/if/rtems/status/internal-error.yml +++ b/spec/rtems/status/if/internal-error.yml diff --git a/spec/if/rtems/status/interrupted.yml b/spec/rtems/status/if/interrupted.yml index c79fa7fb..c79fa7fb 100644 --- a/spec/if/rtems/status/interrupted.yml +++ b/spec/rtems/status/if/interrupted.yml diff --git a/spec/if/rtems/status/invalid-address.yml b/spec/rtems/status/if/invalid-address.yml index e6cb9212..e6cb9212 100644 --- a/spec/if/rtems/status/invalid-address.yml +++ b/spec/rtems/status/if/invalid-address.yml diff --git a/spec/if/rtems/status/invalid-clock.yml b/spec/rtems/status/if/invalid-clock.yml index 6bcd7284..6bcd7284 100644 --- a/spec/if/rtems/status/invalid-clock.yml +++ b/spec/rtems/status/if/invalid-clock.yml diff --git a/spec/if/rtems/status/invalid-id.yml b/spec/rtems/status/if/invalid-id.yml index d51875ea..d51875ea 100644 --- a/spec/if/rtems/status/invalid-id.yml +++ b/spec/rtems/status/if/invalid-id.yml diff --git a/spec/if/rtems/status/invalid-name.yml b/spec/rtems/status/if/invalid-name.yml index 980951fb..980951fb 100644 --- a/spec/if/rtems/status/invalid-name.yml +++ b/spec/rtems/status/if/invalid-name.yml diff --git a/spec/if/rtems/status/invalid-node.yml b/spec/rtems/status/if/invalid-node.yml index 98bce397..98bce397 100644 --- a/spec/if/rtems/status/invalid-node.yml +++ b/spec/rtems/status/if/invalid-node.yml diff --git a/spec/if/rtems/status/invalid-number.yml b/spec/rtems/status/if/invalid-number.yml index f4c3bd00..f4c3bd00 100644 --- a/spec/if/rtems/status/invalid-number.yml +++ b/spec/rtems/status/if/invalid-number.yml diff --git a/spec/if/rtems/status/invalid-priority.yml b/spec/rtems/status/if/invalid-priority.yml index 4a4dbcb5..4a4dbcb5 100644 --- a/spec/if/rtems/status/invalid-priority.yml +++ b/spec/rtems/status/if/invalid-priority.yml diff --git a/spec/if/rtems/status/invalid-size.yml b/spec/rtems/status/if/invalid-size.yml index fc42cae7..fc42cae7 100644 --- a/spec/if/rtems/status/invalid-size.yml +++ b/spec/rtems/status/if/invalid-size.yml diff --git a/spec/if/rtems/status/io-error.yml b/spec/rtems/status/if/io-error.yml index f75a11e6..f75a11e6 100644 --- a/spec/if/rtems/status/io-error.yml +++ b/spec/rtems/status/if/io-error.yml diff --git a/spec/rtems/status/if/is-equal.yml b/spec/rtems/status/if/is-equal.yml new file mode 100644 index 00000000..b3706501 --- /dev/null +++ b/spec/rtems/status/if/is-equal.yml @@ -0,0 +1,37 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true, if the left hand side status code is equal to the right hand + side status code, otherwise returns false. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: | + return ${.:/params[0]/name} == ${.:/params[1]/name}; + params: + - ${code:/name} ${.:/params[0]/name} + - ${code:/name} ${.:/params[1]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_are_statuses_equal +notes: null +params: +- description: is the left hand side status code. + dir: null + name: left_status_code +- description: is the right hand side status code. + dir: null + name: right_status_code +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/status/if/is-successful.yml b/spec/rtems/status/if/is-successful.yml new file mode 100644 index 00000000..71dce793 --- /dev/null +++ b/spec/rtems/status/if/is-successful.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true, if the status code is ${successful:/name}, otherwise + returns false. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: | + return ${.:/params[0]/name} == ${successful:/name}; + params: + - ${code:/name} ${.:/params[0]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_is_status_successful +notes: null +params: +- description: is the status code. + dir: null + name: status_code +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/status/last.yml b/spec/rtems/status/if/last.yml index fdcebffe..fdcebffe 100644 --- a/spec/if/rtems/status/last.yml +++ b/spec/rtems/status/if/last.yml diff --git a/spec/if/rtems/status/mp-not-configured.yml b/spec/rtems/status/if/mp-not-configured.yml index 47f3c259..47f3c259 100644 --- a/spec/if/rtems/status/mp-not-configured.yml +++ b/spec/rtems/status/if/mp-not-configured.yml diff --git a/spec/if/rtems/status/no-memory.yml b/spec/rtems/status/if/no-memory.yml index 00fbf207..00fbf207 100644 --- a/spec/if/rtems/status/no-memory.yml +++ b/spec/rtems/status/if/no-memory.yml diff --git a/spec/if/rtems/status/not-configured.yml b/spec/rtems/status/if/not-configured.yml index 4ab79cb9..4ab79cb9 100644 --- a/spec/if/rtems/status/not-configured.yml +++ b/spec/rtems/status/if/not-configured.yml diff --git a/spec/if/rtems/status/not-defined.yml b/spec/rtems/status/if/not-defined.yml index 8f3b93d6..8f3b93d6 100644 --- a/spec/if/rtems/status/not-defined.yml +++ b/spec/rtems/status/if/not-defined.yml diff --git a/spec/if/rtems/status/not-implemented.yml b/spec/rtems/status/if/not-implemented.yml index d344da20..d344da20 100644 --- a/spec/if/rtems/status/not-implemented.yml +++ b/spec/rtems/status/if/not-implemented.yml diff --git a/spec/if/rtems/status/not-owner-of-resource.yml b/spec/rtems/status/if/not-owner-of-resource.yml index bd0697c8..bd0697c8 100644 --- a/spec/if/rtems/status/not-owner-of-resource.yml +++ b/spec/rtems/status/if/not-owner-of-resource.yml diff --git a/spec/if/rtems/status/object-was-deleted.yml b/spec/rtems/status/if/object-was-deleted.yml index 56d3035a..56d3035a 100644 --- a/spec/if/rtems/status/object-was-deleted.yml +++ b/spec/rtems/status/if/object-was-deleted.yml diff --git a/spec/if/rtems/status/proxy-blocking.yml b/spec/rtems/status/if/proxy-blocking.yml index f588a6e9..f588a6e9 100644 --- a/spec/if/rtems/status/proxy-blocking.yml +++ b/spec/rtems/status/if/proxy-blocking.yml diff --git a/spec/if/rtems/status/resource-in-use.yml b/spec/rtems/status/if/resource-in-use.yml index 21d609ed..21d609ed 100644 --- a/spec/if/rtems/status/resource-in-use.yml +++ b/spec/rtems/status/if/resource-in-use.yml diff --git a/spec/if/rtems/status/successful.yml b/spec/rtems/status/if/successful.yml index 93ccda45..93ccda45 100644 --- a/spec/if/rtems/status/successful.yml +++ b/spec/rtems/status/if/successful.yml diff --git a/spec/if/rtems/status/task-exitted.yml b/spec/rtems/status/if/task-exitted.yml index 30e0df9c..30e0df9c 100644 --- a/spec/if/rtems/status/task-exitted.yml +++ b/spec/rtems/status/if/task-exitted.yml diff --git a/spec/if/rtems/status/text.yml b/spec/rtems/status/if/text.yml index 6e0c9e49..6e0c9e49 100644 --- a/spec/if/rtems/status/text.yml +++ b/spec/rtems/status/if/text.yml diff --git a/spec/if/rtems/status/timeout.yml b/spec/rtems/status/if/timeout.yml index 3693682e..3693682e 100644 --- a/spec/if/rtems/status/timeout.yml +++ b/spec/rtems/status/if/timeout.yml diff --git a/spec/if/rtems/status/too-many.yml b/spec/rtems/status/if/too-many.yml index ccdaa6f1..ccdaa6f1 100644 --- a/spec/if/rtems/status/too-many.yml +++ b/spec/rtems/status/if/too-many.yml diff --git a/spec/if/rtems/status/unsatisfied.yml b/spec/rtems/status/if/unsatisfied.yml index 95d2a3af..95d2a3af 100644 --- a/spec/if/rtems/status/unsatisfied.yml +++ b/spec/rtems/status/if/unsatisfied.yml diff --git a/spec/rtems/support/if/group.yml b/spec/rtems/support/if/group.yml new file mode 100644 index 00000000..eed5270e --- /dev/null +++ b/spec/rtems/support/if/group.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Items of this group should move to other groups. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicSupport +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Support Services +text: | + The Classic API should not provide this interface part. +type: interface diff --git a/spec/rtems/support/if/header.yml b/spec/rtems/support/if/header.yml new file mode 100644 index 00000000..2909f94c --- /dev/null +++ b/spec/rtems/support/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines support services of the API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/support.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/support/if/is-name-valid.yml b/spec/rtems/support/if/is-name-valid.yml new file mode 100644 index 00000000..55cc5b55 --- /dev/null +++ b/spec/rtems/support/if/is-name-valid.yml @@ -0,0 +1,36 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns true, if the specified object name is valid, otherwise returns false. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: | + return ${.:/params[0]/name} != 0; + params: + - ${../../status/if/code:/name} ${.:/params[0]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_is_name_valid +notes: null +params: +- description: is the object name to check. + dir: null + name: name +return: + return: null + return-values: + - description: The specified object name is valid. + value: 'true' + - description: Otherwise. + value: 'false' +type: interface diff --git a/spec/rtems/support/if/microseconds-to-ticks.yml b/spec/rtems/support/if/microseconds-to-ticks.yml new file mode 100644 index 00000000..2a477bf2 --- /dev/null +++ b/spec/rtems/support/if/microseconds-to-ticks.yml @@ -0,0 +1,31 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the number of clock ticks for the specified microseconds value. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ( ( ${.:/params[0]/name} ) / ${../../config/if/get-microseconds-per-tick:/name}() ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_MICROSECONDS_TO_TICKS +notes: | + The number of clock ticks per second is defined by the + ${/acfg/if/microseconds-per-tick:/name} application configuration option. +params: +- description: is the microseconds value to convert to clock ticks. + dir: null + name: _us +return: + return: | + The number of clock ticks for the specified microseconds value is returned. + return-values: [] +type: interface diff --git a/spec/if/rtems/support/milliseconds-to-microseconds.yml b/spec/rtems/support/if/milliseconds-to-microseconds.yml index 893c4806..893c4806 100644 --- a/spec/if/rtems/support/milliseconds-to-microseconds.yml +++ b/spec/rtems/support/if/milliseconds-to-microseconds.yml diff --git a/spec/rtems/support/if/milliseconds-to-ticks.yml b/spec/rtems/support/if/milliseconds-to-ticks.yml new file mode 100644 index 00000000..6fa5b54f --- /dev/null +++ b/spec/rtems/support/if/milliseconds-to-ticks.yml @@ -0,0 +1,31 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the number of clock ticks for the specified milliseconds value. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${microseconds-to-ticks:/name}( ${milliseconds-to-microseconds:/name}( ${.:/params[0]/name} ) ) + variants: [] +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_MILLISECONDS_TO_TICKS +notes: | + The number of clock ticks per second is defined by the + ${/acfg/if/microseconds-per-tick:/name} application configuration option. +params: +- description: is the milliseconds value to convert to clock ticks. + dir: null + name: _ms +return: + return: | + The number of clock ticks for the specified milliseconds value is returned. + return-values: [] +type: interface diff --git a/spec/rtems/support/if/name-to-characters.yml b/spec/rtems/support/if/name-to-characters.yml new file mode 100644 index 00000000..28b9f84e --- /dev/null +++ b/spec/rtems/support/if/name-to-characters.yml @@ -0,0 +1,51 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Breaks the object name into the four component characters. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: | + *${.:/params[1]/name} = (char) ( ${.:/params[0]/name} >> 24 ); + *${.:/params[2]/name} = (char) ( ${.:/params[0]/name} >> 16 ); + *${.:/params[3]/name} = (char) ( ${.:/params[0]/name} >> 8 ); + *${.:/params[4]/name} = (char) ${.:/params[0]/name}; + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - char *${.:/params[1]/name} + - char *${.:/params[2]/name} + - char *${.:/params[3]/name} + - char *${.:/params[4]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_name_to_characters +notes: null +params: +- description: is the object name to break into four component characters. + dir: null + name: name +- description: is the first character of the object name. + dir: out + name: c1 +- description: is the second character of the object name. + dir: out + name: c2 +- description: is the third character of the object name. + dir: out + name: c3 +- description: is the fourth character of the object name. + dir: out + name: c4 +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/support/if/workspace-allocate.yml b/spec/rtems/support/if/workspace-allocate.yml new file mode 100644 index 00000000..8d2d750a --- /dev/null +++ b/spec/rtems/support/if/workspace-allocate.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/size_t:/name} ${.:/params[0]/name} + - void **${.:/params[1]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_workspace_allocate +notes: null +params: +- description: '%' + dir: null + name: bytes +- description: '%' + dir: null + name: pointer +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/support/if/workspace-free.yml b/spec/rtems/support/if/workspace-free.yml new file mode 100644 index 00000000..e505e997 --- /dev/null +++ b/spec/rtems/support/if/workspace-free.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - void *${.:/params[0]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_workspace_free +notes: null +params: +- description: '%' + dir: null + name: pointer +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/support/if/workspace-get-information.yml b/spec/rtems/support/if/workspace-get-information.yml new file mode 100644 index 00000000..afde455c --- /dev/null +++ b/spec/rtems/support/if/workspace-get-information.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/score/heap/if/information-block:/name} *${.:/params[0]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_workspace_get_information +notes: null +params: +- description: '%' + dir: null + name: the_info +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/support/if/workspace-greedy-allocate-all-except-largest.yml b/spec/rtems/support/if/workspace-greedy-allocate-all-except-largest.yml new file mode 100644 index 00000000..6d03e677 --- /dev/null +++ b/spec/rtems/support/if/workspace-greedy-allocate-all-except-largest.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${/c/if/uintptr_t:/name} *${.:/params[0]/name} + return: void * + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_workspace_greedy_allocate_all_except_largest +notes: null +params: +- description: '%' + dir: null + name: allocatable_size +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/support/if/workspace-greedy-allocate.yml b/spec/rtems/support/if/workspace-greedy-allocate.yml new file mode 100644 index 00000000..32182428 --- /dev/null +++ b/spec/rtems/support/if/workspace-greedy-allocate.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const ${/c/if/uintptr_t:/name} *${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + return: void * + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_workspace_greedy_allocate +notes: null +params: +- description: '%' + dir: null + name: block_sizes +- description: '%' + dir: null + name: block_count +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/support/workspace-greedy-free.yml b/spec/rtems/support/if/workspace-greedy-free.yml index 49ff431c..49ff431c 100644 --- a/spec/if/rtems/support/workspace-greedy-free.yml +++ b/spec/rtems/support/if/workspace-greedy-free.yml diff --git a/spec/rtems/task/if/argument.yml b/spec/rtems/task/if/argument.yml new file mode 100644 index 00000000..86662e35 --- /dev/null +++ b/spec/rtems/task/if/argument.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type is used to represent task argument values. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/cpu/if/uint32ptr:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_argument +notes: | + The type is an architecture-specific unsigned integer type which is large + enough to represent pointer values and 32-bit unsigned integers. +type: interface diff --git a/spec/rtems/task/if/config.yml b/spec/rtems/task/if/config.yml new file mode 100644 index 00000000..b2016fb3 --- /dev/null +++ b/spec/rtems/task/if/config.yml @@ -0,0 +1,109 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This structure defines the configuration of a task constructed by + ${construct:/name}. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: +- default: + brief: | + This member defines the name of the task. + definition: ${../../type/if/name:/name} ${.:name} + description: null + kind: member + name: name + variants: [] +- default: + brief: | + This member defines the initial priority of the task. + definition: ${priority:/name} ${.:name} + description: null + kind: member + name: initial_priority + variants: [] +- default: + brief: | + This member shall point to the task storage area begin. + definition: void *${.:name} + description: | + The task storage area will contain the task stack, the thread-local + storage, and the floating-point context on architectures with a separate + floating-point context. + + The task storage area begin address and size should be aligned by + ${storage-alignment:/name}. To avoid memory waste, use + ${../../basedefs/if/aligned:/name} and ${storage-alignment:/name} to enforce + the recommended alignment of a statically allocated task storage area. + kind: member + name: storage_area + variants: [] +- default: + brief: | + This member defines size of the task storage area in bytes. + definition: ${/c/if/size_t:/name} ${.:name} + description: | + Use the ${storage-size:/name} macro to determine the recommended task + storage area size. + kind: member + name: storage_size + variants: [] +- default: + brief: | + This member defines the maximum thread-local storage size supported by the + task storage area. + definition: ${/c/if/size_t:/name} ${.:name} + description: | + Use ${../../basedefs/if/align-up:/name} and ${storage-alignment:/name} to + adjust the size to meet the minimum alignment requirement of a + thread-local storage area used to construct a task. + + If the value is less than the actual thread-local storage size, then the + task construction by ${construct:/name} fails. + + If the is less than the task storage area size, then the task + construction by ${construct:/name} fails. + kind: member + name: maximum_thread_local_storage_size + variants: [] +- default: + brief: | + This member defines the optional handler to free the task storage area. + definition: void ( *${.:name} )( void * ) + description: | + It is called on exactly two mutually exclusive occasions. Firstly, when + the task construction aborts due to a failed task create extension, or + secondly, when the task is deleted. It is called from task context under + protection of the object allocator lock. It is allowed to call free() in + this handler. If handler is ${/c/if/null:/name}, then no action will + be performed. + kind: member + name: storage_free + variants: [] +- default: + brief: | + This member defines the initial modes of the task. + definition: ${../../mode/if/mode:/name} ${.:name} + description: null + kind: member + name: initial_modes + variants: [] +- default: + brief: | + This member defines the attributes of the task. + definition: ${../../attr/if/attribute:/name} ${.:name} + description: null + kind: member + name: attributes + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_config +notes: null +type: interface diff --git a/spec/if/rtems/tasks/configured-minimum-stack-size.yml b/spec/rtems/task/if/configured-minimum-stack-size.yml index 24696bc9..24696bc9 100644 --- a/spec/if/rtems/tasks/configured-minimum-stack-size.yml +++ b/spec/rtems/task/if/configured-minimum-stack-size.yml diff --git a/spec/rtems/task/if/construct.yml b/spec/rtems/task/if/construct.yml new file mode 100644 index 00000000..d5168070 --- /dev/null +++ b/spec/rtems/task/if/construct.yml @@ -0,0 +1,91 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Creates a task from the specified the task configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - const ${config:/name} *${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_construct +notes: | + In contrast to tasks created by ${create:/name}, the tasks constructed by + this directive use a user-provided task storage area. The task storage area + contains the task stack, the thread-local storage, and the floating-point + context on architectures with a separate floating-point context. + + It is not recommended to mix ${create:/name} and ${.:/name} in an + application. This directive is intended for applications which do not want + to use the RTEMS Workspace and instead statically allocate all operating + system resources. The stack space estimate done by <rtems/confdefs.h> + assumes that all tasks are created by ${create:/name}. The estimate can be + adjusted to take user-provided task storage areas into account through the + ${/acfg/if/min-tasks-with-user-provided-storage:/name} application + configuration option. +params: +- description: is the task configuration. + dir: null + name: config +- description: | + is the pointer to an object identifier variable. The identifier of the + constructed task object will be stored in this variable, in case of a + successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The task name was invalid. + value: ${../../status/if/invalid-name:/name} + - description: | + The initial task priority was invalid. + value: ${../../status/if/invalid-priority:/name} + - description: | + The thread-local storage size is greater than the maximum thread-local + storage size specified in the task configuration. The thread-local + storage size is determined by the thread-local variables used by the + application and ${/acfg/if/max-thread-local-storage-size:/name}. + value: ${../../status/if/invalid-size:/name} + - description: | + The task storage area was too small to provide a task stack of the + configured minimum size, see ${/acfg/if/min-task-stack-size:/name}. + The task storage area contains the task stack, the thread-local storage, + and the floating-point context on architectures with a separate + floating-point context. + value: ${../../status/if/invalid-size:/name} + - description: | + There was no inactive task object available to construct a task. + value: ${../../status/if/too-many:/name} + - description: | + In multiprocessing configurations, there was no inactive global object + available to construct a global task. + value: ${../../status/if/too-many:/name} + - description: | + One of the task create extensions failed during the task construction. + value: ${../../status/if/unsatisfied:/name} + - description: | + In SMP configurations, the non-preemption mode was not supported. + value: ${../../status/if/unsatisfied:/name} + - description: | + In SMP configurations, the interrupt level mode was not supported. + value: ${../../status/if/unsatisfied:/name} +type: interface diff --git a/spec/rtems/task/if/create.yml b/spec/rtems/task/if/create.yml new file mode 100644 index 00000000..7baea120 --- /dev/null +++ b/spec/rtems/task/if/create.yml @@ -0,0 +1,101 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Creates a task object. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${priority:/name} ${.:/params[1]/name} + - ${/c/if/size_t:/name} ${.:/params[2]/name} + - ${../../mode/if/mode:/name} ${.:/params[3]/name} + - ${../../attr/if/attribute:/name} ${.:/params[4]/name} + - ${../../type/if/id:/name} *${.:/params[5]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive creates a task which resides on the local node. It allocates + and initializes a TCB, a stack, and an optional floating point context area. + The mode parameter contains values which sets the task’s initial execution + mode. The RTEMS_FLOATING_POINT attribute should be specified if the created + task is to use a numeric coprocessor. For performance reasons, it is + recommended that tasks not using the numeric coprocessor should specify the + RTEMS_NO_FLOATING_POINT attribute. If the RTEMS_GLOBAL attribute is + specified, the task can be accessed from remote nodes. The task id, returned + in id, is used in other task related directives to access the task. When + created, a task is placed in the dormant state and can only be made ready to + execute using the directive rtems_task_start(). +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_create +notes: null +params: +- description: is the user-defined task name. + dir: null + name: name +- description: is the initial task priority. + dir: null + name: initial_priority +- description: is the task stack size in bytes. + dir: null + name: stack_size +- description: is the initial task mode. + dir: null + name: initial_modes +- description: is the task attribute set. + dir: null + name: attribute_set +- description: | + is the pointer to an object identifier variable. The object identifier of + the new task will be stored in this variable, in case of a successful + operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[5]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The task name was invalid. + value: ${../../status/if/invalid-name:/name} + - description: | + The initial task priority was invalid. + value: ${../../status/if/invalid-priority:/name} + - description: | + The multiprocessing support was not configured. + value: ${../../status/if/mp-not-configured:/name} + - description: | + There was no inactive task object available to create a new task. + value: ${../../status/if/too-many:/name} + - description: | + In multiprocessing configurations, there was no inactive global object + available to create a new global task. + value: ${../../status/if/too-many:/name} + - description: | + There was not enough memory to allocate the task storage area. The task + storage area contains the task stack, the thread-local storage, and the + floating point context. + value: ${../../status/if/unsatisfied:/name} + - description: | + One of the task create extensions failed to create the new task. + value: ${../../status/if/unsatisfied:/name} + - description: | + In SMP configurations, the non-preemption mode was not supported. + value: ${../../status/if/unsatisfied:/name} + - description: | + In SMP configurations, the interrupt level mode was not supported. + value: ${../../status/if/unsatisfied:/name} +type: interface diff --git a/spec/if/rtems/tasks/current-priority.yml b/spec/rtems/task/if/current-priority.yml index 9dac3e14..9dac3e14 100644 --- a/spec/if/rtems/tasks/current-priority.yml +++ b/spec/rtems/task/if/current-priority.yml diff --git a/spec/rtems/task/if/delete.yml b/spec/rtems/task/if/delete.yml new file mode 100644 index 00000000..7700116a --- /dev/null +++ b/spec/rtems/task/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/entry.yml b/spec/rtems/task/if/entry.yml index 66a3c4d2..66a3c4d2 100644 --- a/spec/if/rtems/tasks/entry.yml +++ b/spec/rtems/task/if/entry.yml diff --git a/spec/rtems/task/if/exit.yml b/spec/rtems/task/if/exit.yml new file mode 100644 index 00000000..fbfe49b5 --- /dev/null +++ b/spec/rtems/task/if/exit.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${../../basedefs/if/no-return:/name} void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_exit +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/get-affinity.yml b/spec/rtems/task/if/get-affinity.yml new file mode 100644 index 00000000..ab0a6a70 --- /dev/null +++ b/spec/rtems/task/if/get-affinity.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + - ${/c/if/cpu_set_t:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_get_affinity +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: cpusetsize +- description: '%' + dir: null + name: cpuset +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/get-priority.yml b/spec/rtems/task/if/get-priority.yml new file mode 100644 index 00000000..e89e982d --- /dev/null +++ b/spec/rtems/task/if/get-priority.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} ${.:/params[1]/name} + - ${priority:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_get_priority +notes: null +params: +- description: '%' + dir: null + name: task_id +- description: '%' + dir: null + name: scheduler_id +- description: '%' + dir: null + name: priority +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/get-scheduler.yml b/spec/rtems/task/if/get-scheduler.yml new file mode 100644 index 00000000..4dd97d97 --- /dev/null +++ b/spec/rtems/task/if/get-scheduler.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_get_scheduler +notes: null +params: +- description: '%' + dir: null + name: task_id +- description: '%' + dir: null + name: scheduler_id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/group.yml b/spec/rtems/task/if/group.yml new file mode 100644 index 00000000..b9993172 --- /dev/null +++ b/spec/rtems/task/if/group.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Task Manager provides a comprehensive set of directives to create, + delete, and administer tasks. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicTasks +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Task Manager +text: | + The Classic API shall provide an interface to the Task Manager. +type: interface diff --git a/spec/rtems/task/if/header.yml b/spec/rtems/task/if/header.yml new file mode 100644 index 00000000..3cf3b456 --- /dev/null +++ b/spec/rtems/task/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the main parts of the Tasks Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/tasks.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/task/if/ident.yml b/spec/rtems/task/if/ident.yml new file mode 100644 index 00000000..1bf657c8 --- /dev/null +++ b/spec/rtems/task/if/ident.yml @@ -0,0 +1,85 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a task object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + - ${../../type/if/id:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the task identifier associated with the task name + specified in ``${.:/params[0]/name}``. + + A task may obtain its own identifier by specifying ${self-define:/name} for + the name. + + The node to search is specified in ``${.:/params[1]/name}``. It shall be + + * a valid node number, + + * the constant ${../../object/if/search-all-nodes:/name} to search in all nodes, + + * the constant ${../../object/if/search-local-node:/name} to search in the local + node only, or + + * the constant ${../../object/if/search-other-nodes:/name} to search in all nodes + except the local node. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_ident +notes: | + If the task name is not unique, then the task identifier will match the first + task with that name in the search order. However, this task identifier is + not guaranteed to correspond to the desired task. The task identifier is + used with other task related directives to access the task. + + If node is ${../../object/if/search-all-nodes:/name}, all nodes are searched with + the local node being searched first. All other nodes are searched with the + lowest numbered node searched first. + + If node is a valid node number which does not represent the local node, then + only the tasks exported by the designated node are searched. + + This directive does not generate activity on remote nodes. It accesses only + the local copy of the global object table. +params: +- description: is the object name to look up. + dir: null + name: name +- description: is the node or node set to search for a matching object. + dir: null + name: node +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + There was no object with the specified name on the specified nodes. + value: ${../../status/if/invalid-name:/name} + - description: | + In multiprocessing configurations, the specified node was invalid. + value: ${../../status/if/invalid-node:/name} +type: interface diff --git a/spec/rtems/task/if/initialization-table.yml b/spec/rtems/task/if/initialization-table.yml new file mode 100644 index 00000000..71f463e0 --- /dev/null +++ b/spec/rtems/task/if/initialization-table.yml @@ -0,0 +1,67 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: +- default: + brief: '%' + definition: ${../../type/if/name:/name} ${.:name} + description: '%' + kind: member + name: name + variants: [] +- default: + brief: '%' + definition: ${/c/if/size_t:/name} ${.:name} + description: '%' + kind: member + name: stack_size + variants: [] +- default: + brief: '%' + definition: ${priority:/name} ${.:name} + description: '%' + kind: member + name: initial_priority + variants: [] +- default: + brief: '%' + definition: ${../../attr/if/attribute:/name} ${.:name} + description: '%' + kind: member + name: attribute_set + variants: [] +- default: + brief: '%' + definition: ${entry:/name} ${.:name} + description: '%' + kind: member + name: entry_point + variants: [] +- default: + brief: '%' + definition: ${../../mode/if/mode:/name} ${.:name} + description: '%' + kind: member + name: mode_set + variants: [] +- default: + brief: '%' + definition: ${argument:/name} ${.:name} + description: '%' + kind: member + name: argument + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_initialization_tasks_table +notes: null +type: interface diff --git a/spec/rtems/task/if/is-suspended.yml b/spec/rtems/task/if/is-suspended.yml new file mode 100644 index 00000000..67f1d731 --- /dev/null +++ b/spec/rtems/task/if/is-suspended.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_is_suspended +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/iterate.yml b/spec/rtems/task/if/iterate.yml index a28c0042..a28c0042 100644 --- a/spec/if/rtems/tasks/iterate.yml +++ b/spec/rtems/task/if/iterate.yml diff --git a/spec/rtems/task/if/maximum-priority.yml b/spec/rtems/task/if/maximum-priority.yml new file mode 100644 index 00000000..9f96e3f9 --- /dev/null +++ b/spec/rtems/task/if/maximum-priority.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/if/maximum-priority:/name}() + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_MAXIMUM_PRIORITY +notes: null +type: interface diff --git a/spec/if/rtems/tasks/minimum-priority.yml b/spec/rtems/task/if/minimum-priority.yml index 89511f09..89511f09 100644 --- a/spec/if/rtems/tasks/minimum-priority.yml +++ b/spec/rtems/task/if/minimum-priority.yml diff --git a/spec/rtems/task/if/minimum-stack-size.yml b/spec/rtems/task/if/minimum-stack-size.yml new file mode 100644 index 00000000..216100da --- /dev/null +++ b/spec/rtems/task/if/minimum-stack-size.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/stack/if/minimum-size:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_MINIMUM_STACK_SIZE +notes: null +type: interface diff --git a/spec/rtems/task/if/mode.yml b/spec/rtems/task/if/mode.yml new file mode 100644 index 00000000..181d6866 --- /dev/null +++ b/spec/rtems/task/if/mode.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../mode/if/mode:/name} ${.:/params[0]/name} + - ${../../mode/if/mode:/name} ${.:/params[1]/name} + - ${../../mode/if/mode:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_mode +notes: null +params: +- description: '%' + dir: null + name: mode_set +- description: '%' + dir: null + name: mask +- description: '%' + dir: null + name: previous_mode_set +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/no-priority.yml b/spec/rtems/task/if/no-priority.yml index 8b6f0668..8b6f0668 100644 --- a/spec/if/rtems/tasks/no-priority.yml +++ b/spec/rtems/task/if/no-priority.yml diff --git a/spec/rtems/task/if/priority.yml b/spec/rtems/task/if/priority.yml new file mode 100644 index 00000000..2f1e7ef6 --- /dev/null +++ b/spec/rtems/task/if/priority.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_priority +notes: null +type: interface diff --git a/spec/rtems/task/if/restart.yml b/spec/rtems/task/if/restart.yml new file mode 100644 index 00000000..08642b0d --- /dev/null +++ b/spec/rtems/task/if/restart.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${argument:/name} ${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_restart +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/resume.yml b/spec/rtems/task/if/resume.yml new file mode 100644 index 00000000..8b24c3e6 --- /dev/null +++ b/spec/rtems/task/if/resume.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_resume +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/self-define.yml b/spec/rtems/task/if/self-define.yml new file mode 100644 index 00000000..0b6ad3d7 --- /dev/null +++ b/spec/rtems/task/if/self-define.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/object/if/id-of-self:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_SELF +notes: null +type: interface diff --git a/spec/rtems/task/if/self.yml b/spec/rtems/task/if/self.yml new file mode 100644 index 00000000..e213058c --- /dev/null +++ b/spec/rtems/task/if/self.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${../../type/if/id:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_self +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/set-affinity.yml b/spec/rtems/task/if/set-affinity.yml new file mode 100644 index 00000000..e97621db --- /dev/null +++ b/spec/rtems/task/if/set-affinity.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + - const ${/c/if/cpu_set_t:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_set_affinity +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: cpusetsize +- description: '%' + dir: null + name: cpuset +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/set-priority.yml b/spec/rtems/task/if/set-priority.yml new file mode 100644 index 00000000..31504781 --- /dev/null +++ b/spec/rtems/task/if/set-priority.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${priority:/name} ${.:/params[1]/name} + - ${priority:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_set_priority +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: new_priority +- description: '%' + dir: null + name: old_priority +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/set-scheduler.yml b/spec/rtems/task/if/set-scheduler.yml new file mode 100644 index 00000000..cbfb45d2 --- /dev/null +++ b/spec/rtems/task/if/set-scheduler.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} ${.:/params[1]/name} + - ${priority:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_set_scheduler +notes: null +params: +- description: '%' + dir: null + name: task_id +- description: '%' + dir: null + name: scheduler_id +- description: '%' + dir: null + name: priority +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/start.yml b/spec/rtems/task/if/start.yml new file mode 100644 index 00000000..54d757fc --- /dev/null +++ b/spec/rtems/task/if/start.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${entry:/name} ${.:/params[1]/name} + - ${argument:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_start +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: entry_point +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/storage-alignment.yml b/spec/rtems/task/if/storage-alignment.yml new file mode 100644 index 00000000..d6ae3593 --- /dev/null +++ b/spec/rtems/task/if/storage-alignment.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This constant defines the recommended alignment of a task storage area in + bytes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/cpu/if/heap-alignment:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_TASK_STORAGE_ALIGNMENT +notes: | + Use it with ${../../basedefs/if/aligned:/name} to define the alignment of a + statically allocated task storage area. +type: interface diff --git a/spec/rtems/task/if/storage-size.yml b/spec/rtems/task/if/storage-size.yml new file mode 100644 index 00000000..5bc137a8 --- /dev/null +++ b/spec/rtems/task/if/storage-size.yml @@ -0,0 +1,41 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the recommended task storage area size for the specified size and task + attributes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + ( ( ${.:/params[0]/name} ) + + ( ( ( ${.:/params[1]/name} ) & ${../../attr/if/floating-point:/name} ) != 0 ? + ${/score/context/if/fp-size:/name} : 0 ) ) + variants: + - definition: | + ( ( ${.:/params[0]/name} ) + ${/score/context/if/fp-size:/name} ) + enabled-by: + - ${/score/cpu/if/all-tasks-are-fp:/name} == ${../../basedefs/if/true:/name} +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_TASK_STORAGE_SIZE +notes: null +params: +- description: | + is the size dedicated to the task stack and thread-local storage in bytes. + dir: null + name: _size +- description: | + is the attribute set of the task using the storage area. + dir: null + name: _attributes +return: + return: | + The recommended task storage area size calculated from the input parameters + is returned. + return-values: [] +type: interface diff --git a/spec/rtems/task/if/suspend.yml b/spec/rtems/task/if/suspend.yml new file mode 100644 index 00000000..06d15212 --- /dev/null +++ b/spec/rtems/task/if/suspend.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_suspend +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/task.yml b/spec/rtems/task/if/task.yml index fabc40ac..fabc40ac 100644 --- a/spec/if/rtems/tasks/task.yml +++ b/spec/rtems/task/if/task.yml diff --git a/spec/if/rtems/tasks/tcb.yml b/spec/rtems/task/if/tcb.yml index 2da894cd..2da894cd 100644 --- a/spec/if/rtems/tasks/tcb.yml +++ b/spec/rtems/task/if/tcb.yml diff --git a/spec/rtems/task/if/visitor.yml b/spec/rtems/task/if/visitor.yml new file mode 100644 index 00000000..3d5b3aac --- /dev/null +++ b/spec/rtems/task/if/visitor.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/c/if/bool:/name}( *${.:/name} )( ${tcb:/name} *, void * ) + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_visitor +notes: null +type: interface diff --git a/spec/rtems/task/if/wake-after.yml b/spec/rtems/task/if/wake-after.yml new file mode 100644 index 00000000..10a83a37 --- /dev/null +++ b/spec/rtems/task/if/wake-after.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/interval:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_wake_after +notes: null +params: +- description: '%' + dir: null + name: ticks +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/wake-when.yml b/spec/rtems/task/if/wake-when.yml new file mode 100644 index 00000000..3eb88c61 --- /dev/null +++ b/spec/rtems/task/if/wake-when.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/time-of-day:/name} *${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_wake_when +notes: null +params: +- description: '%' + dir: null + name: time_buffer +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/task/if/yield-processor.yml b/spec/rtems/task/if/yield-processor.yml new file mode 100644 index 00000000..ab5aaaf9 --- /dev/null +++ b/spec/rtems/task/if/yield-processor.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/watchdog/if/no-timeout:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_YIELD_PROCESSOR +notes: null +type: interface diff --git a/spec/rtems/task/req/construct-errors.yml b/spec/rtems/task/req/construct-errors.yml new file mode 100644 index 00000000..e912671d --- /dev/null +++ b/spec/rtems/task/req/construct-errors.yml @@ -0,0 +1,499 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: action +links: +- role: interface-function + uid: /rtems/task/if/construct +post-conditions: +- name: Status + states: + - name: Ok + test-code: | + T_rsc_success( ctx->status ); + T_eq_ptr( ctx->id, &ctx->id_value ); + T_ne_u32( ctx->id_value, 0xffffffff ); + + sc = rtems_task_delete( ctx->id_value ); + T_rsc_success( sc ); + text: | + The status shall be RTEMS_SUCCESSFUL. The value of the object identifier + referenced by the id parameter shall identify the constructed task. + - name: InvAddress + test-code: | + T_rsc( ctx->status, RTEMS_INVALID_ADDRESS ); + T_null( ctx->id ); + T_eq_u32( ctx->id_value, 0xffffffff ); + text: | + The status shall be RTEMS_INVALID_ADDRESS. + - name: InvName + test-code: | + T_rsc( ctx->status, RTEMS_INVALID_NAME ); + T_eq_u32( ctx->id_value, 0xffffffff ); + text: | + The status shall be RTEMS_INVALID_NAME. If the id parameter is not NULL, + then the value of the object identifier referenced by the id parameter + shall be unchanged. + - name: InvPrio + test-code: | + T_rsc( ctx->status, RTEMS_INVALID_PRIORITY ); + T_eq_u32( ctx->id_value, 0xffffffff ); + text: | + The status shall be RTEMS_INVALID_PRIORITY. If the id parameter is not + NULL, then the value of the object identifier referenced by the id + parameter shall be unchanged. + - name: InvSize + test-code: | + T_rsc( ctx->status, RTEMS_INVALID_SIZE ); + T_eq_u32( ctx->id_value, 0xffffffff ); + text: | + The status shall be RTEMS_INVALID_SIZE. If the id parameter is not NULL, + then the value of the object identifier referenced by the id parameter + shall be unchanged. + - name: TooMany + test-code: | + T_rsc( ctx->status, RTEMS_TOO_MANY ); + T_eq_u32( ctx->id_value, 0xffffffff ); + text: | + The status shall be RTEMS_TOO_MANY. If the id parameter is not NULL, + then the value of the object identifier referenced by the id parameter + shall be unchanged. + - name: Unsatisfied + test-code: | + T_rsc( ctx->status, RTEMS_UNSATISFIED ); + T_eq_u32( ctx->id_value, 0xffffffff ); + text: | + The status shall be RTEMS_UNSATISFIED. If the id parameter is not NULL, + then the value of the object identifier referenced by the id parameter + shall be unchanged. + test-epilogue: null + test-prologue: | + rtems_status_code sc; +pre-conditions: +- name: Id + states: + - name: Id + test-code: | + ctx->id = &ctx->id_value; + text: | + The id parameter shall reference an object identifier value. + - name: 'Null' + test-code: | + ctx->id = NULL; + text: | + The id parameter shall be NULL. + test-epilogue: null + test-prologue: null +- name: Name + states: + - name: Valid + test-code: | + ctx->config.name = rtems_build_name( 'N', 'A', 'M', 'E' ); + text: | + The name of the task configuration shall be valid. + - name: Inv + test-code: | + ctx->config.name = 0; + text: | + The name of the task configuration shall be invalid. + test-epilogue: null + test-prologue: null +- name: Prio + states: + - name: Valid + test-code: | + ctx->config.initial_priority = 254; + text: | + The initial priority of the task configuration shall be valid. + - name: Zero + test-code: | + ctx->config.initial_priority = 0; + text: | + The initial priority of the task configuration shall be zero. + - name: Inv + test-code: | + ctx->config.initial_priority = 0xffffffff; + text: | + The initial priority of the task configuration shall be invalid. + test-epilogue: null + test-prologue: null +- name: Tasks + states: + - name: Avail + test-code: | + /* Nothing to do */ + text: | + There shall be at least one inactive task object available. + - name: None + test-code: | + create_extension_status = ctx->create_extension_status; + ctx->create_extension_status = true; + + while ( true ) { + rtems_status_code sc; + rtems_id id; + + sc = rtems_task_construct( &valid_task_config, &id ); + + if ( sc == RTEMS_SUCCESSFUL ) { + Objects_Control *obj; + const Objects_Information *info; + + info = _Objects_Get_information_id( id ); + T_quiet_assert_not_null( info ); + obj = _Objects_Get_no_protection( id, info ); + T_quiet_assert_not_null( obj ); + _Chain_Append_unprotected( &ctx->tasks, &obj->Node ); + } else { + T_quiet_rsc( sc, RTEMS_TOO_MANY ); + break; + } + } + + ctx->create_extension_status = create_extension_status; + text: | + There shall be no inactive task object available. + test-epilogue: null + test-prologue: | + bool create_extension_status; +- name: TLS + states: + - name: Enough + test-code: | + ctx->config.maximum_thread_local_storage_size = MAX_TLS_SIZE; + text: | + The maximum thread-local storage size of the task configuration shall be + greater than or equal to the thread-local storage size. + - name: Small + test-code: | + ctx->config.maximum_thread_local_storage_size = 0; + text: | + The maximum thread-local storage size of the task configuration shall be + less than the thread-local storage size. + test-epilogue: null + test-prologue: null +- name: Stack + states: + - name: Enough + test-code: | + ctx->stack_size = RTEMS_MINIMUM_STACK_SIZE; + text: | + The task stack size of the task configuration shall be greater than or + equal to the configured minimum size. + - name: Small + test-code: | + ctx->stack_size = 0; + text: | + The task stack size of the task configuration shall be less than to the + configured minimum size. + test-epilogue: null + test-prologue: null +- name: Ext + states: + - name: Ok + test-code: | + ctx->create_extension_status = true; + text: | + None of the task create extensions shall fail. + - name: Err + test-code: | + ctx->create_extension_status = false; + text: | + At least one of the task create extensions shall fail. + test-epilogue: null + test-prologue: null +- name: Preempt + states: + - name: 'Yes' + test-code: | + ctx->config.initial_modes &= ~RTEMS_PREEMPT_MASK; + ctx->config.initial_modes |= RTEMS_PREEMPT; + text: | + The preemptible mode in the initial modes of the task configuration shall + be set to preemptible. + - name: 'No' + test-code: | + ctx->config.initial_modes &= ~RTEMS_PREEMPT_MASK; + ctx->config.initial_modes |= RTEMS_NO_PREEMPT; + text: | + The preemptible mode in the initial modes of the task configuration shall + be set to non-preemptible. + test-epilogue: null + test-prologue: null +rationale: null +references: [] +requirement-type: functional +skip-reasons: {} +test-action: | + ctx->config.storage_size = RTEMS_TASK_STORAGE_SIZE( + ctx->config.maximum_thread_local_storage_size + ctx->stack_size, + ctx->config.attributes + ); + ctx->status = rtems_task_construct( &ctx->config, ctx->id ); +test-brief: null +test-cleanup: | + Chain_Node *node; + + while ( ( node = _Chain_Get_unprotected( &ctx->tasks ) ) ) { + Objects_Control *obj; + rtems_status_code sc; + + obj = (Objects_Control *) node; + sc = rtems_task_delete( obj->id ); + T_quiet_rsc_success( sc ); + } +test-context: +- brief: null + description: null + member: rtems_status_code status +- brief: null + description: null + member: rtems_task_config config +- brief: null + description: null + member: rtems_id *id +- brief: null + description: null + member: rtems_id id_value +- brief: null + description: null + member: bool create_extension_status +- brief: null + description: null + member: size_t stack_size +- brief: null + description: null + member: rtems_id extension_id +- brief: null + description: null + member: Chain_Control tasks +test-context-support: null +test-description: null +test-header: null +test-includes: +- rtems.h +- rtems/score/chainimpl.h +- rtems/score/objectimpl.h +- string.h +test-local-includes: [] +test-prepare: | + ctx->id_value = 0xffffffff; + memset( &ctx->config, 0, sizeof( ctx->config ) ); +test-setup: + brief: null + code: | + rtems_status_code sc; + int var; + + var = tls_variable; + RTEMS_OBFUSCATE_VARIABLE( var ); + tls_variable = var; + + sc = rtems_extension_create( + rtems_build_name( 'T', 'C', 'F', 'C' ), + &extensions, + &ctx->extension_id + ); + T_rsc_success( sc ); + + _Chain_Initialize_empty( &ctx->tasks ); + description: null +test-stop: null +test-support: | + static _Thread_local int tls_variable; + + #define MAX_TLS_SIZE RTEMS_ALIGN_UP( 128, RTEMS_TASK_STORAGE_ALIGNMENT ) + + RTEMS_ALIGNED( RTEMS_TASK_STORAGE_ALIGNMENT ) static char task_storage[ + RTEMS_TASK_STORAGE_SIZE( + MAX_TLS_SIZE + RTEMS_MINIMUM_STACK_SIZE, + RTEMS_FLOATING_POINT + ) + ]; + + static const rtems_task_config valid_task_config = { + .name = rtems_build_name( 'T', 'A', 'S', 'K' ), + .initial_priority = 1, + .storage_area = task_storage, + .storage_size = sizeof( task_storage ), + .maximum_thread_local_storage_size = MAX_TLS_SIZE, + .initial_modes = RTEMS_DEFAULT_MODES, + .attributes = RTEMS_DEFAULT_MODES + }; + + static bool ThreadCreate( rtems_tcb *executing, rtems_tcb *created ) + { + (void) executing; + (void) created; + + return RtemsTaskReqConstructErrors_Instance.create_extension_status; + } + + static const rtems_extensions_table extensions = { + .thread_create = ThreadCreate + }; +test-target: testsuites/validation/tc-task-construct-errors.c +test-teardown: + brief: null + code: | + rtems_status_code sc; + + sc = rtems_extension_delete( ctx->extension_id ); + T_rsc_success( sc ); + description: null +text: ${.:text-template} +transition-map: +- enabled-by: true + post-conditions: + Status: Ok + pre-conditions: + Id: + - Id + Name: + - Valid + Prio: + - Valid + Tasks: + - Avail + TLS: + - Enough + Stack: + - Enough + Ext: + - Ok + Preempt: all +- enabled-by: true + post-conditions: + Status: InvAddress + pre-conditions: + Id: + - 'Null' + Name: all + Prio: all + Tasks: all + TLS: all + Stack: all + Ext: all + Preempt: all +- enabled-by: true + post-conditions: + Status: InvName + pre-conditions: + Id: + - Id + Name: + - Inv + Prio: all + Tasks: all + TLS: all + Stack: all + Ext: all + Preempt: all +- enabled-by: true + post-conditions: + Status: InvPrio + pre-conditions: + Id: + - Id + Name: + - Valid + Prio: + - Zero + - Inv + Tasks: all + TLS: all + Stack: all + Ext: all + Preempt: all +- enabled-by: true + post-conditions: + Status: TooMany + pre-conditions: + Id: + - Id + Name: + - Valid + Prio: + - Valid + Tasks: + - None + TLS: all + Stack: all + Ext: all + Preempt: all +- enabled-by: true + post-conditions: + Status: InvSize + pre-conditions: + Id: + - Id + Name: + - Valid + Prio: + - Valid + Tasks: + - Avail + TLS: + - Small + Stack: all + Ext: all + Preempt: all +- enabled-by: true + post-conditions: + Status: InvSize + pre-conditions: + Id: + - Id + Name: + - Valid + Prio: + - Valid + Tasks: + - Avail + TLS: + - Enough + Stack: + - Small + Ext: all + Preempt: all +- enabled-by: true + post-conditions: + Status: Unsatisfied + pre-conditions: + Id: + - Id + Name: + - Valid + Prio: + - Valid + Tasks: + - Avail + TLS: + - Enough + Stack: + - Enough + Ext: + - Err + Preempt: all +- enabled-by: RTEMS_SMP + post-conditions: + Status: Unsatisfied + pre-conditions: + Id: + - Id + Name: + - Valid + Prio: + - Valid + Tasks: + - Avail + TLS: + - Enough + Stack: + - Enough + Ext: + - Ok + Preempt: + - 'No' +type: requirement diff --git a/spec/rtems/task/req/ident.yml b/spec/rtems/task/req/ident.yml new file mode 100644 index 00000000..0fbfd0dc --- /dev/null +++ b/spec/rtems/task/req/ident.yml @@ -0,0 +1,123 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: action +links: +- role: interface-function + uid: /rtems/task/if/ident +post-conditions: +- name: Post + states: + - name: OkAndSelfId + test-code: | + T_rsc(ctx->status, RTEMS_SUCCESSFUL); + T_eq_ptr(ctx->id, &ctx->id_value); + T_eq_u32(ctx->id_value, rtems_task_self()); + text: | + The status shall be RTEMS_SUCCESSFUL. The value of the object identifier + referenced by the id parameter shall be the identifier of the executing + thread. + - name: Generic + test-code: | + /* Checks performed by ${../req/ident:/test-run}() */ + text: | + The post-condition status shall be specified by ${../req/ident}. + test-epilogue: null + test-prologue: null +pre-conditions: +- name: Pre + states: + - name: Self + test-code: | + ctx->id_value = 0xffffffff; + ctx->id = &ctx->id_value; + text: | + The name parameter shall be RTEMS_SELF. + - name: Generic + test-code: | + ctx->id = NULL; + /* Preparation performed by ${../req/ident:/test-run}() */ + text: | + The pre-condition status shall be specified by ${../req/ident}. + test-epilogue: null + test-prologue: null +rationale: null +references: [] +requirement-type: functional +skip-reasons: {} +test-action: | + if ( ctx->id != NULL ) { + ctx->status = rtems_task_ident( RTEMS_SELF, 0xdeadbeef, ctx->id ); + } else { + ${../req/ident:/test-run}( + ctx->id_local_object, + ClassicTaskIdentAction + ); + } +test-brief: null +test-cleanup: null +test-context: +- brief: null + description: null + member: rtems_status_code status +- brief: null + description: null + member: rtems_id *id +- brief: null + description: null + member: rtems_id id_value +- brief: null + description: null + member: rtems_id id_local_object +test-context-support: null +test-description: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident.h +test-prepare: null +test-setup: + brief: null + code: | + static char task_storage[ RTEMS_MINIMUM_STACK_SIZE ]; + static const rtems_task_config task_config = { + .name = ClassicObjectIdentName, + .initial_priority = 1, + .storage_area = task_storage, + .storage_size = sizeof( task_storage ), + .initial_modes = RTEMS_DEFAULT_MODES, + .attributes = RTEMS_DEFAULT_ATTRIBUTES + }; + rtems_status_code sc; + + sc = rtems_task_build( &task_config, &ctx->id_local_object ); + T_assert_rsc_success( sc ); + description: null +test-stop: null +test-support: | + static rtems_status_code ClassicTaskIdentAction( + rtems_name name, + uint32_t node, + rtems_id *id + ) + { + return rtems_task_ident( name, node, id ); + } +test-target: testsuites/validation/tc-task-ident.c +test-teardown: null +text: ${.:text-template} +transition-map: +- enabled-by: true + post-conditions: + Post: OkAndSelfId + pre-conditions: + Pre: + - Self +- enabled-by: true + post-conditions: + Post: Generic + pre-conditions: + Pre: + - Generic +type: requirement diff --git a/spec/rtems/timer/if/cancel.yml b/spec/rtems/timer/if/cancel.yml new file mode 100644 index 00000000..0d34be46 --- /dev/null +++ b/spec/rtems/timer/if/cancel.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_cancel +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/timer/class-bit-not-dormant.yml b/spec/rtems/timer/if/class-bit-not-dormant.yml index 9c955b73..9c955b73 100644 --- a/spec/if/rtems/timer/class-bit-not-dormant.yml +++ b/spec/rtems/timer/if/class-bit-not-dormant.yml diff --git a/spec/if/rtems/timer/class-bit-on-task.yml b/spec/rtems/timer/if/class-bit-on-task.yml index 04a206eb..04a206eb 100644 --- a/spec/if/rtems/timer/class-bit-on-task.yml +++ b/spec/rtems/timer/if/class-bit-on-task.yml diff --git a/spec/if/rtems/timer/class-bit-time-of-day.yml b/spec/rtems/timer/if/class-bit-time-of-day.yml index 9bd0d9d0..9bd0d9d0 100644 --- a/spec/if/rtems/timer/class-bit-time-of-day.yml +++ b/spec/rtems/timer/if/class-bit-time-of-day.yml diff --git a/spec/if/rtems/timer/classes.yml b/spec/rtems/timer/if/classes.yml index 15339559..15339559 100644 --- a/spec/if/rtems/timer/classes.yml +++ b/spec/rtems/timer/if/classes.yml diff --git a/spec/rtems/timer/if/create.yml b/spec/rtems/timer/if/create.yml new file mode 100644 index 00000000..eefb8ea9 --- /dev/null +++ b/spec/rtems/timer/if/create.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/timer/if/delete.yml b/spec/rtems/timer/if/delete.yml new file mode 100644 index 00000000..e8cbeda8 --- /dev/null +++ b/spec/rtems/timer/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/timer/dormant.yml b/spec/rtems/timer/if/dormant.yml index 332c48d7..332c48d7 100644 --- a/spec/if/rtems/timer/dormant.yml +++ b/spec/rtems/timer/if/dormant.yml diff --git a/spec/rtems/timer/if/fire-after.yml b/spec/rtems/timer/if/fire-after.yml new file mode 100644 index 00000000..fba01068 --- /dev/null +++ b/spec/rtems/timer/if/fire-after.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/interval:/name} ${.:/params[1]/name} + - ${service-routine-entry:/name} ${.:/params[2]/name} + - void *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_fire_after +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: ticks +- description: '%' + dir: null + name: routine +- description: '%' + dir: null + name: user_data +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/timer/if/fire-when.yml b/spec/rtems/timer/if/fire-when.yml new file mode 100644 index 00000000..d654ba60 --- /dev/null +++ b/spec/rtems/timer/if/fire-when.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/time-of-day:/name} *${.:/params[1]/name} + - ${service-routine-entry:/name} ${.:/params[2]/name} + - void *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_fire_when +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: wall_time +- description: '%' + dir: null + name: routine +- description: '%' + dir: null + name: user_data +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/timer/if/get-information.yml b/spec/rtems/timer/if/get-information.yml new file mode 100644 index 00000000..8568c490 --- /dev/null +++ b/spec/rtems/timer/if/get-information.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${information:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_get_information +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: the_info +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/timer/if/group.yml b/spec/rtems/timer/if/group.yml new file mode 100644 index 00000000..b805e1f9 --- /dev/null +++ b/spec/rtems/timer/if/group.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The Timer Manager provides support for timer facilities. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicTimer +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Timer Manager +text: | + The Classic API shall provide an interface to the Timer Manager. +type: interface diff --git a/spec/rtems/timer/if/header.yml b/spec/rtems/timer/if/header.yml new file mode 100644 index 00000000..ed157f2e --- /dev/null +++ b/spec/rtems/timer/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the Timer Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/rtems/timer.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/timer/if/ident.yml b/spec/rtems/timer/if/ident.yml new file mode 100644 index 00000000..5796c890 --- /dev/null +++ b/spec/rtems/timer/if/ident.yml @@ -0,0 +1,59 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a timer object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the timer identifier associated with the timer name + specified in ``${.:/params[0]/name}``. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_ident +notes: | + If the timer name is not unique, then the timer identifier will match the + first timer with that name in the search order. However, this timer + identifier is not guaranteed to correspond to the desired timer. The timer + identifier is used with other timer related directives to access the timer. + + The objects are searched from lowest to the highest index. Only the local + node is searched. +params: +- description: is the object name to look up. + dir: null + name: name +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the local node. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/rtems/timer/if/information.yml b/spec/rtems/timer/if/information.yml new file mode 100644 index 00000000..69db1665 --- /dev/null +++ b/spec/rtems/timer/if/information.yml @@ -0,0 +1,50 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: +- default: + brief: | + This member is + definition: ${classes:/name} ${.:name} + description: '%' + kind: member + name: the_class + variants: [] +- default: + brief: | + This member is + definition: ${/score/watchdog/if/interval:/name} ${.:name} + description: '%' + kind: member + name: initial + variants: [] +- default: + brief: | + This member is + definition: ${/score/watchdog/if/interval:/name} ${.:name} + description: '%' + kind: member + name: start_time + variants: [] +- default: + brief: | + This member is + definition: ${/score/watchdog/if/interval:/name} ${.:name} + description: '%' + kind: member + name: stop_time + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_information +notes: null +type: interface diff --git a/spec/rtems/timer/if/initiate-server.yml b/spec/rtems/timer/if/initiate-server.yml new file mode 100644 index 00000000..3d5512de --- /dev/null +++ b/spec/rtems/timer/if/initiate-server.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../task/if/priority:/name} ${.:/params[0]/name} + - ${/c/if/size_t:/name} ${.:/params[1]/name} + - ${../../attr/if/attribute:/name} ${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_initiate_server +notes: null +params: +- description: '%' + dir: null + name: priority +- description: '%' + dir: null + name: stack_size +- description: '%' + dir: null + name: attribute_set +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/timer/interval-on-task.yml b/spec/rtems/timer/if/interval-on-task.yml index ca246210..ca246210 100644 --- a/spec/if/rtems/timer/interval-on-task.yml +++ b/spec/rtems/timer/if/interval-on-task.yml diff --git a/spec/if/rtems/timer/interval.yml b/spec/rtems/timer/if/interval.yml index 1d6507c8..1d6507c8 100644 --- a/spec/if/rtems/timer/interval.yml +++ b/spec/rtems/timer/if/interval.yml diff --git a/spec/rtems/timer/if/reset.yml b/spec/rtems/timer/if/reset.yml new file mode 100644 index 00000000..1abd2c17 --- /dev/null +++ b/spec/rtems/timer/if/reset.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_reset +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/timer/if/server-default-priority.yml b/spec/rtems/timer/if/server-default-priority.yml new file mode 100644 index 00000000..896d0db6 --- /dev/null +++ b/spec/rtems/timer/if/server-default-priority.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ( (${../../task/if/priority:/name}) -1 ) + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_TIMER_SERVER_DEFAULT_PRIORITY +notes: null +type: interface diff --git a/spec/rtems/timer/if/server-fire-after.yml b/spec/rtems/timer/if/server-fire-after.yml new file mode 100644 index 00000000..20f6704c --- /dev/null +++ b/spec/rtems/timer/if/server-fire-after.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/interval:/name} ${.:/params[1]/name} + - ${service-routine-entry:/name} ${.:/params[2]/name} + - void *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_server_fire_after +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: ticks +- description: '%' + dir: null + name: routine +- description: '%' + dir: null + name: user_data +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/timer/if/server-fire-when.yml b/spec/rtems/timer/if/server-fire-when.yml new file mode 100644 index 00000000..fd7b20cd --- /dev/null +++ b/spec/rtems/timer/if/server-fire-when.yml @@ -0,0 +1,42 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + - ${../../type/if/time-of-day:/name} *${.:/params[1]/name} + - ${service-routine-entry:/name} ${.:/params[2]/name} + - void *${.:/params[3]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_server_fire_when +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: wall_time +- description: '%' + dir: null + name: routine +- description: '%' + dir: null + name: user_data +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/timer/if/service-routine-entry.yml b/spec/rtems/timer/if/service-routine-entry.yml new file mode 100644 index 00000000..d8f767e1 --- /dev/null +++ b/spec/rtems/timer/if/service-routine-entry.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ${service-routine:/name} ( *${.:/name} )( ${../../type/if/id:/name}, void * ) + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_timer_service_routine_entry +notes: null +type: interface diff --git a/spec/if/rtems/timer/service-routine.yml b/spec/rtems/timer/if/service-routine.yml index 61e6db56..61e6db56 100644 --- a/spec/if/rtems/timer/service-routine.yml +++ b/spec/rtems/timer/if/service-routine.yml diff --git a/spec/if/rtems/timer/time-of-day-on-task.yml b/spec/rtems/timer/if/time-of-day-on-task.yml index 37340cae..37340cae 100644 --- a/spec/if/rtems/timer/time-of-day-on-task.yml +++ b/spec/rtems/timer/if/time-of-day-on-task.yml diff --git a/spec/if/rtems/timer/time-of-day.yml b/spec/rtems/timer/if/time-of-day.yml index e0d81840..e0d81840 100644 --- a/spec/if/rtems/timer/time-of-day.yml +++ b/spec/rtems/timer/if/time-of-day.yml diff --git a/spec/rtems/timer/req/ident.yml b/spec/rtems/timer/req/ident.yml new file mode 100644 index 00000000..6acdaec8 --- /dev/null +++ b/spec/rtems/timer/req/ident.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/ident +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/ident:/name} directive shall identify an Classic API + timer class object by its name as specified by ${../req/ident-local}. +type: requirement diff --git a/spec/rtems/timer/val/ident.yml b/spec/rtems/timer/val/ident.yml new file mode 100644 index 00000000..dd174cd1 --- /dev/null +++ b/spec/rtems/timer/val/ident.yml @@ -0,0 +1,45 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/ident +test-actions: +- action: | + ${../../req/ident-local:/test-run}( + id_local_object, + ClassicTimerIdentAction + ); + checks: [] + description: | + Run the generic object identification tests for Classic API timer class + objects defined by ${../../req/ident-local}. + links: [] +test-brief: Test the ${../if/ident:/name} directive. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident-local.h +test-prologue: | + rtems_status_code sc; + rtems_id id_local_object; + + sc = rtems_timer_create( + ClassicObjectLocalIdentName, + &id_local_object + ); + T_assert_rsc_success( sc ); +test-support: | + static rtems_status_code ClassicTimerIdentAction( + rtems_name name, + rtems_id *id + ) + { + return rtems_timer_ident( name, id ); + } +test-target: testsuites/validation/tc-timer-ident.c +type: test-case diff --git a/spec/rtems/type/if/group.yml b/spec/rtems/type/if/group.yml new file mode 100644 index 00000000..3565268c --- /dev/null +++ b/spec/rtems/type/if/group.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains basic types of the Classic API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSAPIClassicTypes +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: Basic Types +text: | + The Classic API shall provide an interface to basic types. +type: interface diff --git a/spec/rtems/type/if/header.yml b/spec/rtems/type/if/header.yml new file mode 100644 index 00000000..c7427c74 --- /dev/null +++ b/spec/rtems/type/if/header.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines types provided by the API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- enabled-by: true + role: interface-include + uid: /c/if/sys-cpuset +- enabled-by: true + role: interface-include + uid: /c/if/sys-impl-timespec +- enabled-by: true + role: interface-include + uid: /c/if/sys-impl-timeval +- enabled-by: true + role: interface-include + uid: ../../mode/if/header +- enabled-by: RTEMS_MULTIPROCESSING + role: interface-include + uid: /score/mpci/if/header +- role: interface-placement + uid: /if/domain +path: rtems/rtems/types.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/type/if/id-none.yml b/spec/rtems/type/if/id-none.yml new file mode 100644 index 00000000..30f7e94e --- /dev/null +++ b/spec/rtems/type/if/id-none.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This is an invalid object identifier. +copyrights: +- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/object/if/id-none:/name} + variants: [] +description: | + No object can have this identifier. +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_ID_NONE +notes: null +type: interface diff --git a/spec/rtems/type/if/id.yml b/spec/rtems/type/if/id.yml new file mode 100644 index 00000000..f342a3d7 --- /dev/null +++ b/spec/rtems/type/if/id.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Values of this type identify an object. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/object/if/id:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_id +notes: null +type: interface diff --git a/spec/rtems/type/if/interval.yml b/spec/rtems/type/if/interval.yml new file mode 100644 index 00000000..2b334adb --- /dev/null +++ b/spec/rtems/type/if/interval.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type is used to represent clock tick intervals. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/watchdog/if/interval:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_interval +notes: null +type: interface diff --git a/spec/rtems/type/if/minimum-packet-size.yml b/spec/rtems/type/if/minimum-packet-size.yml new file mode 100644 index 00000000..5e1d9db1 --- /dev/null +++ b/spec/rtems/type/if/minimum-packet-size.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/mpci/if/packet-minimum-size:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_MINIMUM_PACKET_SIZE +notes: null +type: interface diff --git a/spec/rtems/type/if/minimun-hetero-conversion.yml b/spec/rtems/type/if/minimun-hetero-conversion.yml new file mode 100644 index 00000000..6803a410 --- /dev/null +++ b/spec/rtems/type/if/minimun-hetero-conversion.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/mpci/if/packet-minimum-hetero-conversion:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_MINIMUN_HETERO_CONVERSION +notes: null +type: interface diff --git a/spec/rtems/type/if/mp-packet-classes.yml b/spec/rtems/type/if/mp-packet-classes.yml new file mode 100644 index 00000000..7ec13fd9 --- /dev/null +++ b/spec/rtems/type/if/mp-packet-classes.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This enumerated type defines the packet classes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/mpci/if/packet-classes:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mp_packet_classes +notes: null +type: interface diff --git a/spec/if/rtems/types/mpci-entry.yml b/spec/rtems/type/if/mpci-entry.yml index 79c8119e..79c8119e 100644 --- a/spec/if/rtems/types/mpci-entry.yml +++ b/spec/rtems/type/if/mpci-entry.yml diff --git a/spec/rtems/type/if/mpci-get-packet-entry.yml b/spec/rtems/type/if/mpci-get-packet-entry.yml new file mode 100644 index 00000000..d99a623b --- /dev/null +++ b/spec/rtems/type/if/mpci-get-packet-entry.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the prototype for the get packet entry point in an MPCI. +copyrights: +- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/mpci/if/get-packet-entry:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mpci_get_packet_entry +notes: null +type: interface diff --git a/spec/rtems/type/if/mpci-initialization-entry.yml b/spec/rtems/type/if/mpci-initialization-entry.yml new file mode 100644 index 00000000..f7ee9800 --- /dev/null +++ b/spec/rtems/type/if/mpci-initialization-entry.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the prototype for the initialization entry point in an + MPCI. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/mpci/if/initialization-entry:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mpci_initialization_entry +notes: null +type: interface diff --git a/spec/rtems/type/if/mpci-receive-packet-entry.yml b/spec/rtems/type/if/mpci-receive-packet-entry.yml new file mode 100644 index 00000000..45f72515 --- /dev/null +++ b/spec/rtems/type/if/mpci-receive-packet-entry.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the prototype for the receive packet entry point in an + MPCI. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/mpci/if/receive-entry:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mpci_receive_packet_entry +notes: null +type: interface diff --git a/spec/rtems/type/if/mpci-return-packet-entry.yml b/spec/rtems/type/if/mpci-return-packet-entry.yml new file mode 100644 index 00000000..028f7f36 --- /dev/null +++ b/spec/rtems/type/if/mpci-return-packet-entry.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the prototype for the return packet entry point in an MPCI. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2006 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/mpci/if/return-packet-entry:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mpci_return_packet_entry +notes: null +type: interface diff --git a/spec/rtems/type/if/mpci-send-packet-entry.yml b/spec/rtems/type/if/mpci-send-packet-entry.yml new file mode 100644 index 00000000..56b8db12 --- /dev/null +++ b/spec/rtems/type/if/mpci-send-packet-entry.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the prototype for the send packet entry point in an MPCI. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/mpci/if/send-entry:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mpci_send_packet_entry +notes: null +type: interface diff --git a/spec/rtems/type/if/mpci-table.yml b/spec/rtems/type/if/mpci-table.yml new file mode 100644 index 00000000..3828d040 --- /dev/null +++ b/spec/rtems/type/if/mpci-table.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the MPCI control. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/mpci/if/control:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_mpci_table +notes: null +type: interface diff --git a/spec/rtems/type/if/multiprocessing-table.yml b/spec/rtems/type/if/multiprocessing-table.yml new file mode 100644 index 00000000..b22cba4a --- /dev/null +++ b/spec/rtems/type/if/multiprocessing-table.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the MPCI configuration table. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/mpci/if/configuration-type:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_multiprocessing_table +notes: null +type: interface diff --git a/spec/rtems/type/if/name.yml b/spec/rtems/type/if/name.yml new file mode 100644 index 00000000..e55d9ee2 --- /dev/null +++ b/spec/rtems/type/if/name.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type is used to represent an Classic API object name. +copyrights: +- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/c/if/uint32_t:/name} rtems_name + variants: [] +description: | + It is an unsigned 32-bit integer which can be treated as a numeric value or + initialized using rtems_build_name() to encode four ASCII characters. A + value of zero may have a special meaning in some directives. +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_name +notes: null +type: interface diff --git a/spec/rtems/type/if/no-timeout.yml b/spec/rtems/type/if/no-timeout.yml new file mode 100644 index 00000000..9e5ff7bf --- /dev/null +++ b/spec/rtems/type/if/no-timeout.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: | + ( (${interval:/name}) ${/score/watchdog/if/no-timeout:/name} ) + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: RTEMS_NO_TIMEOUT +notes: null +type: interface diff --git a/spec/rtems/type/if/packet-prefix.yml b/spec/rtems/type/if/packet-prefix.yml new file mode 100644 index 00000000..a58591bc --- /dev/null +++ b/spec/rtems/type/if/packet-prefix.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the prefix found at the beginning of each MPCI packet sent + between nodes. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/score/mpci/if/packet-prefix:/name} ${.:/name} + variants: [] +description: null +enabled-by: RTEMS_MULTIPROCESSING +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_packet_prefix +notes: null +type: interface diff --git a/spec/rtems/type/if/time-of-day.yml b/spec/rtems/type/if/time-of-day.yml new file mode 100644 index 00000000..5fb8f8c0 --- /dev/null +++ b/spec/rtems/type/if/time-of-day.yml @@ -0,0 +1,75 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type is used to represent the calendar time in the Classic API. +copyrights: +- Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: +- default: + brief: | + This member represents the year A.D. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: year + variants: [] +- default: + brief: | + This member represents the month of the year with values from 1 to 12. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: month + variants: [] +- default: + brief: | + This member represents the day of the month with values from 1 to 31. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: day + variants: [] +- default: + brief: | + This member represents the hour of the day with values from 0 to 23. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: hour + variants: [] +- default: + brief: | + This member represents the minute of the hour with values from 0 to 59. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: minute + variants: [] +- default: + brief: | + This member represents the second of the minute with values from 0 to 59. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: second + variants: [] +- default: + brief: | + This member represents the clock tick of the second with values from 0 to + rtems_clock_get_ticks_per_second() minus one. + definition: ${/c/if/uint32_t:/name} ${.:name} + description: null + kind: member + name: ticks + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_time_of_day +notes: null +type: interface diff --git a/spec/rtems/userext/if/create.yml b/spec/rtems/userext/if/create.yml new file mode 100644 index 00000000..eba97468 --- /dev/null +++ b/spec/rtems/userext/if/create.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - const ${table:/name} *${.:/params[1]/name} + - ${../../type/if/id:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_extension_create +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: extension_table +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/userext/if/delete.yml b/spec/rtems/userext/if/delete.yml new file mode 100644 index 00000000..0cf4ebe6 --- /dev/null +++ b/spec/rtems/userext/if/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/id:/name} ${.:/params[0]/name} + return: ${../../status/if/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_extension_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/rtems/userext/if/fatal-code.yml b/spec/rtems/userext/if/fatal-code.yml new file mode 100644 index 00000000..73154766 --- /dev/null +++ b/spec/rtems/userext/if/fatal-code.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/interr/if/code:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_fatal_code +notes: null +type: interface diff --git a/spec/rtems/userext/if/fatal-source.yml b/spec/rtems/userext/if/fatal-source.yml new file mode 100644 index 00000000..de9b7d50 --- /dev/null +++ b/spec/rtems/userext/if/fatal-source.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/interr/if/source:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_fatal_source +notes: null +type: interface diff --git a/spec/rtems/userext/if/fatal.yml b/spec/rtems/userext/if/fatal.yml new file mode 100644 index 00000000..2a96440d --- /dev/null +++ b/spec/rtems/userext/if/fatal.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/fatal:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_fatal_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/group.yml b/spec/rtems/userext/if/group.yml new file mode 100644 index 00000000..7b984f0f --- /dev/null +++ b/spec/rtems/userext/if/group.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + The User Extensions Manager allows the application developer to augment the + executive by allowing them to supply extension routines which are invoked at + critical system events. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +description: null +enabled-by: true +identifier: RTEMSAPIClassicUserext +interface-type: group +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: ../../if/group +name: User Extensions Manager +text: | + The Classic API shall provide an interface to the User Extensions Manager. +type: interface diff --git a/spec/rtems/userext/if/header.yml b/spec/rtems/userext/if/header.yml new file mode 100644 index 00000000..dcbfeddf --- /dev/null +++ b/spec/rtems/userext/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the User Extensions Manager API. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: /if/domain +path: rtems/extension.h +prefix: cpukit/include +type: interface diff --git a/spec/rtems/userext/if/ident.yml b/spec/rtems/userext/if/ident.yml new file mode 100644 index 00000000..1aba865c --- /dev/null +++ b/spec/rtems/userext/if/ident.yml @@ -0,0 +1,60 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies an extension set object by the specified object name. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../../type/if/name:/name} ${.:/params[0]/name} + - ${../../type/if/id:/name} *${.:/params[1]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + This directive obtains the extension set identifier associated with the + extension set name specified in ``${.:/params[0]/name}``. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_extension_ident +notes: | + If the extension set name is not unique, then the extension set identifier + will match the first extension set with that name in the search order. + However, this extension set identifier is not guaranteed to correspond to the + desired extension set. The extension set identifier is used with other + extension related directives to access the extension set. + + The objects are searched from lowest to the highest index. Only the local + node is searched. +params: +- description: is the object name to look up. + dir: null + name: name +- description: | + is the pointer to an object identifier variable. The object identifier of + an object with the specified name will be stored in this variable, in case + of a successful operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[0]/name} parameter was 0. + value: ${../../status/if/invalid-name:/name} + - description: | + There was no object with the specified name on the local node. + value: ${../../status/if/invalid-name:/name} +type: interface diff --git a/spec/rtems/userext/if/table.yml b/spec/rtems/userext/if/table.yml new file mode 100644 index 00000000..e66455b3 --- /dev/null +++ b/spec/rtems/userext/if/table.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/table:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_extensions_table +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-begin.yml b/spec/rtems/userext/if/task-begin.yml new file mode 100644 index 00000000..9b5edb09 --- /dev/null +++ b/spec/rtems/userext/if/task-begin.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-begin:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_begin_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-create.yml b/spec/rtems/userext/if/task-create.yml new file mode 100644 index 00000000..047b5419 --- /dev/null +++ b/spec/rtems/userext/if/task-create.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-create:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_create_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-delete.yml b/spec/rtems/userext/if/task-delete.yml new file mode 100644 index 00000000..ab271633 --- /dev/null +++ b/spec/rtems/userext/if/task-delete.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-delete:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_delete_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-exitted.yml b/spec/rtems/userext/if/task-exitted.yml new file mode 100644 index 00000000..53e60024 --- /dev/null +++ b/spec/rtems/userext/if/task-exitted.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-exitted:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_exitted_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-restart.yml b/spec/rtems/userext/if/task-restart.yml new file mode 100644 index 00000000..22cd9686 --- /dev/null +++ b/spec/rtems/userext/if/task-restart.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-restart:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_restart_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-start.yml b/spec/rtems/userext/if/task-start.yml new file mode 100644 index 00000000..789098e0 --- /dev/null +++ b/spec/rtems/userext/if/task-start.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-start:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_start_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-switch.yml b/spec/rtems/userext/if/task-switch.yml new file mode 100644 index 00000000..c52d72d4 --- /dev/null +++ b/spec/rtems/userext/if/task-switch.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-switch:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_switch_extension +notes: null +type: interface diff --git a/spec/rtems/userext/if/task-terminate.yml b/spec/rtems/userext/if/task-terminate.yml new file mode 100644 index 00000000..5537ec5f --- /dev/null +++ b/spec/rtems/userext/if/task-terminate.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/score/userext/if/thread-terminate:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: group +name: rtems_task_terminate_extension +notes: null +type: interface diff --git a/spec/rtems/userext/req/ident.yml b/spec/rtems/userext/req/ident.yml new file mode 100644 index 00000000..272af224 --- /dev/null +++ b/spec/rtems/userext/req/ident.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +functional-type: function +links: +- role: interface-function + uid: ../if/ident +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/ident:/name} directive shall identify an Classic API + user extension class object by its name as specified by ${../req/ident-local}. +type: requirement diff --git a/spec/rtems/userext/val/ident.yml b/spec/rtems/userext/val/ident.yml new file mode 100644 index 00000000..e25374ed --- /dev/null +++ b/spec/rtems/userext/val/ident.yml @@ -0,0 +1,47 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/ident +test-actions: +- action: | + ${../../req/ident-local:/test-run}( + id_local_object, + ClassicUserExtIdentAction + ); + checks: [] + description: | + Run the generic object identification tests for Classic API user extension + class objects defined by ${../../req/ident-local}. + links: [] +test-brief: Test the ${../if/ident:/name} directive. +test-description: null +test-epilogue: null +test-fixture: null +test-header: null +test-includes: [] +test-local-includes: +- tr-object-ident-local.h +test-prologue: | + static const rtems_extensions_table table; + rtems_status_code sc; + rtems_id id_local_object; + + sc = rtems_extension_create( + ClassicObjectLocalIdentName, + &table, + &id_local_object + ); + T_assert_rsc_success( sc ); +test-support: | + static rtems_status_code ClassicUserExtIdentAction( + rtems_name name, + rtems_id *id + ) + { + return rtems_extension_ident( name, id ); + } +test-target: testsuites/validation/tc-userext-ident.c +type: test-case diff --git a/spec/if/impl/context/fp-size.yml b/spec/score/context/if/fp-size.yml index 04a897f4..04a897f4 100644 --- a/spec/if/impl/context/fp-size.yml +++ b/spec/score/context/if/fp-size.yml diff --git a/spec/score/context/if/header.yml b/spec/score/context/if/header.yml new file mode 100644 index 00000000..7ed0f7cd --- /dev/null +++ b/spec/score/context/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the Stack Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/context.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/cpu/all-tasks-are-fp.yml b/spec/score/cpu/if/all-tasks-are-fp.yml index 77a9ce1c..77a9ce1c 100644 --- a/spec/if/impl/cpu/all-tasks-are-fp.yml +++ b/spec/score/cpu/if/all-tasks-are-fp.yml diff --git a/spec/if/impl/cpu/exception-frame-print.yml b/spec/score/cpu/if/exception-frame-print.yml index 7dfe6995..7dfe6995 100644 --- a/spec/if/impl/cpu/exception-frame-print.yml +++ b/spec/score/cpu/if/exception-frame-print.yml diff --git a/spec/if/impl/cpu/exception-frame.yml b/spec/score/cpu/if/exception-frame.yml index de397ca1..de397ca1 100644 --- a/spec/if/impl/cpu/exception-frame.yml +++ b/spec/score/cpu/if/exception-frame.yml diff --git a/spec/if/impl/cpu/hardware-fp.yml b/spec/score/cpu/if/hardware-fp.yml index 3f865622..3f865622 100644 --- a/spec/if/impl/cpu/hardware-fp.yml +++ b/spec/score/cpu/if/hardware-fp.yml diff --git a/spec/score/cpu/if/header.yml b/spec/score/cpu/if/header.yml new file mode 100644 index 00000000..48a5df3a --- /dev/null +++ b/spec/score/cpu/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the CPU port. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/cpu.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/cpu/heap-alignment.yml b/spec/score/cpu/if/heap-alignment.yml index 2f09e1d4..2f09e1d4 100644 --- a/spec/if/impl/cpu/heap-alignment.yml +++ b/spec/score/cpu/if/heap-alignment.yml diff --git a/spec/if/impl/cpu/interrupt-frame.yml b/spec/score/cpu/if/interrupt-frame.yml index 5c8e5b86..5c8e5b86 100644 --- a/spec/if/impl/cpu/interrupt-frame.yml +++ b/spec/score/cpu/if/interrupt-frame.yml diff --git a/spec/if/impl/cpu/interrupt-stack-alignment.yml b/spec/score/cpu/if/interrupt-stack-alignment.yml index fea5cca5..fea5cca5 100644 --- a/spec/if/impl/cpu/interrupt-stack-alignment.yml +++ b/spec/score/cpu/if/interrupt-stack-alignment.yml diff --git a/spec/if/impl/cpu/isr-passes-frame-pointer.yml b/spec/score/cpu/if/isr-passes-frame-pointer.yml index 1a6400e1..1a6400e1 100644 --- a/spec/if/impl/cpu/isr-passes-frame-pointer.yml +++ b/spec/score/cpu/if/isr-passes-frame-pointer.yml diff --git a/spec/if/impl/cpu/maximum-processors.yml b/spec/score/cpu/if/maximum-processors.yml index 5ea0d121..5ea0d121 100644 --- a/spec/if/impl/cpu/maximum-processors.yml +++ b/spec/score/cpu/if/maximum-processors.yml diff --git a/spec/if/impl/cpu/modes-interrupt-mask.yml b/spec/score/cpu/if/modes-interrupt-mask.yml index fb6a3e40..fb6a3e40 100644 --- a/spec/if/impl/cpu/modes-interrupt-mask.yml +++ b/spec/score/cpu/if/modes-interrupt-mask.yml diff --git a/spec/if/impl/cpu/simple-vectored-interrupts.yml b/spec/score/cpu/if/simple-vectored-interrupts.yml index 54e5c2e8..54e5c2e8 100644 --- a/spec/if/impl/cpu/simple-vectored-interrupts.yml +++ b/spec/score/cpu/if/simple-vectored-interrupts.yml diff --git a/spec/if/impl/cpu/stack-minimum-size.yml b/spec/score/cpu/if/stack-minimum-size.yml index 4085d468..4085d468 100644 --- a/spec/if/impl/cpu/stack-minimum-size.yml +++ b/spec/score/cpu/if/stack-minimum-size.yml diff --git a/spec/if/impl/cpu/uint32ptr.yml b/spec/score/cpu/if/uint32ptr.yml index 5458ebf4..5458ebf4 100644 --- a/spec/if/impl/cpu/uint32ptr.yml +++ b/spec/score/cpu/if/uint32ptr.yml diff --git a/spec/score/heap/if/header.yml b/spec/score/heap/if/header.yml new file mode 100644 index 00000000..3b035d61 --- /dev/null +++ b/spec/score/heap/if/header.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file defines interfaces of the Heap Handler which provide + information of a heap. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/heapinfo.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/heap/information-block.yml b/spec/score/heap/if/information-block.yml index 50ecc15d..50ecc15d 100644 --- a/spec/if/impl/heap/information-block.yml +++ b/spec/score/heap/if/information-block.yml diff --git a/spec/score/if/assert-unreachable.yml b/spec/score/if/assert-unreachable.yml new file mode 100644 index 00000000..849ddf23 --- /dev/null +++ b/spec/score/if/assert-unreachable.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Asserts that this program point is unreachable. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: | + do { } while ( 0 ) + variants: + - definition: | + _Assert( 0 ) + enabled-by: + - defined(${/build-options/if/debug:/name}) +description: null +enabled-by: true +interface-type: macro +links: +- role: interface-placement + uid: /rtems/basedefs/if/header +name: _Assert_Unreachable +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/score/if/dequalify-types-not-compatible.yml b/spec/score/if/dequalify-types-not-compatible.yml new file mode 100644 index 00000000..7d516a3f --- /dev/null +++ b/spec/score/if/dequalify-types-not-compatible.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + A not implemented function to trigger compile time errors with an error + message. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2014 Paval Pisa +definition: + default: + body: null + params: [] + return: void * + variants: + - definition: + body: null + params: [] + return: __attribute__((__error__("RTEMS_DEQUALIFY() types differ not only by + volatile and const"))) void * + enabled-by: + - defined(${/compiler/if/gnuc:/name}) +description: null +enabled-by: + not: ASM +interface-type: function +links: +- role: interface-placement + uid: /rtems/basedefs/if/header +name: RTEMS_DEQUALIFY_types_not_compatible +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/domains/implementation.yml b/spec/score/if/domain.yml index eebf7f4c..eebf7f4c 100644 --- a/spec/if/domains/implementation.yml +++ b/spec/score/if/domain.yml diff --git a/spec/score/if/maximum-priority.yml b/spec/score/if/maximum-priority.yml new file mode 100644 index 00000000..a2f119d6 --- /dev/null +++ b/spec/score/if/maximum-priority.yml @@ -0,0 +1,24 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Returns the maximum priority of the scheduler with index zero. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: [] + return: ${/rtems/task/if/priority:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: /rtems/task/if/header +name: _RTEMS_Maximum_priority +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/score/if/tod-to-seconds.yml b/spec/score/if/tod-to-seconds.yml new file mode 100644 index 00000000..ae32a2e0 --- /dev/null +++ b/spec/score/if/tod-to-seconds.yml @@ -0,0 +1,28 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const ${/rtems/type/if/time-of-day:/name} *${.:/params[0]/name} + return: ${../watchdog/if/interval:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: /rtems/clock/if/header +name: _TOD_To_seconds +notes: null +params: +- description: '%' + dir: null + name: the_tod +return: + return: null + return-values: [] +type: interface diff --git a/spec/score/if/tod-validate.yml b/spec/score/if/tod-validate.yml new file mode 100644 index 00000000..aa3f6c42 --- /dev/null +++ b/spec/score/if/tod-validate.yml @@ -0,0 +1,28 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - const ${/rtems/type/if/time-of-day:/name} *${.:/params[0]/name} + return: ${/c/if/bool:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: /rtems/clock/if/header +name: _TOD_Validate +notes: null +params: +- description: '%' + dir: null + name: the_tod +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/impl/interr/code.yml b/spec/score/interr/if/code.yml index b380b929..b380b929 100644 --- a/spec/if/impl/interr/code.yml +++ b/spec/score/interr/if/code.yml diff --git a/spec/score/interr/if/header.yml b/spec/score/interr/if/header.yml new file mode 100644 index 00000000..14bca2d4 --- /dev/null +++ b/spec/score/interr/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the interfaces of the Fatal Error Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/interr.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/interr/source.yml b/spec/score/interr/if/source.yml index 4cc02d33..4cc02d33 100644 --- a/spec/if/impl/interr/source.yml +++ b/spec/score/interr/if/source.yml diff --git a/spec/if/impl/interr/terminate.yml b/spec/score/interr/if/terminate.yml index c6ff042f..c6ff042f 100644 --- a/spec/if/impl/interr/terminate.yml +++ b/spec/score/interr/if/terminate.yml diff --git a/spec/if/impl/isr/handler-entry.yml b/spec/score/isr/if/handler-entry.yml index e29434b2..e29434b2 100644 --- a/spec/if/impl/isr/handler-entry.yml +++ b/spec/score/isr/if/handler-entry.yml diff --git a/spec/if/impl/isr/handler.yml b/spec/score/isr/if/handler.yml index 3bd20f6e..3bd20f6e 100644 --- a/spec/if/impl/isr/handler.yml +++ b/spec/score/isr/if/handler.yml diff --git a/spec/score/isr/if/header-2.yml b/spec/score/isr/if/header-2.yml new file mode 100644 index 00000000..704202c9 --- /dev/null +++ b/spec/score/isr/if/header-2.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces related to the ISR level. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/isrlevel.h +prefix: cpukit/include +type: interface diff --git a/spec/score/isr/if/header-3.yml b/spec/score/isr/if/header-3.yml new file mode 100644 index 00000000..605b56ee --- /dev/null +++ b/spec/score/isr/if/header-3.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the ISR Lock Handler +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/isrlock.h +prefix: cpukit/include +type: interface diff --git a/spec/score/isr/if/header.yml b/spec/score/isr/if/header.yml new file mode 100644 index 00000000..85523d50 --- /dev/null +++ b/spec/score/isr/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the ISR Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/isr.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/isr/is-in-progress.yml b/spec/score/isr/if/is-in-progress.yml index 35ddf138..35ddf138 100644 --- a/spec/if/impl/isr/is-in-progress.yml +++ b/spec/score/isr/if/is-in-progress.yml diff --git a/spec/if/impl/isr/level.yml b/spec/score/isr/if/level.yml index 43871248..43871248 100644 --- a/spec/if/impl/isr/level.yml +++ b/spec/score/isr/if/level.yml diff --git a/spec/if/impl/isr/local-disable.yml b/spec/score/isr/if/local-disable.yml index 19f94444..19f94444 100644 --- a/spec/if/impl/isr/local-disable.yml +++ b/spec/score/isr/if/local-disable.yml diff --git a/spec/if/impl/isr/local-enable.yml b/spec/score/isr/if/local-enable.yml index aeae4915..aeae4915 100644 --- a/spec/if/impl/isr/local-enable.yml +++ b/spec/score/isr/if/local-enable.yml diff --git a/spec/if/impl/isr/local-flash.yml b/spec/score/isr/if/local-flash.yml index c122a713..c122a713 100644 --- a/spec/if/impl/isr/local-flash.yml +++ b/spec/score/isr/if/local-flash.yml diff --git a/spec/if/impl/isr/lock-context.yml b/spec/score/isr/if/lock-context.yml index fe5341f8..fe5341f8 100644 --- a/spec/if/impl/isr/lock-context.yml +++ b/spec/score/isr/if/lock-context.yml diff --git a/spec/if/impl/isr/lock-control.yml b/spec/score/isr/if/lock-control.yml index d40afd06..d40afd06 100644 --- a/spec/if/impl/isr/lock-control.yml +++ b/spec/score/isr/if/lock-control.yml diff --git a/spec/if/impl/isr/lock-declare.yml b/spec/score/isr/if/lock-declare.yml index 604e2a8f..604e2a8f 100644 --- a/spec/if/impl/isr/lock-declare.yml +++ b/spec/score/isr/if/lock-declare.yml diff --git a/spec/if/impl/isr/lock-define.yml b/spec/score/isr/if/lock-define.yml index 71f8e80b..71f8e80b 100644 --- a/spec/if/impl/isr/lock-define.yml +++ b/spec/score/isr/if/lock-define.yml diff --git a/spec/if/impl/isr/lock-destroy.yml b/spec/score/isr/if/lock-destroy.yml index 44c67601..44c67601 100644 --- a/spec/if/impl/isr/lock-destroy.yml +++ b/spec/score/isr/if/lock-destroy.yml diff --git a/spec/if/impl/isr/lock-initialize.yml b/spec/score/isr/if/lock-initialize.yml index eeb536b6..eeb536b6 100644 --- a/spec/if/impl/isr/lock-initialize.yml +++ b/spec/score/isr/if/lock-initialize.yml diff --git a/spec/if/impl/isr/lock-initializer.yml b/spec/score/isr/if/lock-initializer.yml index bcb907a6..bcb907a6 100644 --- a/spec/if/impl/isr/lock-initializer.yml +++ b/spec/score/isr/if/lock-initializer.yml diff --git a/spec/if/impl/isr/lock-isr-disable-acquire.yml b/spec/score/isr/if/lock-isr-disable-acquire.yml index d018350c..d018350c 100644 --- a/spec/if/impl/isr/lock-isr-disable-acquire.yml +++ b/spec/score/isr/if/lock-isr-disable-acquire.yml diff --git a/spec/if/impl/isr/lock-isr-disable.yml b/spec/score/isr/if/lock-isr-disable.yml index 53f937b0..53f937b0 100644 --- a/spec/if/impl/isr/lock-isr-disable.yml +++ b/spec/score/isr/if/lock-isr-disable.yml diff --git a/spec/if/impl/isr/lock-member.yml b/spec/score/isr/if/lock-member.yml index 61d0f78b..61d0f78b 100644 --- a/spec/if/impl/isr/lock-member.yml +++ b/spec/score/isr/if/lock-member.yml diff --git a/spec/if/impl/isr/lock-reference.yml b/spec/score/isr/if/lock-reference.yml index 424ba063..424ba063 100644 --- a/spec/if/impl/isr/lock-reference.yml +++ b/spec/score/isr/if/lock-reference.yml diff --git a/spec/if/impl/isr/lock-release-isr-enable.yml b/spec/score/isr/if/lock-release-isr-enable.yml index 154d76e5..154d76e5 100644 --- a/spec/if/impl/isr/lock-release-isr-enable.yml +++ b/spec/score/isr/if/lock-release-isr-enable.yml diff --git a/spec/if/impl/isr/stack-size.yml b/spec/score/isr/if/stack-size.yml index a54f54ca..a54f54ca 100644 --- a/spec/if/impl/isr/stack-size.yml +++ b/spec/score/isr/if/stack-size.yml diff --git a/spec/if/impl/isr/vector-number.yml b/spec/score/isr/if/vector-number.yml index 052171fa..052171fa 100644 --- a/spec/if/impl/isr/vector-number.yml +++ b/spec/score/isr/if/vector-number.yml diff --git a/spec/score/memory/if/header.yml b/spec/score/memory/if/header.yml new file mode 100644 index 00000000..a9ba3f8d --- /dev/null +++ b/spec/score/memory/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the Memory Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/memory.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/memory/zero-before-use.yml b/spec/score/memory/if/zero-before-use.yml index a7a1f9ac..a7a1f9ac 100644 --- a/spec/if/impl/memory/zero-before-use.yml +++ b/spec/score/memory/if/zero-before-use.yml diff --git a/spec/if/impl/mpci/configuration-type.yml b/spec/score/mpci/if/configuration-type.yml index 60b9c671..60b9c671 100644 --- a/spec/if/impl/mpci/configuration-type.yml +++ b/spec/score/mpci/if/configuration-type.yml diff --git a/spec/if/impl/mpci/configuration.yml b/spec/score/mpci/if/configuration.yml index b7c03bf1..b7c03bf1 100644 --- a/spec/if/impl/mpci/configuration.yml +++ b/spec/score/mpci/if/configuration.yml diff --git a/spec/if/impl/mpci/control.yml b/spec/score/mpci/if/control.yml index 27f20a7d..27f20a7d 100644 --- a/spec/if/impl/mpci/control.yml +++ b/spec/score/mpci/if/control.yml diff --git a/spec/if/impl/mpci/entry.yml b/spec/score/mpci/if/entry.yml index 975b2e06..975b2e06 100644 --- a/spec/if/impl/mpci/entry.yml +++ b/spec/score/mpci/if/entry.yml diff --git a/spec/if/impl/mpci/get-packet-entry.yml b/spec/score/mpci/if/get-packet-entry.yml index f8d94ed5..f8d94ed5 100644 --- a/spec/if/impl/mpci/get-packet-entry.yml +++ b/spec/score/mpci/if/get-packet-entry.yml diff --git a/spec/score/mpci/if/header-2.yml b/spec/score/mpci/if/header-2.yml new file mode 100644 index 00000000..3b8dcb5e --- /dev/null +++ b/spec/score/mpci/if/header-2.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the MPCI packet interfaces. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/mppkt.h +prefix: cpukit/include +type: interface diff --git a/spec/score/mpci/if/header.yml b/spec/score/mpci/if/header.yml new file mode 100644 index 00000000..ca3456e2 --- /dev/null +++ b/spec/score/mpci/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines the interface of the MPCI implementation. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/mpci.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/mpci/initialization-entry.yml b/spec/score/mpci/if/initialization-entry.yml index fd01e3cc..fd01e3cc 100644 --- a/spec/if/impl/mpci/initialization-entry.yml +++ b/spec/score/mpci/if/initialization-entry.yml diff --git a/spec/if/impl/mpci/packet-classes.yml b/spec/score/mpci/if/packet-classes.yml index 28753066..28753066 100644 --- a/spec/if/impl/mpci/packet-classes.yml +++ b/spec/score/mpci/if/packet-classes.yml diff --git a/spec/if/impl/mpci/packet-minimum-hetero-conversion.yml b/spec/score/mpci/if/packet-minimum-hetero-conversion.yml index 7738e31c..7738e31c 100644 --- a/spec/if/impl/mpci/packet-minimum-hetero-conversion.yml +++ b/spec/score/mpci/if/packet-minimum-hetero-conversion.yml diff --git a/spec/if/impl/mpci/packet-minimum-size.yml b/spec/score/mpci/if/packet-minimum-size.yml index 456861a3..456861a3 100644 --- a/spec/if/impl/mpci/packet-minimum-size.yml +++ b/spec/score/mpci/if/packet-minimum-size.yml diff --git a/spec/if/impl/mpci/packet-prefix.yml b/spec/score/mpci/if/packet-prefix.yml index faa3abcd..faa3abcd 100644 --- a/spec/if/impl/mpci/packet-prefix.yml +++ b/spec/score/mpci/if/packet-prefix.yml diff --git a/spec/if/impl/mpci/receive-entry.yml b/spec/score/mpci/if/receive-entry.yml index 3011b0b7..3011b0b7 100644 --- a/spec/if/impl/mpci/receive-entry.yml +++ b/spec/score/mpci/if/receive-entry.yml diff --git a/spec/if/impl/mpci/return-packet-entry.yml b/spec/score/mpci/if/return-packet-entry.yml index abe410b6..abe410b6 100644 --- a/spec/if/impl/mpci/return-packet-entry.yml +++ b/spec/score/mpci/if/return-packet-entry.yml diff --git a/spec/if/impl/mpci/send-entry.yml b/spec/score/mpci/if/send-entry.yml index d5d38a35..d5d38a35 100644 --- a/spec/if/impl/mpci/send-entry.yml +++ b/spec/score/mpci/if/send-entry.yml diff --git a/spec/if/impl/object/apis-last.yml b/spec/score/object/if/apis-last.yml index 318fba4c..318fba4c 100644 --- a/spec/if/impl/object/apis-last.yml +++ b/spec/score/object/if/apis-last.yml diff --git a/spec/if/impl/object/build-id.yml b/spec/score/object/if/build-id.yml index 400a388c..400a388c 100644 --- a/spec/if/impl/object/build-id.yml +++ b/spec/score/object/if/build-id.yml diff --git a/spec/if/impl/object/build-name.yml b/spec/score/object/if/build-name.yml index 683cef3c..683cef3c 100644 --- a/spec/if/impl/object/build-name.yml +++ b/spec/score/object/if/build-name.yml diff --git a/spec/if/impl/object/get-api.yml b/spec/score/object/if/get-api.yml index 688c60d5..688c60d5 100644 --- a/spec/if/impl/object/get-api.yml +++ b/spec/score/object/if/get-api.yml diff --git a/spec/if/impl/object/get-class.yml b/spec/score/object/if/get-class.yml index 5bf520ab..5bf520ab 100644 --- a/spec/if/impl/object/get-class.yml +++ b/spec/score/object/if/get-class.yml diff --git a/spec/if/impl/object/get-index.yml b/spec/score/object/if/get-index.yml index 60bb84cd..60bb84cd 100644 --- a/spec/if/impl/object/get-index.yml +++ b/spec/score/object/if/get-index.yml diff --git a/spec/if/impl/object/get-node.yml b/spec/score/object/if/get-node.yml index 7495f4d8..7495f4d8 100644 --- a/spec/if/impl/object/get-node.yml +++ b/spec/score/object/if/get-node.yml diff --git a/spec/score/object/if/header.yml b/spec/score/object/if/header.yml new file mode 100644 index 00000000..e6094608 --- /dev/null +++ b/spec/score/object/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the Object Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/object.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/object/id-final-index.yml b/spec/score/object/if/id-final-index.yml index b880faf9..b880faf9 100644 --- a/spec/if/impl/object/id-final-index.yml +++ b/spec/score/object/if/id-final-index.yml diff --git a/spec/if/impl/object/id-final.yml b/spec/score/object/if/id-final.yml index 6d23c50d..6d23c50d 100644 --- a/spec/if/impl/object/id-final.yml +++ b/spec/score/object/if/id-final.yml diff --git a/spec/if/impl/object/id-initial-index.yml b/spec/score/object/if/id-initial-index.yml index 25dd174f..25dd174f 100644 --- a/spec/if/impl/object/id-initial-index.yml +++ b/spec/score/object/if/id-initial-index.yml diff --git a/spec/if/impl/object/id-initial.yml b/spec/score/object/if/id-initial.yml index d3fec48c..d3fec48c 100644 --- a/spec/if/impl/object/id-initial.yml +++ b/spec/score/object/if/id-initial.yml diff --git a/spec/if/impl/object/id-none.yml b/spec/score/object/if/id-none.yml index 9713dc7b..9713dc7b 100644 --- a/spec/if/impl/object/id-none.yml +++ b/spec/score/object/if/id-none.yml diff --git a/spec/if/impl/object/id-of-self.yml b/spec/score/object/if/id-of-self.yml index 4177f7f8..4177f7f8 100644 --- a/spec/if/impl/object/id-of-self.yml +++ b/spec/score/object/if/id-of-self.yml diff --git a/spec/if/impl/object/id.yml b/spec/score/object/if/id.yml index a0b919a7..a0b919a7 100644 --- a/spec/if/impl/object/id.yml +++ b/spec/score/object/if/id.yml diff --git a/spec/if/impl/object/internal-api.yml b/spec/score/object/if/internal-api.yml index a3ba67ca..a3ba67ca 100644 --- a/spec/if/impl/object/internal-api.yml +++ b/spec/score/object/if/internal-api.yml diff --git a/spec/if/impl/object/is-unlimited.yml b/spec/score/object/if/is-unlimited.yml index dfe30e77..dfe30e77 100644 --- a/spec/if/impl/object/is-unlimited.yml +++ b/spec/score/object/if/is-unlimited.yml diff --git a/spec/if/impl/object/local-node.yml b/spec/score/object/if/local-node.yml index bef1b655..bef1b655 100644 --- a/spec/if/impl/object/local-node.yml +++ b/spec/score/object/if/local-node.yml diff --git a/spec/if/impl/object/maximum-per-allocation.yml b/spec/score/object/if/maximum-per-allocation.yml index 44c5d373..44c5d373 100644 --- a/spec/if/impl/object/maximum-per-allocation.yml +++ b/spec/score/object/if/maximum-per-allocation.yml diff --git a/spec/if/impl/object/search-all-nodes.yml b/spec/score/object/if/search-all-nodes.yml index 49cd1627..49cd1627 100644 --- a/spec/if/impl/object/search-all-nodes.yml +++ b/spec/score/object/if/search-all-nodes.yml diff --git a/spec/if/impl/object/search-local-nodes.yml b/spec/score/object/if/search-local-nodes.yml index d91e2456..d91e2456 100644 --- a/spec/if/impl/object/search-local-nodes.yml +++ b/spec/score/object/if/search-local-nodes.yml diff --git a/spec/if/impl/object/search-other-nodes.yml b/spec/score/object/if/search-other-nodes.yml index 40ec1583..40ec1583 100644 --- a/spec/if/impl/object/search-other-nodes.yml +++ b/spec/score/object/if/search-other-nodes.yml diff --git a/spec/if/impl/object/unlimited-objects.yml b/spec/score/object/if/unlimited-objects.yml index c9f1aef0..c9f1aef0 100644 --- a/spec/if/impl/object/unlimited-objects.yml +++ b/spec/score/object/if/unlimited-objects.yml diff --git a/spec/if/impl/object/who-am-i.yml b/spec/score/object/if/who-am-i.yml index 606666da..606666da 100644 --- a/spec/if/impl/object/who-am-i.yml +++ b/spec/score/object/if/who-am-i.yml diff --git a/spec/if/impl/smp/get-current-processor.yml b/spec/score/smp/if/get-current-processor.yml index 808b821f..808b821f 100644 --- a/spec/if/impl/smp/get-current-processor.yml +++ b/spec/score/smp/if/get-current-processor.yml diff --git a/spec/if/impl/smp/get-processor-maximum.yml b/spec/score/smp/if/get-processor-maximum.yml index bf51150b..bf51150b 100644 --- a/spec/if/impl/smp/get-processor-maximum.yml +++ b/spec/score/smp/if/get-processor-maximum.yml diff --git a/spec/score/smp/if/header-2.yml b/spec/score/smp/if/header-2.yml new file mode 100644 index 00000000..11798685 --- /dev/null +++ b/spec/score/smp/if/header-2.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the SMP Lock Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/smplock.h +prefix: cpukit/include +type: interface diff --git a/spec/score/smp/if/header.yml b/spec/score/smp/if/header.yml new file mode 100644 index 00000000..0610201a --- /dev/null +++ b/spec/score/smp/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the SMP Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/smp.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/smp/lock-acquire.yml b/spec/score/smp/if/lock-acquire.yml index 24b22323..24b22323 100644 --- a/spec/if/impl/smp/lock-acquire.yml +++ b/spec/score/smp/if/lock-acquire.yml diff --git a/spec/if/impl/smp/lock-release.yml b/spec/score/smp/if/lock-release.yml index 7eeb559b..7eeb559b 100644 --- a/spec/if/impl/smp/lock-release.yml +++ b/spec/score/smp/if/lock-release.yml diff --git a/spec/if/impl/smp/processor-configured-maximum.yml b/spec/score/smp/if/processor-configured-maximum.yml index 0e356a49..0e356a49 100644 --- a/spec/if/impl/smp/processor-configured-maximum.yml +++ b/spec/score/smp/if/processor-configured-maximum.yml diff --git a/spec/if/impl/stack/allocator-allocate-type.yml b/spec/score/stack/if/allocator-allocate-type.yml index d4211ee1..d4211ee1 100644 --- a/spec/if/impl/stack/allocator-allocate-type.yml +++ b/spec/score/stack/if/allocator-allocate-type.yml diff --git a/spec/if/impl/stack/allocator-allocate.yml b/spec/score/stack/if/allocator-allocate.yml index dd59ddf6..dd59ddf6 100644 --- a/spec/if/impl/stack/allocator-allocate.yml +++ b/spec/score/stack/if/allocator-allocate.yml diff --git a/spec/if/impl/stack/allocator-avoids-workspace.yml b/spec/score/stack/if/allocator-avoids-workspace.yml index 90cc64e5..90cc64e5 100644 --- a/spec/if/impl/stack/allocator-avoids-workspace.yml +++ b/spec/score/stack/if/allocator-avoids-workspace.yml diff --git a/spec/if/impl/stack/allocator-free-type.yml b/spec/score/stack/if/allocator-free-type.yml index cacca0e2..cacca0e2 100644 --- a/spec/if/impl/stack/allocator-free-type.yml +++ b/spec/score/stack/if/allocator-free-type.yml diff --git a/spec/if/impl/stack/allocator-free.yml b/spec/score/stack/if/allocator-free.yml index 9a3247f5..9a3247f5 100644 --- a/spec/if/impl/stack/allocator-free.yml +++ b/spec/score/stack/if/allocator-free.yml diff --git a/spec/if/impl/stack/allocator-initialize-type.yml b/spec/score/stack/if/allocator-initialize-type.yml index 5872ec59..5872ec59 100644 --- a/spec/if/impl/stack/allocator-initialize-type.yml +++ b/spec/score/stack/if/allocator-initialize-type.yml diff --git a/spec/if/impl/stack/allocator-initialize.yml b/spec/score/stack/if/allocator-initialize.yml index d62a6927..d62a6927 100644 --- a/spec/if/impl/stack/allocator-initialize.yml +++ b/spec/score/stack/if/allocator-initialize.yml diff --git a/spec/score/stack/if/header.yml b/spec/score/stack/if/header.yml new file mode 100644 index 00000000..8beb4742 --- /dev/null +++ b/spec/score/stack/if/header.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: This header file defines interfaces of the Stack Handler. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/stack.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/stack/minimum-size.yml b/spec/score/stack/if/minimum-size.yml index fc06a25d..fc06a25d 100644 --- a/spec/if/impl/stack/minimum-size.yml +++ b/spec/score/stack/if/minimum-size.yml diff --git a/spec/score/thread/if/header.yml b/spec/score/thread/if/header.yml new file mode 100644 index 00000000..53e7910e --- /dev/null +++ b/spec/score/thread/if/header.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file defines data structures of the Thread Handler used to + instantiate idle thread related objects defined by the application + configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/threadidledata.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/thread/idle-body.yml b/spec/score/thread/if/idle-body.yml index 2a6ddba4..2a6ddba4 100644 --- a/spec/if/impl/thread/idle-body.yml +++ b/spec/score/thread/if/idle-body.yml diff --git a/spec/if/impl/thread/idle-stack-size.yml b/spec/score/thread/if/idle-stack-size.yml index 226d08d4..226d08d4 100644 --- a/spec/if/impl/thread/idle-stack-size.yml +++ b/spec/score/thread/if/idle-stack-size.yml diff --git a/spec/if/impl/userext/fatal.yml b/spec/score/userext/if/fatal.yml index cc349c93..cc349c93 100644 --- a/spec/if/impl/userext/fatal.yml +++ b/spec/score/userext/if/fatal.yml diff --git a/spec/score/userext/if/header.yml b/spec/score/userext/if/header.yml new file mode 100644 index 00000000..07ae8e5d --- /dev/null +++ b/spec/score/userext/if/header.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file defines data structures of the User Extensions Handler used + to instantiate objects defined by the application configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/userextdata.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/userext/initial-count.yml b/spec/score/userext/if/initial-count.yml index 1784f362..1784f362 100644 --- a/spec/if/impl/userext/initial-count.yml +++ b/spec/score/userext/if/initial-count.yml diff --git a/spec/if/impl/userext/initial-extensions.yml b/spec/score/userext/if/initial-extensions.yml index 37928e9a..37928e9a 100644 --- a/spec/if/impl/userext/initial-extensions.yml +++ b/spec/score/userext/if/initial-extensions.yml diff --git a/spec/if/impl/userext/table.yml b/spec/score/userext/if/table.yml index 41d238c1..41d238c1 100644 --- a/spec/if/impl/userext/table.yml +++ b/spec/score/userext/if/table.yml diff --git a/spec/if/impl/userext/thread-begin.yml b/spec/score/userext/if/thread-begin.yml index 8de433c8..8de433c8 100644 --- a/spec/if/impl/userext/thread-begin.yml +++ b/spec/score/userext/if/thread-begin.yml diff --git a/spec/if/impl/userext/thread-create.yml b/spec/score/userext/if/thread-create.yml index f41304f1..f41304f1 100644 --- a/spec/if/impl/userext/thread-create.yml +++ b/spec/score/userext/if/thread-create.yml diff --git a/spec/if/impl/userext/thread-delete.yml b/spec/score/userext/if/thread-delete.yml index 09345c22..09345c22 100644 --- a/spec/if/impl/userext/thread-delete.yml +++ b/spec/score/userext/if/thread-delete.yml diff --git a/spec/if/impl/userext/thread-exitted.yml b/spec/score/userext/if/thread-exitted.yml index 6f4c7b67..6f4c7b67 100644 --- a/spec/if/impl/userext/thread-exitted.yml +++ b/spec/score/userext/if/thread-exitted.yml diff --git a/spec/if/impl/userext/thread-restart.yml b/spec/score/userext/if/thread-restart.yml index 48655bcc..48655bcc 100644 --- a/spec/if/impl/userext/thread-restart.yml +++ b/spec/score/userext/if/thread-restart.yml diff --git a/spec/if/impl/userext/thread-start.yml b/spec/score/userext/if/thread-start.yml index 28e8b4d3..28e8b4d3 100644 --- a/spec/if/impl/userext/thread-start.yml +++ b/spec/score/userext/if/thread-start.yml diff --git a/spec/if/impl/userext/thread-switch.yml b/spec/score/userext/if/thread-switch.yml index 6ab17714..6ab17714 100644 --- a/spec/if/impl/userext/thread-switch.yml +++ b/spec/score/userext/if/thread-switch.yml diff --git a/spec/if/impl/userext/thread-terminate.yml b/spec/score/userext/if/thread-terminate.yml index be14a142..be14a142 100644 --- a/spec/if/impl/userext/thread-terminate.yml +++ b/spec/score/userext/if/thread-terminate.yml diff --git a/spec/score/watchdog/if/header.yml b/spec/score/watchdog/if/header.yml new file mode 100644 index 00000000..a931a85d --- /dev/null +++ b/spec/score/watchdog/if/header.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file defines data structures of the Watchdog Handler used to + instantiate clock tick related objects defined by the application + configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/watchdogticks.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/watchdog/interval.yml b/spec/score/watchdog/if/interval.yml index 526dc554..526dc554 100644 --- a/spec/if/impl/watchdog/interval.yml +++ b/spec/score/watchdog/if/interval.yml diff --git a/spec/if/impl/watchdog/microseconds-per-tick.yml b/spec/score/watchdog/if/microseconds-per-tick.yml index 041bd2e8..041bd2e8 100644 --- a/spec/if/impl/watchdog/microseconds-per-tick.yml +++ b/spec/score/watchdog/if/microseconds-per-tick.yml diff --git a/spec/if/impl/watchdog/nanoseconds-per-tick.yml b/spec/score/watchdog/if/nanoseconds-per-tick.yml index cc89e385..cc89e385 100644 --- a/spec/if/impl/watchdog/nanoseconds-per-tick.yml +++ b/spec/score/watchdog/if/nanoseconds-per-tick.yml diff --git a/spec/if/impl/watchdog/no-timeout.yml b/spec/score/watchdog/if/no-timeout.yml index 5085050c..5085050c 100644 --- a/spec/if/impl/watchdog/no-timeout.yml +++ b/spec/score/watchdog/if/no-timeout.yml diff --git a/spec/if/impl/watchdog/ticks-per-second.yml b/spec/score/watchdog/if/ticks-per-second.yml index aa07394c..aa07394c 100644 --- a/spec/if/impl/watchdog/ticks-per-second.yml +++ b/spec/score/watchdog/if/ticks-per-second.yml diff --git a/spec/if/impl/watchdog/ticks-per-timeslice.yml b/spec/score/watchdog/if/ticks-per-timeslice.yml index 0272bebe..0272bebe 100644 --- a/spec/if/impl/watchdog/ticks-per-timeslice.yml +++ b/spec/score/watchdog/if/ticks-per-timeslice.yml diff --git a/spec/if/impl/watchdog/ticks-since-boot.yml b/spec/score/watchdog/if/ticks-since-boot.yml index 65dcee35..65dcee35 100644 --- a/spec/if/impl/watchdog/ticks-since-boot.yml +++ b/spec/score/watchdog/if/ticks-since-boot.yml diff --git a/spec/score/wkspace/if/header.yml b/spec/score/wkspace/if/header.yml new file mode 100644 index 00000000..d6dc03b6 --- /dev/null +++ b/spec/score/wkspace/if/header.yml @@ -0,0 +1,14 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This header file defines data structures of the Workspace Handler used to + instantiate objects defined by the application configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: header-file +links: +- role: interface-placement + uid: ../../if/domain +path: rtems/score/wkspacedata.h +prefix: cpukit/include +type: interface diff --git a/spec/if/impl/wkspace/is-unified.yml b/spec/score/wkspace/if/is-unified.yml index ded474d5..ded474d5 100644 --- a/spec/if/impl/wkspace/is-unified.yml +++ b/spec/score/wkspace/if/is-unified.yml diff --git a/spec/if/impl/wkspace/size.yml b/spec/score/wkspace/if/size.yml index 00e30a53..00e30a53 100644 --- a/spec/if/impl/wkspace/size.yml +++ b/spec/score/wkspace/if/size.yml diff --git a/spec/if/use/asm.yml b/spec/user/if/asm.yml index 7f827873..7f827873 100644 --- a/spec/if/use/asm.yml +++ b/spec/user/if/asm.yml diff --git a/spec/user/if/container.yml b/spec/user/if/container.yml new file mode 100644 index 00000000..a5d0e96f --- /dev/null +++ b/spec/user/if/container.yml @@ -0,0 +1,9 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: container +links: +- role: interface-placement + uid: domain +type: interface diff --git a/spec/if/domains/use.yml b/spec/user/if/domain.yml index 6659058b..6659058b 100644 --- a/spec/if/domains/use.yml +++ b/spec/user/if/domain.yml diff --git a/spec/if/use/false.yml b/spec/user/if/false.yml index 4846bd2f..4846bd2f 100644 --- a/spec/if/use/false.yml +++ b/spec/user/if/false.yml diff --git a/spec/if/use/true.yml b/spec/user/if/true.yml index bede8bfc..bede8bfc 100644 --- a/spec/if/use/true.yml +++ b/spec/user/if/true.yml |