From ba9930a8caf5ee1226c180ce0b11f149e35d1fd8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 5 Mar 2021 15:21:11 +0100 Subject: membench: Add memory benchmark programs --- spec/build/testsuites/grp.yml | 4 + spec/build/testsuites/membench/grp.yml | 62 +++++++++ .../membench/mem-barrier-wait-rel-del.yml | 19 +++ .../testsuites/membench/mem-barrier-wait-rel.yml | 19 +++ .../build/testsuites/membench/mem-clock-driver.yml | 19 +++ .../testsuites/membench/mem-event-snd-rcv.yml | 19 +++ spec/build/testsuites/membench/mem-fatal-fatal.yml | 19 +++ .../testsuites/membench/mem-part-get-ret-del.yml | 19 +++ .../build/testsuites/membench/mem-part-get-ret.yml | 19 +++ .../testsuites/membench/mem-ratemon-period-del.yml | 19 +++ .../testsuites/membench/mem-ratemon-period.yml | 19 +++ spec/build/testsuites/membench/mem-rtems-basic.yml | 19 +++ spec/build/testsuites/membench/mem-rtems-smp-1.yml | 19 +++ .../testsuites/membench/mem-rtems-smp-global-2.yml | 19 +++ .../testsuites/membench/mem-rtems-smp-global-4.yml | 19 +++ .../testsuites/membench/mem-rtems-smp-part-2.yml | 19 +++ .../testsuites/membench/mem-rtems-smp-part-4.yml | 19 +++ .../testsuites/membench/mem-sem-obt-rel-del.yml | 19 +++ spec/build/testsuites/membench/mem-sem-obt-rel.yml | 19 +++ .../testsuites/membench/mem-signal-catch-snd.yml | 19 +++ spec/build/testsuites/membench/mem-task-del.yml | 19 +++ spec/build/testsuites/membench/mem-task-exit.yml | 19 +++ .../build/testsuites/membench/mem-task-restart.yml | 19 +++ .../build/testsuites/membench/mem-task-sus-res.yml | 19 +++ spec/build/testsuites/optmembench.yml | 15 +++ testsuites/membench/mem-barrier-wait-rel-del.c | 114 +++++++++++++++++ testsuites/membench/mem-barrier-wait-rel.c | 113 +++++++++++++++++ testsuites/membench/mem-clock-driver.c | 107 ++++++++++++++++ testsuites/membench/mem-event-snd-rcv.c | 109 ++++++++++++++++ testsuites/membench/mem-fatal-fatal.c | 107 ++++++++++++++++ testsuites/membench/mem-part-get-ret-del.c | 114 +++++++++++++++++ testsuites/membench/mem-part-get-ret.c | 113 +++++++++++++++++ testsuites/membench/mem-ratemon-period-del.c | 113 +++++++++++++++++ testsuites/membench/mem-ratemon-period.c | 112 +++++++++++++++++ testsuites/membench/mem-rtems-basic.c | 109 ++++++++++++++++ testsuites/membench/mem-rtems-smp-1.c | 113 +++++++++++++++++ testsuites/membench/mem-rtems-smp-global-2.c | 114 +++++++++++++++++ testsuites/membench/mem-rtems-smp-global-4.c | 114 +++++++++++++++++ testsuites/membench/mem-rtems-smp-part-2.c | 130 +++++++++++++++++++ testsuites/membench/mem-rtems-smp-part-4.c | 138 +++++++++++++++++++++ testsuites/membench/mem-sem-obt-rel-del.c | 114 +++++++++++++++++ testsuites/membench/mem-sem-obt-rel.c | 112 +++++++++++++++++ testsuites/membench/mem-signal-catch-snd.c | 109 ++++++++++++++++ testsuites/membench/mem-task-del.c | 107 ++++++++++++++++ testsuites/membench/mem-task-exit.c | 107 ++++++++++++++++ testsuites/membench/mem-task-restart.c | 108 ++++++++++++++++ testsuites/membench/mem-task-sus-res.c | 110 ++++++++++++++++ 47 files changed, 2986 insertions(+) create mode 100644 spec/build/testsuites/membench/grp.yml create mode 100644 spec/build/testsuites/membench/mem-barrier-wait-rel-del.yml create mode 100644 spec/build/testsuites/membench/mem-barrier-wait-rel.yml create mode 100644 spec/build/testsuites/membench/mem-clock-driver.yml create mode 100644 spec/build/testsuites/membench/mem-event-snd-rcv.yml create mode 100644 spec/build/testsuites/membench/mem-fatal-fatal.yml create mode 100644 spec/build/testsuites/membench/mem-part-get-ret-del.yml create mode 100644 spec/build/testsuites/membench/mem-part-get-ret.yml create mode 100644 spec/build/testsuites/membench/mem-ratemon-period-del.yml create mode 100644 spec/build/testsuites/membench/mem-ratemon-period.yml create mode 100644 spec/build/testsuites/membench/mem-rtems-basic.yml create mode 100644 spec/build/testsuites/membench/mem-rtems-smp-1.yml create mode 100644 spec/build/testsuites/membench/mem-rtems-smp-global-2.yml create mode 100644 spec/build/testsuites/membench/mem-rtems-smp-global-4.yml create mode 100644 spec/build/testsuites/membench/mem-rtems-smp-part-2.yml create mode 100644 spec/build/testsuites/membench/mem-rtems-smp-part-4.yml create mode 100644 spec/build/testsuites/membench/mem-sem-obt-rel-del.yml create mode 100644 spec/build/testsuites/membench/mem-sem-obt-rel.yml create mode 100644 spec/build/testsuites/membench/mem-signal-catch-snd.yml create mode 100644 spec/build/testsuites/membench/mem-task-del.yml create mode 100644 spec/build/testsuites/membench/mem-task-exit.yml create mode 100644 spec/build/testsuites/membench/mem-task-restart.yml create mode 100644 spec/build/testsuites/membench/mem-task-sus-res.yml create mode 100644 spec/build/testsuites/optmembench.yml create mode 100644 testsuites/membench/mem-barrier-wait-rel-del.c create mode 100644 testsuites/membench/mem-barrier-wait-rel.c create mode 100644 testsuites/membench/mem-clock-driver.c create mode 100644 testsuites/membench/mem-event-snd-rcv.c create mode 100644 testsuites/membench/mem-fatal-fatal.c create mode 100644 testsuites/membench/mem-part-get-ret-del.c create mode 100644 testsuites/membench/mem-part-get-ret.c create mode 100644 testsuites/membench/mem-ratemon-period-del.c create mode 100644 testsuites/membench/mem-ratemon-period.c create mode 100644 testsuites/membench/mem-rtems-basic.c create mode 100644 testsuites/membench/mem-rtems-smp-1.c create mode 100644 testsuites/membench/mem-rtems-smp-global-2.c create mode 100644 testsuites/membench/mem-rtems-smp-global-4.c create mode 100644 testsuites/membench/mem-rtems-smp-part-2.c create mode 100644 testsuites/membench/mem-rtems-smp-part-4.c create mode 100644 testsuites/membench/mem-sem-obt-rel-del.c create mode 100644 testsuites/membench/mem-sem-obt-rel.c create mode 100644 testsuites/membench/mem-signal-catch-snd.c create mode 100644 testsuites/membench/mem-task-del.c create mode 100644 testsuites/membench/mem-task-exit.c create mode 100644 testsuites/membench/mem-task-restart.c create mode 100644 testsuites/membench/mem-task-sus-res.c diff --git a/spec/build/testsuites/grp.yml b/spec/build/testsuites/grp.yml index cd2cde8187..5f786622ea 100644 --- a/spec/build/testsuites/grp.yml +++ b/spec/build/testsuites/grp.yml @@ -17,6 +17,8 @@ links: uid: optfs - role: build-dependency uid: optlib +- role: build-dependency + uid: optmembench - role: build-dependency uid: optmp - role: build-dependency @@ -41,6 +43,8 @@ links: uid: grpqual - role: build-dependency uid: grpnoqual +- role: build-dependency + uid: membench/grp - role: build-dependency uid: validation/grp - role: build-dependency diff --git a/spec/build/testsuites/membench/grp.yml b/spec/build/testsuites/membench/grp.yml new file mode 100644 index 0000000000..3ade6f1bee --- /dev/null +++ b/spec/build/testsuites/membench/grp.yml @@ -0,0 +1,62 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: group +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: +- BUILD_TESTS +- BUILD_MEMBENCH +includes: +- ${BSP_INCLUDES} +install: [] +ldflags: [] +links: +- role: build-dependency + uid: mem-rtems-basic +- role: build-dependency + uid: mem-rtems-smp-1 +- role: build-dependency + uid: mem-rtems-smp-global-2 +- role: build-dependency + uid: mem-rtems-smp-global-4 +- role: build-dependency + uid: mem-rtems-smp-part-2 +- role: build-dependency + uid: mem-rtems-smp-part-4 +- role: build-dependency + uid: mem-barrier-wait-rel +- role: build-dependency + uid: mem-barrier-wait-rel-del +- role: build-dependency + uid: mem-clock-driver +- role: build-dependency + uid: mem-event-snd-rcv +- role: build-dependency + uid: mem-part-get-ret +- role: build-dependency + uid: mem-fatal-fatal +- role: build-dependency + uid: mem-part-get-ret-del +- role: build-dependency + uid: mem-ratemon-period +- role: build-dependency + uid: mem-ratemon-period-del +- role: build-dependency + uid: mem-sem-obt-rel +- role: build-dependency + uid: mem-sem-obt-rel-del +- role: build-dependency + uid: mem-signal-catch-snd +- role: build-dependency + uid: mem-task-exit +- role: build-dependency + uid: mem-task-del +- role: build-dependency + uid: mem-task-restart +- role: build-dependency + uid: mem-task-sus-res +type: build +use-after: +- rtemstest +- rtemscpu +- rtemsbsp +use-before: [] diff --git a/spec/build/testsuites/membench/mem-barrier-wait-rel-del.yml b/spec/build/testsuites/membench/mem-barrier-wait-rel-del.yml new file mode 100644 index 0000000000..c95f69934f --- /dev/null +++ b/spec/build/testsuites/membench/mem-barrier-wait-rel-del.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-barrier-wait-rel-del.c +stlib: [] +target: testsuites/membench/mem-barrier-wait-rel-del.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-barrier-wait-rel.yml b/spec/build/testsuites/membench/mem-barrier-wait-rel.yml new file mode 100644 index 0000000000..449702237b --- /dev/null +++ b/spec/build/testsuites/membench/mem-barrier-wait-rel.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-barrier-wait-rel.c +stlib: [] +target: testsuites/membench/mem-barrier-wait-rel.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-clock-driver.yml b/spec/build/testsuites/membench/mem-clock-driver.yml new file mode 100644 index 0000000000..ba36eae44b --- /dev/null +++ b/spec/build/testsuites/membench/mem-clock-driver.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-clock-driver.c +stlib: [] +target: testsuites/membench/mem-clock-driver.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-event-snd-rcv.yml b/spec/build/testsuites/membench/mem-event-snd-rcv.yml new file mode 100644 index 0000000000..ef5ba68cec --- /dev/null +++ b/spec/build/testsuites/membench/mem-event-snd-rcv.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-event-snd-rcv.c +stlib: [] +target: testsuites/membench/mem-event-snd-rcv.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-fatal-fatal.yml b/spec/build/testsuites/membench/mem-fatal-fatal.yml new file mode 100644 index 0000000000..f4b0b38177 --- /dev/null +++ b/spec/build/testsuites/membench/mem-fatal-fatal.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-fatal-fatal.c +stlib: [] +target: testsuites/membench/mem-fatal-fatal.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-part-get-ret-del.yml b/spec/build/testsuites/membench/mem-part-get-ret-del.yml new file mode 100644 index 0000000000..b05ccc1afb --- /dev/null +++ b/spec/build/testsuites/membench/mem-part-get-ret-del.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-part-get-ret-del.c +stlib: [] +target: testsuites/membench/mem-part-get-ret-del.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-part-get-ret.yml b/spec/build/testsuites/membench/mem-part-get-ret.yml new file mode 100644 index 0000000000..1d0f3b5fef --- /dev/null +++ b/spec/build/testsuites/membench/mem-part-get-ret.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-part-get-ret.c +stlib: [] +target: testsuites/membench/mem-part-get-ret.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-ratemon-period-del.yml b/spec/build/testsuites/membench/mem-ratemon-period-del.yml new file mode 100644 index 0000000000..650649d2ce --- /dev/null +++ b/spec/build/testsuites/membench/mem-ratemon-period-del.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-ratemon-period-del.c +stlib: [] +target: testsuites/membench/mem-ratemon-period-del.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-ratemon-period.yml b/spec/build/testsuites/membench/mem-ratemon-period.yml new file mode 100644 index 0000000000..7874110038 --- /dev/null +++ b/spec/build/testsuites/membench/mem-ratemon-period.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-ratemon-period.c +stlib: [] +target: testsuites/membench/mem-ratemon-period.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-rtems-basic.yml b/spec/build/testsuites/membench/mem-rtems-basic.yml new file mode 100644 index 0000000000..5b5fa0a59f --- /dev/null +++ b/spec/build/testsuites/membench/mem-rtems-basic.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-rtems-basic.c +stlib: [] +target: testsuites/membench/mem-rtems-basic.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-rtems-smp-1.yml b/spec/build/testsuites/membench/mem-rtems-smp-1.yml new file mode 100644 index 0000000000..57c23a2d21 --- /dev/null +++ b/spec/build/testsuites/membench/mem-rtems-smp-1.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-rtems-smp-1.c +stlib: [] +target: testsuites/membench/mem-rtems-smp-1.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-rtems-smp-global-2.yml b/spec/build/testsuites/membench/mem-rtems-smp-global-2.yml new file mode 100644 index 0000000000..c13056eaac --- /dev/null +++ b/spec/build/testsuites/membench/mem-rtems-smp-global-2.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-rtems-smp-global-2.c +stlib: [] +target: testsuites/membench/mem-rtems-smp-global-2.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-rtems-smp-global-4.yml b/spec/build/testsuites/membench/mem-rtems-smp-global-4.yml new file mode 100644 index 0000000000..cbc214d1ce --- /dev/null +++ b/spec/build/testsuites/membench/mem-rtems-smp-global-4.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-rtems-smp-global-4.c +stlib: [] +target: testsuites/membench/mem-rtems-smp-global-4.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-rtems-smp-part-2.yml b/spec/build/testsuites/membench/mem-rtems-smp-part-2.yml new file mode 100644 index 0000000000..a4ea840917 --- /dev/null +++ b/spec/build/testsuites/membench/mem-rtems-smp-part-2.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-rtems-smp-part-2.c +stlib: [] +target: testsuites/membench/mem-rtems-smp-part-2.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-rtems-smp-part-4.yml b/spec/build/testsuites/membench/mem-rtems-smp-part-4.yml new file mode 100644 index 0000000000..00657aa52c --- /dev/null +++ b/spec/build/testsuites/membench/mem-rtems-smp-part-4.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-rtems-smp-part-4.c +stlib: [] +target: testsuites/membench/mem-rtems-smp-part-4.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-sem-obt-rel-del.yml b/spec/build/testsuites/membench/mem-sem-obt-rel-del.yml new file mode 100644 index 0000000000..ff333efcc9 --- /dev/null +++ b/spec/build/testsuites/membench/mem-sem-obt-rel-del.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-sem-obt-rel-del.c +stlib: [] +target: testsuites/membench/mem-sem-obt-rel-del.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-sem-obt-rel.yml b/spec/build/testsuites/membench/mem-sem-obt-rel.yml new file mode 100644 index 0000000000..377d6ea6b1 --- /dev/null +++ b/spec/build/testsuites/membench/mem-sem-obt-rel.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-sem-obt-rel.c +stlib: [] +target: testsuites/membench/mem-sem-obt-rel.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-signal-catch-snd.yml b/spec/build/testsuites/membench/mem-signal-catch-snd.yml new file mode 100644 index 0000000000..5e9d4e4b09 --- /dev/null +++ b/spec/build/testsuites/membench/mem-signal-catch-snd.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-signal-catch-snd.c +stlib: [] +target: testsuites/membench/mem-signal-catch-snd.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-task-del.yml b/spec/build/testsuites/membench/mem-task-del.yml new file mode 100644 index 0000000000..6664a58b77 --- /dev/null +++ b/spec/build/testsuites/membench/mem-task-del.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-task-del.c +stlib: [] +target: testsuites/membench/mem-task-del.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-task-exit.yml b/spec/build/testsuites/membench/mem-task-exit.yml new file mode 100644 index 0000000000..3bab5f05ef --- /dev/null +++ b/spec/build/testsuites/membench/mem-task-exit.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-task-exit.c +stlib: [] +target: testsuites/membench/mem-task-exit.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-task-restart.yml b/spec/build/testsuites/membench/mem-task-restart.yml new file mode 100644 index 0000000000..a052eba2ec --- /dev/null +++ b/spec/build/testsuites/membench/mem-task-restart.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-task-restart.c +stlib: [] +target: testsuites/membench/mem-task-restart.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/membench/mem-task-sus-res.yml b/spec/build/testsuites/membench/mem-task-sus-res.yml new file mode 100644 index 0000000000..3f0fa1eee3 --- /dev/null +++ b/spec/build/testsuites/membench/mem-task-sus-res.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/membench/mem-task-sus-res.c +stlib: [] +target: testsuites/membench/mem-task-sus-res.norun.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/optmembench.yml b/spec/build/testsuites/optmembench.yml new file mode 100644 index 0000000000..d2769c3c98 --- /dev/null +++ b/spec/build/testsuites/optmembench.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- env-enable: null +build-type: option +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +default: false +default-by-variant: [] +description: | + Build the memory benchmark programs (may be also enabled by BUILD_TESTS) +enabled-by: true +links: [] +name: BUILD_MEMBENCH +type: build diff --git a/testsuites/membench/mem-barrier-wait-rel-del.c b/testsuites/membench/mem-barrier-wait-rel-del.c new file mode 100644 index 0000000000..19a0eedb84 --- /dev/null +++ b/testsuites/membench/mem-barrier-wait-rel-del.c @@ -0,0 +1,114 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsBarrierValMemWaitRelDel + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsBarrierValMemWaitRelDel \ + * spec:/rtems/barrier/val/mem-wait-rel-del + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_BARRIERS defined to one + * and calls to rtems_barrier_create(), rtems_barrier_wait(), + * rtems_barrier_release(), and rtems_barrier_delete(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_barrier_create( 0, 0, 0, NULL ); + (void) rtems_barrier_wait( 0, 0 ); + (void) rtems_barrier_release( 0, NULL ); + (void) rtems_barrier_delete( 0 ); +} + +#define CONFIGURE_MAXIMUM_BARRIERS 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 + +/** @} */ diff --git a/testsuites/membench/mem-barrier-wait-rel.c b/testsuites/membench/mem-barrier-wait-rel.c new file mode 100644 index 0000000000..ab6dc63dbc --- /dev/null +++ b/testsuites/membench/mem-barrier-wait-rel.c @@ -0,0 +1,113 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsBarrierValMemWaitRel + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsBarrierValMemWaitRel \ + * spec:/rtems/barrier/val/mem-wait-rel + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_BARRIERS defined to one + * and calls to rtems_barrier_create(), rtems_barrier_wait(), and + * rtems_barrier_release(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_barrier_create( 0, 0, 0, NULL ); + (void) rtems_barrier_wait( 0, 0 ); + (void) rtems_barrier_release( 0, NULL ); +} + +#define CONFIGURE_MAXIMUM_BARRIERS 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 + +/** @} */ diff --git a/testsuites/membench/mem-clock-driver.c b/testsuites/membench/mem-clock-driver.c new file mode 100644 index 0000000000..026a1a7fc2 --- /dev/null +++ b/testsuites/membench/mem-clock-driver.c @@ -0,0 +1,107 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteDevClockValMemDriver + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteDevClockValMemDriver spec:/dev/clock/val/mem-driver + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates "a basic + * application configuration with the clock driver enabled + * (CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + /* Nothing to do */ +} + +#define TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES + +#define TASK_STORAGE_SIZE \ + RTEMS_TASK_STORAGE_SIZE( \ + RTEMS_MINIMUM_STACK_SIZE, \ + TASK_ATTRIBUTES ) + +#define CONFIGURE_APPLICATION_NEEDS_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 + +/** @} */ diff --git a/testsuites/membench/mem-event-snd-rcv.c b/testsuites/membench/mem-event-snd-rcv.c new file mode 100644 index 0000000000..90a6cfc602 --- /dev/null +++ b/testsuites/membench/mem-event-snd-rcv.c @@ -0,0 +1,109 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsEventValMemSndRcv + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsEventValMemSndRcv \ + * spec:/rtems/event/val/mem-snd-rcv + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with calls to rtems_event_send() and + * rtems_event_receive(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_event_send( 0, 0 ); + (void) rtems_event_receive( 0, 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 + +/** @} */ diff --git a/testsuites/membench/mem-fatal-fatal.c b/testsuites/membench/mem-fatal-fatal.c new file mode 100644 index 0000000000..54e641b392 --- /dev/null +++ b/testsuites/membench/mem-fatal-fatal.c @@ -0,0 +1,107 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsFatalValMemFatal + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsFatalValMemFatal \ + * spec:/rtems/fatal/val/mem-fatal + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with a call to rtems_fatal(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + rtems_fatal( 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 + +/** @} */ diff --git a/testsuites/membench/mem-part-get-ret-del.c b/testsuites/membench/mem-part-get-ret-del.c new file mode 100644 index 0000000000..1693c62a67 --- /dev/null +++ b/testsuites/membench/mem-part-get-ret-del.c @@ -0,0 +1,114 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsPartValMemGetRetDel + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsPartValMemGetRetDel \ + * spec:/rtems/part/val/mem-get-ret-del + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PARTITIONS defined to one + * and calls to rtems_partition_create(), rtems_partition_get_buffer(), + * rtems_partition_return_buffer(), and rtems_partition_delete(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_partition_create( 0, NULL, 0, 0, 0, NULL ); + (void) rtems_partition_get_buffer( 0, NULL ); + (void) rtems_partition_return_buffer( 0, NULL ); + (void) rtems_partition_delete( 0 ); +} + +#define CONFIGURE_MAXIMUM_PARTITIONS 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 + +/** @} */ diff --git a/testsuites/membench/mem-part-get-ret.c b/testsuites/membench/mem-part-get-ret.c new file mode 100644 index 0000000000..f143a4c7d3 --- /dev/null +++ b/testsuites/membench/mem-part-get-ret.c @@ -0,0 +1,113 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsPartValMemGetRet + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsPartValMemGetRet \ + * spec:/rtems/part/val/mem-get-ret + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PARTITIONS defined to one + * and calls to rtems_partition_create(), rtems_partition_get_buffer(), and + * rtems_partition_return_buffer(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_partition_create( 0, NULL, 0, 0, 0, NULL ); + (void) rtems_partition_get_buffer( 0, NULL ); + (void) rtems_partition_return_buffer( 0, NULL ); +} + +#define CONFIGURE_MAXIMUM_PARTITIONS 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 + +/** @} */ diff --git a/testsuites/membench/mem-ratemon-period-del.c b/testsuites/membench/mem-ratemon-period-del.c new file mode 100644 index 0000000000..63879d5315 --- /dev/null +++ b/testsuites/membench/mem-ratemon-period-del.c @@ -0,0 +1,113 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsRatemonValMemPeriodDel + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsRatemonValMemPeriodDel \ + * spec:/rtems/ratemon/val/mem-period-del + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PERIODS defined to one + * and calls to rtems_rate_monotonic_create(), rtems_rate_monotonic_period(), + * and rtems_rate_monotonic_delete(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_rate_monotonic_create( 0, NULL ); + (void) rtems_rate_monotonic_period( 0, 0 ); + (void) rtems_rate_monotonic_delete( 0 ); +} + +#define CONFIGURE_MAXIMUM_PERIODS 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 + +/** @} */ diff --git a/testsuites/membench/mem-ratemon-period.c b/testsuites/membench/mem-ratemon-period.c new file mode 100644 index 0000000000..6ddf41ccdc --- /dev/null +++ b/testsuites/membench/mem-ratemon-period.c @@ -0,0 +1,112 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsRatemonValMemPeriod + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsRatemonValMemPeriod \ + * spec:/rtems/ratemon/val/mem-period + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PERIODS defined to one + * and calls to rtems_rate_monotonic_create() and + * rtems_rate_monotonic_period(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_rate_monotonic_create( 0, NULL ); + (void) rtems_rate_monotonic_period( 0, 0 ); +} + +#define CONFIGURE_MAXIMUM_PERIODS 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 + +/** @} */ diff --git a/testsuites/membench/mem-rtems-basic.c b/testsuites/membench/mem-rtems-basic.c new file mode 100644 index 0000000000..c80974dbca --- /dev/null +++ b/testsuites/membench/mem-rtems-basic.c @@ -0,0 +1,109 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsValMemBasic + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsValMemBasic spec:/rtems/val/mem-basic + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration. + * + * This resource benchmark is configured for exactly one processor, no clock + * driver, no Newlib reentrancy support, and no file system. + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + /* Nothing to do */ +} + +#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 + +/** @} */ diff --git a/testsuites/membench/mem-rtems-smp-1.c b/testsuites/membench/mem-rtems-smp-1.c new file mode 100644 index 0000000000..1a27159206 --- /dev/null +++ b/testsuites/membench/mem-rtems-smp-1.c @@ -0,0 +1,113 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsValMemSmp1 + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsValMemSmp1 spec:/rtems/val/mem-smp-1 + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PROCESSORS defined to one + * using the SMP EDF scheduler (CONFIGURE_SCHEDULER_EDF_SMP). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + /* Nothing to do */ +} + +#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 + +/** @} */ diff --git a/testsuites/membench/mem-rtems-smp-global-2.c b/testsuites/membench/mem-rtems-smp-global-2.c new file mode 100644 index 0000000000..48e8c305d7 --- /dev/null +++ b/testsuites/membench/mem-rtems-smp-global-2.c @@ -0,0 +1,114 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsValMemSmpGlobal2 + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsValMemSmpGlobal2 \ + * spec:/rtems/val/mem-smp-global-2 + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PROCESSORS defined to two + * using the global SMP EDF scheduler (CONFIGURE_SCHEDULER_EDF_SMP). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + /* Nothing to do */ +} + +#define CONFIGURE_MAXIMUM_PROCESSORS 2 + +#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 + +/** @} */ diff --git a/testsuites/membench/mem-rtems-smp-global-4.c b/testsuites/membench/mem-rtems-smp-global-4.c new file mode 100644 index 0000000000..9cf49b967f --- /dev/null +++ b/testsuites/membench/mem-rtems-smp-global-4.c @@ -0,0 +1,114 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsValMemSmpGlobal4 + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsValMemSmpGlobal4 \ + * spec:/rtems/val/mem-smp-global-4 + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PROCESSORS defined to + * four using the global SMP EDF scheduler (CONFIGURE_SCHEDULER_EDF_SMP). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + /* Nothing to do */ +} + +#define CONFIGURE_MAXIMUM_PROCESSORS 4 + +#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 + +/** @} */ diff --git a/testsuites/membench/mem-rtems-smp-part-2.c b/testsuites/membench/mem-rtems-smp-part-2.c new file mode 100644 index 0000000000..e1953202a0 --- /dev/null +++ b/testsuites/membench/mem-rtems-smp-part-2.c @@ -0,0 +1,130 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsValMemSmpPart2 + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsValMemSmpPart2 spec:/rtems/val/mem-smp-part-2 + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PROCESSORS defined to two + * using one SMP EDF scheduler for each configured processor + * (CONFIGURE_SCHEDULER_EDF_SMP). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + /* Nothing to do */ +} + +#define CONFIGURE_MAXIMUM_PROCESSORS 2 + +#if defined(RTEMS_SMP) +#define CONFIGURE_SCHEDULER_EDF_SMP + +#include + +RTEMS_SCHEDULER_EDF_SMP( a ); + +RTEMS_SCHEDULER_EDF_SMP( b ); + +#define NAME( x ) rtems_build_name( x, ' ', ' ', ' ' ) + +#define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ + RTEMS_SCHEDULER_TABLE_EDF_SMP( a, NAME( 'A' ) ), \ + RTEMS_SCHEDULER_TABLE_EDF_SMP( b, NAME( 'B' ) ) + +#define CONFIGURE_SCHEDULER_ASSIGNMENTS \ + RTEMS_SCHEDULER_ASSIGN( 0, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY ), \ + RTEMS_SCHEDULER_ASSIGN( 1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY ) +#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 + +/** @} */ diff --git a/testsuites/membench/mem-rtems-smp-part-4.c b/testsuites/membench/mem-rtems-smp-part-4.c new file mode 100644 index 0000000000..2b9faec475 --- /dev/null +++ b/testsuites/membench/mem-rtems-smp-part-4.c @@ -0,0 +1,138 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsValMemSmpPart4 + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsValMemSmpPart4 spec:/rtems/val/mem-smp-part-4 + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_PROCESSORS defined to + * four using one SMP EDF scheduler for each configured processor + * (CONFIGURE_SCHEDULER_EDF_SMP). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + /* Nothing to do */ +} + +#define CONFIGURE_MAXIMUM_PROCESSORS 4 + +#if defined(RTEMS_SMP) +#define CONFIGURE_SCHEDULER_EDF_SMP + +#include + +RTEMS_SCHEDULER_EDF_SMP( a ); + +RTEMS_SCHEDULER_EDF_SMP( b ); + +RTEMS_SCHEDULER_EDF_SMP( c ); + +RTEMS_SCHEDULER_EDF_SMP( d ); + +#define NAME( x ) rtems_build_name( x, ' ', ' ', ' ' ) + +#define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ + RTEMS_SCHEDULER_TABLE_EDF_SMP( a, NAME( 'A' ) ), \ + RTEMS_SCHEDULER_TABLE_EDF_SMP( b, NAME( 'B' ) ), \ + RTEMS_SCHEDULER_TABLE_EDF_SMP( c, NAME( 'C' ) ), \ + RTEMS_SCHEDULER_TABLE_EDF_SMP( d, NAME( 'D' ) ) + +#define CONFIGURE_SCHEDULER_ASSIGNMENTS \ + RTEMS_SCHEDULER_ASSIGN( 0, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY ), \ + RTEMS_SCHEDULER_ASSIGN( 1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY ), \ + RTEMS_SCHEDULER_ASSIGN( 2, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY ), \ + RTEMS_SCHEDULER_ASSIGN( 3, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY ) +#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 + +/** @} */ diff --git a/testsuites/membench/mem-sem-obt-rel-del.c b/testsuites/membench/mem-sem-obt-rel-del.c new file mode 100644 index 0000000000..35b44ef26d --- /dev/null +++ b/testsuites/membench/mem-sem-obt-rel-del.c @@ -0,0 +1,114 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsSemValMemObtRelDel + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsSemValMemObtRelDel \ + * spec:/rtems/sem/val/mem-obt-rel-del + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_SEMAPHORES defined to one + * and calls to rtems_semaphore_create(), rtems_semaphore_obtain(), + * rtems_semaphore_release(), and rtems_semaphore_delete(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_semaphore_create( 0, 0, 0, 0, NULL ); + (void) rtems_semaphore_obtain( 0, 0, 0 ); + (void) rtems_semaphore_release( 0 ); + (void) rtems_semaphore_delete( 0 ); +} + +#define CONFIGURE_MAXIMUM_SEMAPHORES 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 + +/** @} */ diff --git a/testsuites/membench/mem-sem-obt-rel.c b/testsuites/membench/mem-sem-obt-rel.c new file mode 100644 index 0000000000..fd46af29e8 --- /dev/null +++ b/testsuites/membench/mem-sem-obt-rel.c @@ -0,0 +1,112 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsSemValMemObtRel + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsSemValMemObtRel spec:/rtems/sem/val/mem-obt-rel + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with CONFIGURE_MAXIMUM_SEMAPHORES defined to one + * and calls to rtems_semaphore_create(), rtems_semaphore_obtain(), and + * rtems_semaphore_release(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_semaphore_create( 0, 0, 0, 0, NULL ); + (void) rtems_semaphore_obtain( 0, 0, 0 ); + (void) rtems_semaphore_release( 0 ); +} + +#define CONFIGURE_MAXIMUM_SEMAPHORES 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 + +/** @} */ diff --git a/testsuites/membench/mem-signal-catch-snd.c b/testsuites/membench/mem-signal-catch-snd.c new file mode 100644 index 0000000000..e3581b8537 --- /dev/null +++ b/testsuites/membench/mem-signal-catch-snd.c @@ -0,0 +1,109 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsSignalValMemCatchSnd + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsSignalValMemCatchSnd \ + * spec:/rtems/signal/val/mem-catch-snd + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with calls to rtems_signal_catch() and + * rtems_signal_send(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_signal_catch( NULL, 0 ); + (void) rtems_signal_send( 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 + +/** @} */ diff --git a/testsuites/membench/mem-task-del.c b/testsuites/membench/mem-task-del.c new file mode 100644 index 0000000000..d3571f5dc5 --- /dev/null +++ b/testsuites/membench/mem-task-del.c @@ -0,0 +1,107 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsTaskValMemDel + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsTaskValMemDel spec:/rtems/task/val/mem-del + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with a call to rtems_task_delete(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_task_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 + +/** @} */ diff --git a/testsuites/membench/mem-task-exit.c b/testsuites/membench/mem-task-exit.c new file mode 100644 index 0000000000..ad88fb7d4f --- /dev/null +++ b/testsuites/membench/mem-task-exit.c @@ -0,0 +1,107 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsTaskValMemExit + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsTaskValMemExit spec:/rtems/task/val/mem-exit + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with a call to rtems_task_exit(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + rtems_task_exit(); + +} + +#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 + +/** @} */ diff --git a/testsuites/membench/mem-task-restart.c b/testsuites/membench/mem-task-restart.c new file mode 100644 index 0000000000..f1f191f262 --- /dev/null +++ b/testsuites/membench/mem-task-restart.c @@ -0,0 +1,108 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsTaskValMemRestart + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsTaskValMemRestart \ + * spec:/rtems/task/val/mem-restart + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with a call to rtems_task_restart(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_task_restart( 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 + +/** @} */ diff --git a/testsuites/membench/mem-task-sus-res.c b/testsuites/membench/mem-task-sus-res.c new file mode 100644 index 0000000000..d927d0de51 --- /dev/null +++ b/testsuites/membench/mem-task-sus-res.c @@ -0,0 +1,110 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestSuiteRtemsTaskValMemSusRes + */ + +/* + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +/** + * @defgroup RTEMSTestSuiteRtemsTaskValMemSusRes \ + * spec:/rtems/task/val/mem-sus-res + * + * @ingroup RTEMSTestSuites + * + * @brief This static memory usage benchmark program facilitates a basic + * application configuration with calls to rtems_task_suspend() and + * rtems_task_resume(). + * + * @{ + */ + +static void Init( rtems_task_argument arg ) +{ + (void) arg; + + (void) rtems_task_suspend( 0 ); + (void) rtems_task_resume( 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 + +/** @} */ -- cgit v1.2.3