From 657e30c135f22c4448cfd13f8113b23e72776dad Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 19 Nov 2020 16:07:04 +0100 Subject: config: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE In order to better support applications which use the new rtems_task_construct() directive add the CONFIGURE_INIT_TASK_CONSTURCT_STORAGE_SIZE configuration option. If this option is specified, then the Classic API initialization task is constructed with rtems_task_construct(). Update #4181. --- cpukit/doxygen/appl-config.h | 63 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'cpukit/doxygen') diff --git a/cpukit/doxygen/appl-config.h b/cpukit/doxygen/appl-config.h index 00230ac2d6..9883971b7a 100644 --- a/cpukit/doxygen/appl-config.h +++ b/cpukit/doxygen/appl-config.h @@ -1048,6 +1048,58 @@ */ #define CONFIGURE_INIT_TASK_ATTRIBUTES +/* Generated from spec:/acfg/if/init-task-construct-storage-size */ + +/** + * @brief This configuration option is an integer define. + * + * The value of this configuration option defines the task storage size of the + * Classic API initialization task. + * + * @par Default Value + * The default value is 0. + * + * @par Value Constraints + * @parblock + * The value of this configuration option shall satisfy all of the following + * constraints: + * + * * It shall be greater than or equal to #CONFIGURE_MINIMUM_TASK_STACK_SIZE. + * + * * It shall be defined using RTEMS_TASK_STORAGE_SIZE(). + * @endparblock + * + * @par Notes + * @parblock + * If this configuration option is specified, then + * + * * a task storage area of the specified size is statically allocated by + * ```` for the Classic API initialization task, + * + * * the Classic API initialization task is constructed by + * rtems_task_construct() instead of using rtems_task_create(), + * + * * the maximum thread-local storage size defined by + * #CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE is used for the Classic API + * initialization task, + * + * * the Classic API initialization task should be accounted for in + * #CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE, and + * + * * the task storage area used for the Classic API initialization task is not + * reclaimed by the system, if the task is deleted. + * + * The + * + * * #CONFIGURE_INIT_TASK_STACK_SIZE and + * + * * ``CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE`` + * + * configuration options are mutually exclusive. + * @endparblock + */ +#define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE + /* Generated from spec:/acfg/if/init-task-entrypoint */ /** @@ -1145,6 +1197,17 @@ * out by ```` does not overflow an integer of type uintptr_t. * @endparblock + * + * @par Notes + * @parblock + * The + * + * * ``CONFIGURE_INIT_TASK_STACK_SIZE`` and + * + * * #CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE + * + * configuration options are mutually exclusive. + * @endparblock */ #define CONFIGURE_INIT_TASK_STACK_SIZE -- cgit v1.2.3