diff options
64 files changed, 2275 insertions, 26 deletions
diff --git a/generate_membench.py b/generate_membench.py index a80fc654..ccd0c3ca 100755 --- a/generate_membench.py +++ b/generate_membench.py @@ -75,6 +75,14 @@ _CONFIG_DEFAULT = """#define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE""" +_CONFIG_SMP_1 = """#define CONFIGURE_MAXIMUM_PROCESSORS 1 + +#if defined(RTEMS_SMP) +#define CONFIGURE_SCHEDULER_EDF_SMP +#endif + +""" + _CONFIG_DEFAULT + _TEXT = ("The system shall provide a benchmark program to show the static " "memory usage of") @@ -100,13 +108,7 @@ ${/acfg/if/max-processors:/name} defined to one using the SMP EDF scheduler (${/acfg/if/scheduler-edf-smp:/name})""", None, """/* Nothing to do */""", - """#define CONFIGURE_MAXIMUM_PROCESSORS 1 - -#if defined(RTEMS_SMP) -#define CONFIGURE_SCHEDULER_EDF_SMP -#endif - -""" + _CONFIG_DEFAULT), + _CONFIG_SMP_1), _Test( "rtems", "smp-global-2", @@ -215,7 +217,7 @@ RTEMS_SCHEDULER_EDF_SMP( d ); "dev/clock", "driver", ["/rtems/req/mem-basic"], - """"a basic application configuration with the clock driver enabled + """a basic application configuration with the clock driver enabled (${/acfg/if/appl-needs-clock-driver:/name})""", None, """/* Nothing to do */""", @@ -223,6 +225,34 @@ RTEMS_SCHEDULER_EDF_SMP( d ); "CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER", "CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER")), _Test( + "rtems/clock", + "set", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/set:/name}""", + None, + "(void) rtems_clock_set( NULL );", + _CONFIG_DEFAULT), + _Test( + "rtems/clock", + "set-get-tod", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/set:/name} and ${../if/get-tod:/name}""", + None, + """(void) rtems_clock_set( NULL ); +(void) rtems_clock_get_tod( NULL );""", + _CONFIG_DEFAULT), + _Test( + "rtems/clock", + "get-uptime", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/get-uptime:/name}""", + None, + "(void) rtems_clock_get_uptime( NULL );", + _CONFIG_DEFAULT), + _Test( "rtems/barrier", "wait-rel", _LINKS_BASIC, @@ -272,6 +302,55 @@ ${../if/fatal:/name}""", "rtems_fatal( 0, 0 );", _CONFIG_DEFAULT), _Test( + "rtems/message", + "snd-rcv", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/construct:/name}, ${../if/send:/name}, and +${../if/receive:/name}""", + None, + """(void) rtems_message_queue_construct( NULL, NULL ); +(void) rtems_message_queue_send( 0, NULL, 0 ); +(void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 );""", + _CONFIG_DEFAULT), + _Test( + "rtems/message", + "ugt-rcv", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/construct:/name}, ${../if/urgent:/name}, and +${../if/receive:/name}""", + None, + """(void) rtems_message_queue_construct( NULL, NULL ); +(void) rtems_message_queue_urgent( 0, NULL, 0 ); +(void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 );""", + _CONFIG_DEFAULT), + _Test( + "rtems/message", + "bcst-rcv", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/construct:/name}, ${../if/broadcast:/name}, and +${../if/receive:/name}""", + None, + """(void) rtems_message_queue_construct( NULL, NULL ); +(void) rtems_message_queue_broadcast( 0, NULL, 0, NULL ); +(void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 );""", + _CONFIG_DEFAULT), + _Test( + "rtems/message", + "snd-rcv-del", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/construct:/name}, ${../if/send:/name}, +${../if/receive:/name}, and ${../if/delete:/name}""", + None, + """(void) rtems_message_queue_construct( NULL, NULL ); +(void) rtems_message_queue_send( 0, NULL, 0 ); +(void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 ); +(void) rtems_message_queue_delete( 0 );""", + _CONFIG_DEFAULT), + _Test( "rtems/part", "get-ret", _LINKS_BASIC, @@ -331,6 +410,24 @@ ${../if/delete:/name}""", """ + _CONFIG_DEFAULT), _Test( + "rtems/scheduler", + "add-cpu", + ["../../req/mem-smp-1"], + """a basic application configuration with a +call to ${../if/add-processor:/name}""", + None, + "(void) rtems_scheduler_add_processor( 0, 0 );", + _CONFIG_SMP_1), + _Test( + "rtems/scheduler", + "rm-cpu", + ["../../req/mem-smp-1"], + """a basic application configuration with a +call to ${../if/remove-processor:/name}""", + None, + "(void) rtems_scheduler_remove_processor( 0, 0 );", + _CONFIG_SMP_1), + _Test( "rtems/sem", "obt-rel", _LINKS_BASIC, @@ -372,13 +469,12 @@ and ${../if/send:/name}""", _CONFIG_DEFAULT), _Test( "rtems/task", - "del", + "delete", _LINKS_BASIC, """a basic application configuration with a call to ${../if/delete:/name}""", None, - """(void) rtems_task_delete( 0 ); -""", + "(void) rtems_task_delete( 0 );", _CONFIG_DEFAULT), _Test( "rtems/task", @@ -387,8 +483,7 @@ call to ${../if/delete:/name}""", """a basic application configuration with a call to ${../if/exit:/name}""", None, - """rtems_task_exit(); -""", + "rtems_task_exit();", _CONFIG_DEFAULT), _Test( "rtems/task", @@ -397,8 +492,7 @@ call to ${../if/exit:/name}""", """a basic application configuration with a call to ${../if/restart:/name}""", None, - """(void) rtems_task_restart( 0, 0 ); -""", + "(void) rtems_task_restart( 0, 0 );", _CONFIG_DEFAULT), _Test( "rtems/task", @@ -408,9 +502,193 @@ call to ${../if/restart:/name}""", calls to ${../if/suspend:/name} and ${../if/resume:/name}""", None, """(void) rtems_task_suspend( 0 ); -(void) rtems_task_resume( 0 ); -""", +(void) rtems_task_resume( 0 );""", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "set-priority", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/set-priority:/name}""", + None, + "(void) rtems_task_set_priority( 0, 0, NULL );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "get-priority", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/get-priority:/name}""", + None, + "(void) rtems_task_get_priority( 0, 0, NULL );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "mode", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/mode:/name}""", + None, + "(void) rtems_task_mode( 0, 0, 0 );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "wake-after", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/wake-after:/name}""", + None, + "(void) rtems_task_wake_after( 0 );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "wake-when", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/wake-when:/name}""", + None, + "(void) rtems_task_wake_when( NULL );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "set-scheduler", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/set-scheduler:/name}""", + None, + "(void) rtems_task_set_scheduler( 0, 0, 0 );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "get-scheduler", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/get-scheduler:/name}""", + None, + "(void) rtems_task_get_scheduler( 0, NULL );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "set-affinity", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/set-affinity:/name}""", + None, + "(void) rtems_task_set_affinity( 0, 0, NULL );", + _CONFIG_DEFAULT), + _Test( + "rtems/task", + "get-affinity", + _LINKS_BASIC, + """a basic application configuration with a +call to ${../if/get-affinity:/name}""", + None, + "(void) rtems_task_get_affinity( 0, 0, NULL );", + _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "after", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/create:/name} and ${../if/fire-after:/name}""", + None, + """(void) rtems_timer_create( 0, NULL ); +(void) rtems_timer_fire_after( 0, 0, NULL, NULL );""", + _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "when", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/create:/name} and ${../if/fire-when:/name}""", + None, + """(void) rtems_timer_create( 0, NULL ); +(void) rtems_timer_fire_when( 0, NULL, NULL, NULL );""", _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "cancel", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/create:/name} and ${../if/cancel:/name}""", + None, + """(void) rtems_timer_create( 0, NULL ); +(void) rtems_timer_cancel( 0 );""", + _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "reset", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/create:/name} and ${../if/reset:/name}""", + None, + """(void) rtems_timer_create( 0, NULL ); +(void) rtems_timer_reset( 0 );""", + _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "delete", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/create:/name} and ${../if/delete:/name}""", + None, + """(void) rtems_timer_create( 0, NULL ); +(void) rtems_timer_delete( 0 );""", + _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "srv-init", + _LINKS_BASIC, + """a basic application configuration with a call to +${../if/initiate-server:/name}""", + None, + "(void) rtems_timer_initiate_server( 0, 0, 0 );", + _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "srv-after", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/create:/name} and ${../if/server-fire-after:/name}""", + None, + """(void) rtems_timer_create( 0, NULL ); +(void) rtems_timer_server_fire_after( 0, 0, NULL, NULL );""", + _CONFIG_DEFAULT), + _Test( + "rtems/timer", + "srv-when", + _LINKS_BASIC, + """a basic application configuration with calls to +${../if/create:/name} and ${../if/server-fire-when:/name}""", + None, + """(void) rtems_timer_create( 0, NULL ); +(void) rtems_timer_server_fire_when( 0, NULL, NULL, NULL );""", + _CONFIG_DEFAULT), + _Test( + "rtems/userext", + "create", + _LINKS_BASIC, + """a basic application configuration with +${/acfg/if/max-user-extensions:/name} defined to one and a call to +${../if/create:/name}""", + None, + "(void) rtems_extension_create( 0, NULL, NULL );", + """#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 + +""" + _CONFIG_DEFAULT), + _Test( + "rtems/userext", + "delete", + _LINKS_BASIC, + """a basic application configuration with +${/acfg/if/max-user-extensions:/name} defined to one and calls to +${../if/create:/name} and ${../if/delete:/name}""", + None, + """(void) rtems_extension_create( 0, NULL, NULL ); +(void) rtems_extension_delete( 0 );""", + """#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 + +""" + _CONFIG_DEFAULT), ] # yapf: disable diff --git a/spec/dev/clock/req/mem-driver.yml b/spec/dev/clock/req/mem-driver.yml index f185da49..ce822bfe 100644 --- a/spec/dev/clock/req/mem-driver.yml +++ b/spec/dev/clock/req/mem-driver.yml @@ -11,6 +11,6 @@ references: [] requirement-type: non-functional text: | The system shall provide a benchmark program to show the static memory usage - of "a basic application configuration with the clock driver enabled + of a basic application configuration with the clock driver enabled (${/acfg/if/appl-needs-clock-driver:/name}). type: requirement diff --git a/spec/dev/clock/val/mem-driver.yml b/spec/dev/clock/val/mem-driver.yml index da09fc02..6d3cb0d3 100644 --- a/spec/dev/clock/val/mem-driver.yml +++ b/spec/dev/clock/val/mem-driver.yml @@ -6,7 +6,7 @@ links: - role: validation uid: ../req/mem-driver test-brief: | - This static memory usage benchmark program facilitates "a basic application + This static memory usage benchmark program facilitates a basic application configuration with the clock driver enabled (${/acfg/if/appl-needs-clock-driver:/name}). test-code: | diff --git a/spec/rtems/clock/req/mem-get-uptime.yml b/spec/rtems/clock/req/mem-get-uptime.yml new file mode 100644 index 00000000..7be61060 --- /dev/null +++ b/spec/rtems/clock/req/mem-get-uptime.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/get-uptime:/name}. +type: requirement diff --git a/spec/rtems/clock/req/mem-set-get-tod.yml b/spec/rtems/clock/req/mem-set-get-tod.yml new file mode 100644 index 00000000..785ba450 --- /dev/null +++ b/spec/rtems/clock/req/mem-set-get-tod.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/set:/name} and + ${../if/get-tod:/name}. +type: requirement diff --git a/spec/rtems/clock/req/mem-set.yml b/spec/rtems/clock/req/mem-set.yml new file mode 100644 index 00000000..71500eab --- /dev/null +++ b/spec/rtems/clock/req/mem-set.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to ${../if/set:/name}. +type: requirement diff --git a/spec/rtems/clock/val/mem-get-uptime.yml b/spec/rtems/clock/val/mem-get-uptime.yml new file mode 100644 index 00000000..e1fabf8f --- /dev/null +++ b/spec/rtems/clock/val/mem-get-uptime.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-get-uptime +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/get-uptime:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_clock_get_uptime( NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemGetUptime +test-target: testsuites/membench/mem-clock-get-uptime.c +type: test-suite diff --git a/spec/rtems/clock/val/mem-set-get-tod.yml b/spec/rtems/clock/val/mem-set-get-tod.yml new file mode 100644 index 00000000..cb297d7d --- /dev/null +++ b/spec/rtems/clock/val/mem-set-get-tod.yml @@ -0,0 +1,54 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-set-get-tod +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/set:/name} and ${../if/get-tod:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_clock_set( NULL ); + (void) rtems_clock_get_tod( NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSetGetTod +test-target: testsuites/membench/mem-clock-set-get-tod.c +type: test-suite diff --git a/spec/rtems/clock/val/mem-set.yml b/spec/rtems/clock/val/mem-set.yml new file mode 100644 index 00000000..9b01feb3 --- /dev/null +++ b/spec/rtems/clock/val/mem-set.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-set +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/set:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_clock_set( NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSet +test-target: testsuites/membench/mem-clock-set.c +type: test-suite diff --git a/spec/rtems/message/req/mem-bcst-rcv.yml b/spec/rtems/message/req/mem-bcst-rcv.yml new file mode 100644 index 00000000..cb4c44b2 --- /dev/null +++ b/spec/rtems/message/req/mem-bcst-rcv.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/construct:/name}, + ${../if/broadcast:/name}, and ${../if/receive:/name}. +type: requirement diff --git a/spec/rtems/message/req/mem-snd-rcv-del.yml b/spec/rtems/message/req/mem-snd-rcv-del.yml new file mode 100644 index 00000000..4ee92ba1 --- /dev/null +++ b/spec/rtems/message/req/mem-snd-rcv-del.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/construct:/name}, + ${../if/send:/name}, ${../if/receive:/name}, and ${../if/delete:/name}. +type: requirement diff --git a/spec/rtems/message/req/mem-snd-rcv.yml b/spec/rtems/message/req/mem-snd-rcv.yml new file mode 100644 index 00000000..ef616787 --- /dev/null +++ b/spec/rtems/message/req/mem-snd-rcv.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/construct:/name}, + ${../if/send:/name}, and ${../if/receive:/name}. +type: requirement diff --git a/spec/rtems/message/req/mem-ugt-rcv.yml b/spec/rtems/message/req/mem-ugt-rcv.yml new file mode 100644 index 00000000..b1edbcc2 --- /dev/null +++ b/spec/rtems/message/req/mem-ugt-rcv.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/construct:/name}, + ${../if/urgent:/name}, and ${../if/receive:/name}. +type: requirement diff --git a/spec/rtems/message/val/mem-bcst-rcv.yml b/spec/rtems/message/val/mem-bcst-rcv.yml new file mode 100644 index 00000000..390a0430 --- /dev/null +++ b/spec/rtems/message/val/mem-bcst-rcv.yml @@ -0,0 +1,56 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-bcst-rcv +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/construct:/name}, + ${../if/broadcast:/name}, and ${../if/receive:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_message_queue_construct( NULL, NULL ); + (void) rtems_message_queue_broadcast( 0, NULL, 0, NULL ); + (void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemBcstRcv +test-target: testsuites/membench/mem-message-bcst-rcv.c +type: test-suite diff --git a/spec/rtems/message/val/mem-snd-rcv-del.yml b/spec/rtems/message/val/mem-snd-rcv-del.yml new file mode 100644 index 00000000..e26b3f1e --- /dev/null +++ b/spec/rtems/message/val/mem-snd-rcv-del.yml @@ -0,0 +1,57 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-snd-rcv-del +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/construct:/name}, ${../if/send:/name}, + ${../if/receive:/name}, and ${../if/delete:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_message_queue_construct( NULL, NULL ); + (void) rtems_message_queue_send( 0, NULL, 0 ); + (void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 ); + (void) rtems_message_queue_delete( 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSndRcvDel +test-target: testsuites/membench/mem-message-snd-rcv-del.c +type: test-suite diff --git a/spec/rtems/message/val/mem-snd-rcv.yml b/spec/rtems/message/val/mem-snd-rcv.yml new file mode 100644 index 00000000..ebcd6c80 --- /dev/null +++ b/spec/rtems/message/val/mem-snd-rcv.yml @@ -0,0 +1,56 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-snd-rcv +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/construct:/name}, ${../if/send:/name}, + and ${../if/receive:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_message_queue_construct( NULL, NULL ); + (void) rtems_message_queue_send( 0, NULL, 0 ); + (void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSndRcv +test-target: testsuites/membench/mem-message-snd-rcv.c +type: test-suite diff --git a/spec/rtems/message/val/mem-ugt-rcv.yml b/spec/rtems/message/val/mem-ugt-rcv.yml new file mode 100644 index 00000000..780b6bed --- /dev/null +++ b/spec/rtems/message/val/mem-ugt-rcv.yml @@ -0,0 +1,56 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-ugt-rcv +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/construct:/name}, ${../if/urgent:/name}, + and ${../if/receive:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_message_queue_construct( NULL, NULL ); + (void) rtems_message_queue_urgent( 0, NULL, 0 ); + (void) rtems_message_queue_receive( 0, NULL, NULL, 0, 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemUgtRcv +test-target: testsuites/membench/mem-message-ugt-rcv.c +type: test-suite diff --git a/spec/rtems/scheduler/req/mem-add-cpu.yml b/spec/rtems/scheduler/req/mem-add-cpu.yml new file mode 100644 index 00000000..376e3912 --- /dev/null +++ b/spec/rtems/scheduler/req/mem-add-cpu.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-smp-1 +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/add-processor:/name}. +type: requirement diff --git a/spec/rtems/scheduler/req/mem-rm-cpu.yml b/spec/rtems/scheduler/req/mem-rm-cpu.yml new file mode 100644 index 00000000..0cd32774 --- /dev/null +++ b/spec/rtems/scheduler/req/mem-rm-cpu.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-smp-1 +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/remove-processor:/name}. +type: requirement diff --git a/spec/rtems/scheduler/val/mem-add-cpu.yml b/spec/rtems/scheduler/val/mem-add-cpu.yml new file mode 100644 index 00000000..27511fc4 --- /dev/null +++ b/spec/rtems/scheduler/val/mem-add-cpu.yml @@ -0,0 +1,59 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-add-cpu +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/add-processor:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_scheduler_add_processor( 0, 0 ); + } + + #define CONFIGURE_MAXIMUM_PROCESSORS 1 + + #if defined(RTEMS_SMP) + #define CONFIGURE_SCHEDULER_EDF_SMP + #endif + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemAddCpu +test-target: testsuites/membench/mem-scheduler-add-cpu.c +type: test-suite diff --git a/spec/rtems/scheduler/val/mem-rm-cpu.yml b/spec/rtems/scheduler/val/mem-rm-cpu.yml new file mode 100644 index 00000000..44667391 --- /dev/null +++ b/spec/rtems/scheduler/val/mem-rm-cpu.yml @@ -0,0 +1,59 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-rm-cpu +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/remove-processor:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_scheduler_remove_processor( 0, 0 ); + } + + #define CONFIGURE_MAXIMUM_PROCESSORS 1 + + #if defined(RTEMS_SMP) + #define CONFIGURE_SCHEDULER_EDF_SMP + #endif + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemRmCpu +test-target: testsuites/membench/mem-scheduler-rm-cpu.c +type: test-suite diff --git a/spec/rtems/task/req/mem-del.yml b/spec/rtems/task/req/mem-delete.yml index f09c2bc6..f09c2bc6 100644 --- a/spec/rtems/task/req/mem-del.yml +++ b/spec/rtems/task/req/mem-delete.yml diff --git a/spec/rtems/task/req/mem-get-affinity.yml b/spec/rtems/task/req/mem-get-affinity.yml new file mode 100644 index 00000000..0643b450 --- /dev/null +++ b/spec/rtems/task/req/mem-get-affinity.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/get-affinity:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-get-priority.yml b/spec/rtems/task/req/mem-get-priority.yml new file mode 100644 index 00000000..78b8c538 --- /dev/null +++ b/spec/rtems/task/req/mem-get-priority.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/get-priority:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-get-scheduler.yml b/spec/rtems/task/req/mem-get-scheduler.yml new file mode 100644 index 00000000..a3cb6db8 --- /dev/null +++ b/spec/rtems/task/req/mem-get-scheduler.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/get-scheduler:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-mode.yml b/spec/rtems/task/req/mem-mode.yml new file mode 100644 index 00000000..e939e182 --- /dev/null +++ b/spec/rtems/task/req/mem-mode.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to ${../if/mode:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-set-affinity.yml b/spec/rtems/task/req/mem-set-affinity.yml new file mode 100644 index 00000000..cb68b890 --- /dev/null +++ b/spec/rtems/task/req/mem-set-affinity.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/set-affinity:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-set-priority.yml b/spec/rtems/task/req/mem-set-priority.yml new file mode 100644 index 00000000..0cdb2485 --- /dev/null +++ b/spec/rtems/task/req/mem-set-priority.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/set-priority:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-set-scheduler.yml b/spec/rtems/task/req/mem-set-scheduler.yml new file mode 100644 index 00000000..d174ee16 --- /dev/null +++ b/spec/rtems/task/req/mem-set-scheduler.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/set-scheduler:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-wake-after.yml b/spec/rtems/task/req/mem-wake-after.yml new file mode 100644 index 00000000..cc5ecaf3 --- /dev/null +++ b/spec/rtems/task/req/mem-wake-after.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/wake-after:/name}. +type: requirement diff --git a/spec/rtems/task/req/mem-wake-when.yml b/spec/rtems/task/req/mem-wake-when.yml new file mode 100644 index 00000000..5603446d --- /dev/null +++ b/spec/rtems/task/req/mem-wake-when.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to ${../if/wake-when:/name}. +type: requirement diff --git a/spec/rtems/task/val/mem-del.yml b/spec/rtems/task/val/mem-delete.yml index bea76be1..e04de19e 100644 --- a/spec/rtems/task/val/mem-del.yml +++ b/spec/rtems/task/val/mem-delete.yml @@ -4,7 +4,7 @@ copyrights: enabled-by: true links: - role: validation - uid: ../req/mem-del + uid: ../req/mem-delete test-brief: | This static memory usage benchmark program facilitates a basic application configuration with a call to ${../if/delete:/name}. @@ -14,7 +14,6 @@ test-code: | (void) arg; (void) rtems_task_delete( 0 ); - } #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES @@ -49,6 +48,6 @@ test-description: null test-includes: - rtems.h test-local-includes: [] -test-suite-name: MemDel -test-target: testsuites/membench/mem-task-del.c +test-suite-name: MemDelete +test-target: testsuites/membench/mem-task-delete.c type: test-suite diff --git a/spec/rtems/task/val/mem-exit.yml b/spec/rtems/task/val/mem-exit.yml index 061e9e1c..5f1c167a 100644 --- a/spec/rtems/task/val/mem-exit.yml +++ b/spec/rtems/task/val/mem-exit.yml @@ -14,7 +14,6 @@ test-code: | (void) arg; rtems_task_exit(); - } #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES diff --git a/spec/rtems/task/val/mem-get-affinity.yml b/spec/rtems/task/val/mem-get-affinity.yml new file mode 100644 index 00000000..4f0f3653 --- /dev/null +++ b/spec/rtems/task/val/mem-get-affinity.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-get-affinity +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/get-affinity:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_get_affinity( 0, 0, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemGetAffinity +test-target: testsuites/membench/mem-task-get-affinity.c +type: test-suite diff --git a/spec/rtems/task/val/mem-get-priority.yml b/spec/rtems/task/val/mem-get-priority.yml new file mode 100644 index 00000000..24517418 --- /dev/null +++ b/spec/rtems/task/val/mem-get-priority.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-get-priority +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/get-priority:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_get_priority( 0, 0, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemGetPriority +test-target: testsuites/membench/mem-task-get-priority.c +type: test-suite diff --git a/spec/rtems/task/val/mem-get-scheduler.yml b/spec/rtems/task/val/mem-get-scheduler.yml new file mode 100644 index 00000000..e139c852 --- /dev/null +++ b/spec/rtems/task/val/mem-get-scheduler.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-get-scheduler +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/get-scheduler:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_get_scheduler( 0, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemGetScheduler +test-target: testsuites/membench/mem-task-get-scheduler.c +type: test-suite diff --git a/spec/rtems/task/val/mem-mode.yml b/spec/rtems/task/val/mem-mode.yml new file mode 100644 index 00000000..8f05a3d2 --- /dev/null +++ b/spec/rtems/task/val/mem-mode.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-mode +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/mode:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_mode( 0, 0, 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemMode +test-target: testsuites/membench/mem-task-mode.c +type: test-suite diff --git a/spec/rtems/task/val/mem-restart.yml b/spec/rtems/task/val/mem-restart.yml index 403c9503..68fd7e2a 100644 --- a/spec/rtems/task/val/mem-restart.yml +++ b/spec/rtems/task/val/mem-restart.yml @@ -14,7 +14,6 @@ test-code: | (void) arg; (void) rtems_task_restart( 0, 0 ); - } #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES diff --git a/spec/rtems/task/val/mem-set-affinity.yml b/spec/rtems/task/val/mem-set-affinity.yml new file mode 100644 index 00000000..eb17c66d --- /dev/null +++ b/spec/rtems/task/val/mem-set-affinity.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-set-affinity +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/set-affinity:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_set_affinity( 0, 0, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSetAffinity +test-target: testsuites/membench/mem-task-set-affinity.c +type: test-suite diff --git a/spec/rtems/task/val/mem-set-priority.yml b/spec/rtems/task/val/mem-set-priority.yml new file mode 100644 index 00000000..51db9699 --- /dev/null +++ b/spec/rtems/task/val/mem-set-priority.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-set-priority +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/set-priority:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_set_priority( 0, 0, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSetPriority +test-target: testsuites/membench/mem-task-set-priority.c +type: test-suite diff --git a/spec/rtems/task/val/mem-set-scheduler.yml b/spec/rtems/task/val/mem-set-scheduler.yml new file mode 100644 index 00000000..44a7ce07 --- /dev/null +++ b/spec/rtems/task/val/mem-set-scheduler.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-set-scheduler +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/set-scheduler:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_set_scheduler( 0, 0, 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSetScheduler +test-target: testsuites/membench/mem-task-set-scheduler.c +type: test-suite diff --git a/spec/rtems/task/val/mem-sus-res.yml b/spec/rtems/task/val/mem-sus-res.yml index c60a6976..c9e3a4e7 100644 --- a/spec/rtems/task/val/mem-sus-res.yml +++ b/spec/rtems/task/val/mem-sus-res.yml @@ -15,7 +15,6 @@ test-code: | (void) rtems_task_suspend( 0 ); (void) rtems_task_resume( 0 ); - } #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES diff --git a/spec/rtems/task/val/mem-wake-after.yml b/spec/rtems/task/val/mem-wake-after.yml new file mode 100644 index 00000000..79f8bf94 --- /dev/null +++ b/spec/rtems/task/val/mem-wake-after.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-wake-after +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/wake-after:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_wake_after( 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemWakeAfter +test-target: testsuites/membench/mem-task-wake-after.c +type: test-suite diff --git a/spec/rtems/task/val/mem-wake-when.yml b/spec/rtems/task/val/mem-wake-when.yml new file mode 100644 index 00000000..54851446 --- /dev/null +++ b/spec/rtems/task/val/mem-wake-when.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-wake-when +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/wake-when:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_task_wake_when( NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemWakeWhen +test-target: testsuites/membench/mem-task-wake-when.c +type: test-suite diff --git a/spec/rtems/timer/req/mem-after.yml b/spec/rtems/timer/req/mem-after.yml new file mode 100644 index 00000000..25afc60a --- /dev/null +++ b/spec/rtems/timer/req/mem-after.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/create:/name} and + ${../if/fire-after:/name}. +type: requirement diff --git a/spec/rtems/timer/req/mem-cancel.yml b/spec/rtems/timer/req/mem-cancel.yml new file mode 100644 index 00000000..c8772de6 --- /dev/null +++ b/spec/rtems/timer/req/mem-cancel.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/create:/name} and + ${../if/cancel:/name}. +type: requirement diff --git a/spec/rtems/timer/req/mem-delete.yml b/spec/rtems/timer/req/mem-delete.yml new file mode 100644 index 00000000..d2f277c9 --- /dev/null +++ b/spec/rtems/timer/req/mem-delete.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/create:/name} and + ${../if/delete:/name}. +type: requirement diff --git a/spec/rtems/timer/req/mem-reset.yml b/spec/rtems/timer/req/mem-reset.yml new file mode 100644 index 00000000..a97ca882 --- /dev/null +++ b/spec/rtems/timer/req/mem-reset.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/create:/name} and + ${../if/reset:/name}. +type: requirement diff --git a/spec/rtems/timer/req/mem-srv-after.yml b/spec/rtems/timer/req/mem-srv-after.yml new file mode 100644 index 00000000..565ef740 --- /dev/null +++ b/spec/rtems/timer/req/mem-srv-after.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/create:/name} and + ${../if/server-fire-after:/name}. +type: requirement diff --git a/spec/rtems/timer/req/mem-srv-init.yml b/spec/rtems/timer/req/mem-srv-init.yml new file mode 100644 index 00000000..2d574d46 --- /dev/null +++ b/spec/rtems/timer/req/mem-srv-init.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with a call to + ${../if/initiate-server:/name}. +type: requirement diff --git a/spec/rtems/timer/req/mem-srv-when.yml b/spec/rtems/timer/req/mem-srv-when.yml new file mode 100644 index 00000000..fe3229c5 --- /dev/null +++ b/spec/rtems/timer/req/mem-srv-when.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/create:/name} and + ${../if/server-fire-when:/name}. +type: requirement diff --git a/spec/rtems/timer/req/mem-when.yml b/spec/rtems/timer/req/mem-when.yml new file mode 100644 index 00000000..29d2f637 --- /dev/null +++ b/spec/rtems/timer/req/mem-when.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with calls to ${../if/create:/name} and + ${../if/fire-when:/name}. +type: requirement diff --git a/spec/rtems/timer/val/mem-after.yml b/spec/rtems/timer/val/mem-after.yml new file mode 100644 index 00000000..6c45393c --- /dev/null +++ b/spec/rtems/timer/val/mem-after.yml @@ -0,0 +1,55 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-after +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/create:/name} and + ${../if/fire-after:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_create( 0, NULL ); + (void) rtems_timer_fire_after( 0, 0, NULL, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemAfter +test-target: testsuites/membench/mem-timer-after.c +type: test-suite diff --git a/spec/rtems/timer/val/mem-cancel.yml b/spec/rtems/timer/val/mem-cancel.yml new file mode 100644 index 00000000..719dcf93 --- /dev/null +++ b/spec/rtems/timer/val/mem-cancel.yml @@ -0,0 +1,54 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-cancel +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/create:/name} and ${../if/cancel:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_create( 0, NULL ); + (void) rtems_timer_cancel( 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemCancel +test-target: testsuites/membench/mem-timer-cancel.c +type: test-suite diff --git a/spec/rtems/timer/val/mem-delete.yml b/spec/rtems/timer/val/mem-delete.yml new file mode 100644 index 00000000..c68383de --- /dev/null +++ b/spec/rtems/timer/val/mem-delete.yml @@ -0,0 +1,54 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-delete +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/create:/name} and ${../if/delete:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_create( 0, NULL ); + (void) rtems_timer_delete( 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemDelete +test-target: testsuites/membench/mem-timer-delete.c +type: test-suite diff --git a/spec/rtems/timer/val/mem-reset.yml b/spec/rtems/timer/val/mem-reset.yml new file mode 100644 index 00000000..c65d6501 --- /dev/null +++ b/spec/rtems/timer/val/mem-reset.yml @@ -0,0 +1,54 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-reset +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/create:/name} and ${../if/reset:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_create( 0, NULL ); + (void) rtems_timer_reset( 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemReset +test-target: testsuites/membench/mem-timer-reset.c +type: test-suite diff --git a/spec/rtems/timer/val/mem-srv-after.yml b/spec/rtems/timer/val/mem-srv-after.yml new file mode 100644 index 00000000..0fb409ca --- /dev/null +++ b/spec/rtems/timer/val/mem-srv-after.yml @@ -0,0 +1,55 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-srv-after +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/create:/name} and + ${../if/server-fire-after:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_create( 0, NULL ); + (void) rtems_timer_server_fire_after( 0, 0, NULL, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSrvAfter +test-target: testsuites/membench/mem-timer-srv-after.c +type: test-suite diff --git a/spec/rtems/timer/val/mem-srv-init.yml b/spec/rtems/timer/val/mem-srv-init.yml new file mode 100644 index 00000000..39792987 --- /dev/null +++ b/spec/rtems/timer/val/mem-srv-init.yml @@ -0,0 +1,53 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-srv-init +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with a call to ${../if/initiate-server:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_initiate_server( 0, 0, 0 ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSrvInit +test-target: testsuites/membench/mem-timer-srv-init.c +type: test-suite diff --git a/spec/rtems/timer/val/mem-srv-when.yml b/spec/rtems/timer/val/mem-srv-when.yml new file mode 100644 index 00000000..26db4b9d --- /dev/null +++ b/spec/rtems/timer/val/mem-srv-when.yml @@ -0,0 +1,55 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-srv-when +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/create:/name} and + ${../if/server-fire-when:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_create( 0, NULL ); + (void) rtems_timer_server_fire_when( 0, NULL, NULL, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemSrvWhen +test-target: testsuites/membench/mem-timer-srv-when.c +type: test-suite diff --git a/spec/rtems/timer/val/mem-when.yml b/spec/rtems/timer/val/mem-when.yml new file mode 100644 index 00000000..f3b28902 --- /dev/null +++ b/spec/rtems/timer/val/mem-when.yml @@ -0,0 +1,55 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-when +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with calls to ${../if/create:/name} and + ${../if/fire-when:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_timer_create( 0, NULL ); + (void) rtems_timer_fire_when( 0, NULL, NULL, NULL ); + } + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemWhen +test-target: testsuites/membench/mem-timer-when.c +type: test-suite diff --git a/spec/rtems/userext/req/mem-create.yml b/spec/rtems/userext/req/mem-create.yml new file mode 100644 index 00000000..c8361e3e --- /dev/null +++ b/spec/rtems/userext/req/mem-create.yml @@ -0,0 +1,17 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with + ${/acfg/if/max-user-extensions:/name} defined to one and a call to + ${../if/create:/name}. +type: requirement diff --git a/spec/rtems/userext/req/mem-delete.yml b/spec/rtems/userext/req/mem-delete.yml new file mode 100644 index 00000000..6628a8d6 --- /dev/null +++ b/spec/rtems/userext/req/mem-delete.yml @@ -0,0 +1,17 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de +enabled-by: true +links: +- role: requirement-refinement + uid: ../../req/mem-basic +non-functional-type: quality +rationale: null +references: [] +requirement-type: non-functional +text: | + The system shall provide a benchmark program to show the static memory usage + of a basic application configuration with + ${/acfg/if/max-user-extensions:/name} defined to one and calls to + ${../if/create:/name} and ${../if/delete:/name}. +type: requirement diff --git a/spec/rtems/userext/val/mem-create.yml b/spec/rtems/userext/val/mem-create.yml new file mode 100644 index 00000000..2c4f6a34 --- /dev/null +++ b/spec/rtems/userext/val/mem-create.yml @@ -0,0 +1,56 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-create +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with ${/acfg/if/max-user-extensions:/name} defined to one and a + call to ${../if/create:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_extension_create( 0, NULL, NULL ); + } + + #define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemCreate +test-target: testsuites/membench/mem-userext-create.c +type: test-suite diff --git a/spec/rtems/userext/val/mem-delete.yml b/spec/rtems/userext/val/mem-delete.yml new file mode 100644 index 00000000..80b078c2 --- /dev/null +++ b/spec/rtems/userext/val/mem-delete.yml @@ -0,0 +1,57 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: validation + uid: ../req/mem-delete +test-brief: | + This static memory usage benchmark program facilitates a basic application + configuration with ${/acfg/if/max-user-extensions:/name} defined to one and + calls to ${../if/create:/name} and ${../if/delete:/name}. +test-code: | + static void Init( rtems_task_argument arg ) + { + (void) arg; + + (void) rtems_extension_create( 0, NULL, NULL ); + (void) rtems_extension_delete( 0 ); + } + + #define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 + + #define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + + #define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + + #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER + + #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 0 + + #define CONFIGURE_DISABLE_NEWLIB_REENTRANCY + + #define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM + + #define CONFIGURE_MAXIMUM_TASKS 1 + + #define CONFIGURE_RTEMS_INIT_TASKS_TABLE + + #define CONFIGURE_INIT_TASK_ATTRIBUTES TASK_ATTRIBUTES + + #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES + + #define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE TASK_STORAGE_SIZE + + #define CONFIGURE_INIT + + #include <rtems/confdefs.h> +test-description: null +test-includes: +- rtems.h +test-local-includes: [] +test-suite-name: MemDelete +test-target: testsuites/membench/mem-userext-delete.c +type: test-suite |