diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-09-26 09:31:29 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-10-14 07:29:41 +0200 |
commit | 2846b17d7e34f1bdcac579ea1e0fbcb251aff1cb (patch) | |
tree | 417358a08e61a123e196a378a29bed07ae9806f8 /cpukit/score/src/stackallocatorforidle.c | |
parent | score: Require power of two CPU_STACK_MINIMUM_SIZE (diff) | |
download | rtems-2846b17d7e34f1bdcac579ea1e0fbcb251aff1cb.tar.bz2 |
config: Changeable size for IDLE stack allocator
Allow the IDLE stack allocator to change the stack size. This can be
used by applications with a very dynamic thread-local storage size to
adjust the thread storage area of the IDLE tasks dynamically.
Update #4524.
Diffstat (limited to 'cpukit/score/src/stackallocatorforidle.c')
-rw-r--r-- | cpukit/score/src/stackallocatorforidle.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/cpukit/score/src/stackallocatorforidle.c b/cpukit/score/src/stackallocatorforidle.c index 76b6ace1f4..c97dde030f 100644 --- a/cpukit/score/src/stackallocatorforidle.c +++ b/cpukit/score/src/stackallocatorforidle.c @@ -34,27 +34,26 @@ #include <rtems/score/assert.h> /** - * @brief Default stack allocator allocate for idle handler. - * - * The allocate for idle handler is optional even when the user thread stack - * allocator and deallocator are configured. + * @brief Default stack allocator allocate for IDLE threads. * * The default allocator for IDLE thread stacks gets the memory from a * statically allocated area provided via confdefs.h. * - * @param cpu_index Index of the CPU for the IDLE thread using this stack - * @param stack_size The size of the stack area to allocate in bytes. + * @param cpu is the index of the CPU for the IDLE thread using this stack. + * + * @param stack_size[in] is pointer to a size_t object. On function + * entry, the object contains the size of the stack area to allocate in + * bytes. * - * @retval NULL Not enough memory (never returned). - * @retval other Pointer to begin of stack area. + * @return Returns the pointer to begin of the allocated stack area. */ static void *_Stack_Allocator_allocate_for_idle_default( uint32_t cpu_index, - size_t stack_size + size_t *stack_size ) { #if defined(RTEMS_SMP) - return &_Thread_Idle_stacks[ cpu_index * stack_size ]; + return &_Thread_Idle_stacks[ cpu_index * ( *stack_size ) ]; #else _Assert( cpu_index == 0 ); return &_Thread_Idle_stacks[ 0 ]; |