summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/confdefs/wkspace.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update company nameSebastian Huber2023-05-201-1/+1
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* config: Add CONFIGURE_IDLE_TASK_STORAGE_SIZESebastian Huber2022-10-141-7/+43
| | | | | | | | | | | | By default, allocate the IDLE task storage areas from the RTEMS Workspace. This avoids having to estimate the thread-local storage size in the default configuration. Add the application configuration option CONFIGURE_IDLE_TASK_STORAGE_SIZE to request a static allocation of the task storage area for IDLE tasks. Update #3835. Update #4524.
* Add support for IDLE Thread stack allocatorJoel Sherrill2021-10-111-0/+16
| | | | | | | | Add a stack allocator hook specifically for allocation of IDLE thread stacks. This allows the user to decide if IDLE thread stacks are statically allocated or handled by the same custom allocator mechanism as other thread stacks. Closes #4524.
* score: Fix task stack initializationSebastian Huber2021-03-271-3/+18
| | | | | | | | | Do not adjust the stack area begin address since this may confuse the stack allocator and result in failed stack frees. Account for the alignment overhead in the stack space size estimate. Check that the stack size is in the expected interval.
* config: Adjust stack allocator initializationSebastian Huber2021-02-241-1/+1
| | | | | | | Use the right system initialization step for the stack allocator initialization. Do the stack allocator initialization before the workspace initialization so that _Memory_Allocate() can be used to get memory for the allocator.
* config: Fix invalid static assertions in CSebastian Huber2020-12-121-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Expressions in static assertions must be integral constant expressions. In integral constant expressions the use of address constant expressions is not allowed. In static initializers the address constant expressions are allowed. Introduce a new macro _CONFIGURE_ASSERT_NOT_NULL() which leads to a compile time error if the second parameter is NULL. It generates error messages like this if for example #define CONFIGURE_INIT_TASK_ENTRY_POINT NULL is provided by the application: cpukit/include/rtems/confdefs/inittask.h:51:26: error: size of unnamed array is negative 51 | ( _type ) sizeof( int[ ( _value ) != NULL ? 1 : -1 ] ) ) | ^ cpukit/include/rtems/confdefs/inittask.h:170:3: note: in expansion of macro '_CONFIGURE_ASSERT_NOT_NULL' 170 | _CONFIGURE_ASSERT_NOT_NULL( | ^~~~~~~~~~~~~~~~~~~~~~~~~~ This fix relates to CID 1470570 (PARSE_ERROR). Update #4181.
* config: Canonicalize @defgroup and @file commentsSebastian Huber2020-12-021-2/+3
| | | | | | | Adjust group identifier and names to be in line with a common pattern. Use common phrases for the group and file brief descriptions. Update #3706.
* config: Clarify the use of pragmasSebastian Huber2020-11-261-1/+9
|
* config: Initialize task stack allocator on demandSebastian Huber2020-11-191-8/+11
| | | | | Register a custom task stack allocator initialization handler only if necessary.
* config: Simplify task stack allocator initSebastian Huber2020-11-191-0/+18
| | | | | Replace runtime checks with compile time assertions. This makes the INTERNAL_ERROR_BAD_STACK_HOOK obsolete.
* Decouple the C Program Heap initializationSebastian Huber2020-10-011-0/+3
| | | | | | | Before this patch RTEMS_Malloc_Initialize() had a fixed dependency on _Workspace_Area. Introduce _Workspace_Malloc_initializer to have this dependency only if CONFIGURE_UNIFIED_WORK_AREAS is defined by the application configuration.
* score: Simplify CORE_message_queue_BufferSebastian Huber2020-09-281-1/+1
| | | | | | | | | | Merge CORE_message_queue_Buffer structure into CORE_message_queue_Buffer_control. Use a zero-length array for the actual message buffer. This reduces the structure size on all targets. Update #4007.
* rtems: Add rtems_task_construct()Sebastian Huber2020-09-171-1/+3
| | | | | | | | | | | | | | | | | In contrast to rtems_task_create() this function constructs a task with a user-provided task storage area. The new directive uses a configuration structure instead of individual parameters. Add RTEMS_TASK_STORAGE_SIZE() to calculate the recommended size of a task storage area based on the task attributes and the size dedicated to the task stack and thread-local storage. This macro may allow future extensions without breaking the API. Add application configuration option CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE to adjust RTEMS Workspace size estimate. Update #3959.
* score: Add _Stack_Allocator_do_initialize()Sebastian Huber2020-08-311-0/+6
| | | | | | | | Do the stack allocator initialization and sanity check only if a user-provided stack allocator was configured. This avoids a dependency of _Thread_Handler_initialization() on the stack allocator. Update #3959.
* config: Add <rtems/confdefs/wkspace.h>Sebastian Huber2020-02-251-0/+182
Remove all comments and copyrightable content from the moved content. Use BSD-2-Clause license for new file. Change licence of <rtems/confdefs.h> to BSD-2-Clause according to file history. Update #3053. Close #3875.