diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-12-09 16:03:11 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-12 09:08:36 +0100 |
commit | 32991495b48d1b5e4804b2f10a67a800f4608e75 (patch) | |
tree | 2a05470107f3a8918689b9ed4c94760f08a2631a /cpukit/score/src/threadcreateidle.c | |
parent | score: Move thread stack allocation (diff) | |
download | rtems-32991495b48d1b5e4804b2f10a67a800f4608e75.tar.bz2 |
score: Statically allocate idle/MPCI stacks
Place idle and MPCI stacks into extra linker sections. This can be
optionally used by applications to control the placement of the stacks.
Update #3835.
Diffstat (limited to 'cpukit/score/src/threadcreateidle.c')
-rw-r--r-- | cpukit/score/src/threadcreateidle.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/cpukit/score/src/threadcreateidle.c b/cpukit/score/src/threadcreateidle.c index c06f211a6b..dbb2018bf8 100644 --- a/cpukit/score/src/threadcreateidle.c +++ b/cpukit/score/src/threadcreateidle.c @@ -51,12 +51,11 @@ static void _Thread_Create_idle_for_CPU( Per_CPU_Control *cpu ) config.name.name_u32 = _Objects_Build_name( 'I', 'D', 'L', 'E' ); config.is_fp = CPU_IDLE_TASK_IS_FP; config.is_preemptible = true; - config.stack_size = _Stack_Ensure_minimum( - rtems_configuration_get_idle_task_stack_size() - ); - config.stack_size = _Stack_Extend_size( config.stack_size, config.is_fp ); - config.stack_area = _Stack_Allocate( config.stack_size ); - _Assert( config.stack_area != NULL ); + config.stack_size = rtems_configuration_get_idle_task_stack_size() + + CPU_IDLE_TASK_IS_FP * CONTEXT_FP_SIZE; + config.stack_area = &_Thread_Idle_stacks[ + _Per_CPU_Get_index( cpu ) * config.stack_size + ]; /* * The entire workspace is zeroed during its initialization. Thus, all |