[PATCH v4 0/5] rtems: Add rtems_task_create_from_config()

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Sep 11 15:34:31 UTC 2020


v2:

Rename function from rtems_task_build() to
rtems_task_create_from_config().  Add RTEMS_TASK_STORAGE_ALIGNMENT and
RTEMS_TASK_STORAGE_SIZE().  Improve documentation.

v3:

Add CONFIGURE_TASKS_CREATED_FROM_CONFIG.  Fix RTEMS_TASK_STORAGE_SIZE() if
CPU_ALL_TASKS_ARE_FP == TRUE.

v4:

Add CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE to control the maximum size
reserved for thread-local storage.

Add maximum_thread_local_storage_size member to rtems_task_config to check that
the thread-local storage size in the task configuration is sufficient for the
actual thread-local storage size of the application.

Add a general purpose test suite for basic validation tests.  Add a validation
test case to check the rtems_task_create_from_config() error cases.  The code
is generated from specification items:

https://git.rtems.org/rtems-central/tree/spec/testsuites/validation-0.yml

https://git.rtems.org/rtems-central/tree/spec/req/rtems/tasks/create-from-config-errors.yml

The build system part of the new tests is not included in the patch set.  I
don't want to add a new test suite for the old build system.

Sebastian Huber (5):
  CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
  rtems: Add rtems_task_create_from_config()
  doxygen: Move top-level group definitions
  validation: Add general purpose test suite
  validation: rtems_task_create_from_config() errors

 Doxyfile                                      |    2 +-
 cpukit/Makefile.am                            |    1 +
 cpukit/doxygen.h                              |   18 -
 cpukit/doxygen/appl-config.h                  |   52 +
 cpukit/doxygen/top-level-groups.h             |   50 +
 cpukit/include/rtems/confdefs/threads.h       |   15 +
 cpukit/include/rtems/confdefs/wkspace.h       |    4 +-
 cpukit/include/rtems/rtems/tasks.h            |  163 ++
 cpukit/include/rtems/rtems/tasksimpl.h        |   11 +
 cpukit/include/rtems/score/interr.h           |    3 +-
 cpukit/include/rtems/score/thread.h           |   10 +
 cpukit/rtems/src/taskcreate.c                 |  282 +-
 cpukit/rtems/src/taskcreatefromconfig.c       |  300 +++
 cpukit/sapi/src/interrtext.c                  |    5 +-
 cpukit/score/src/tlsallocsize.c               |   16 +-
 testsuites/sptests/Makefile.am                |    9 +
 testsuites/sptests/configure.ac               |    1 +
 testsuites/sptests/sp01/init.c                |   24 +-
 testsuites/sptests/sp01/sp01.doc              |    1 +
 testsuites/sptests/sp01/system.h              |    3 +-
 testsuites/sptests/spfatal33/init.c           |   55 +
 testsuites/sptests/spfatal33/spfatal33.doc    |   11 +
 testsuites/sptests/spfatal33/spfatal33.scn    |   16 +
 testsuites/sptests/spinternalerror02/init.c   |    4 +-
 .../tc-tasks-create-from-config-errors.c      | 2369 +++++++++++++++++
 testsuites/validation/ts-validation-0.c       |  217 ++
 26 files changed, 3379 insertions(+), 263 deletions(-)
 create mode 100644 cpukit/doxygen/top-level-groups.h
 create mode 100644 cpukit/rtems/src/taskcreatefromconfig.c
 create mode 100644 testsuites/sptests/spfatal33/init.c
 create mode 100644 testsuites/sptests/spfatal33/spfatal33.doc
 create mode 100644 testsuites/sptests/spfatal33/spfatal33.scn
 create mode 100644 testsuites/validation/tc-tasks-create-from-config-errors.c
 create mode 100644 testsuites/validation/ts-validation-0.c

-- 
2.26.2



More information about the devel mailing list