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. v5: Rename rtems_task_create_from_config() in rtems_task_construct(). Rename CONFIGURE_TASKS_CREATED_FROM_CONFIG in CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE. Add RTEMS_ALIGN_DOWN() and RTEMS_ALIGN_UP(). Change RTEMS_TASK_STORAGE_ALIGNMENT to be an integer instead of a variable attribute. The item used to generate the test case is this: https://git.rtems.org/rtems-central/tree/spec/rtems/task/req/construct-errors.yml Update documentation according to review comments. Sebastian Huber (7): rtems: Add RTEMS_ALIGN_DOWN() rtems: Add RTEMS_ALIGN_UP() CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE rtems: Add rtems_task_construct() doxygen: Move top-level group definitions validation: Add general purpose test suite validation: rtems_task_construct() errors Doxyfile | 2 +- cpukit/doxygen.h | 18 - cpukit/doxygen/appl-config.h | 60 + 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 | 193 ++ cpukit/include/rtems/rtems/tasksimpl.h | 11 + cpukit/include/rtems/score/basedefs.h | 30 + cpukit/include/rtems/score/interr.h | 3 +- cpukit/include/rtems/score/thread.h | 10 + cpukit/rtems/src/taskconstruct.c | 300 +++ cpukit/rtems/src/taskcreate.c | 282 +- cpukit/sapi/src/interrtext.c | 5 +- cpukit/score/src/tlsallocsize.c | 16 +- spec/build/cpukit/librtemscpu.yml | 1 + spec/build/testsuites/grp.yml | 4 + spec/build/testsuites/optvalidation.yml | 15 + spec/build/testsuites/sptests/grp.yml | 2 + spec/build/testsuites/sptests/spfatal33.yml | 19 + spec/build/testsuites/validation/grp.yml | 18 + .../testsuites/validation/validation-0.yml | 20 + 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 +- .../validation/tc-task-construct-errors.c | 2367 +++++++++++++++++ testsuites/validation/ts-validation-0.c | 222 ++ 31 files changed, 3518 insertions(+), 263 deletions(-) create mode 100644 cpukit/doxygen/top-level-groups.h create mode 100644 cpukit/rtems/src/taskconstruct.c create mode 100644 spec/build/testsuites/optvalidation.yml create mode 100644 spec/build/testsuites/sptests/spfatal33.yml create mode 100644 spec/build/testsuites/validation/grp.yml create mode 100644 spec/build/testsuites/validation/validation-0.yml 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-task-construct-errors.c create mode 100644 testsuites/validation/ts-validation-0.c -- 2.26.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel