sim: add CONFIG_SIM_STACKSIZE_ADJUSTMENT to reduce variability
between sim and other different platform stack size setting Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
This commit is contained in:
parent
af614ac77d
commit
6b5a7a73ba
@ -134,6 +134,13 @@ config SIM_WALLTIME_SIGNAL
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config SIM_STACKSIZE_ADJUSTMENT
|
||||||
|
int "The adjustment of stack size for sim"
|
||||||
|
default 65536
|
||||||
|
---help---
|
||||||
|
The adjustment of stack size for sim. When the task is created,
|
||||||
|
the stack size is increased by this amount.
|
||||||
|
|
||||||
config SIM_HOSTFS
|
config SIM_HOSTFS
|
||||||
bool "Simulated HostFS"
|
bool "Simulated HostFS"
|
||||||
depends on FS_HOSTFS
|
depends on FS_HOSTFS
|
||||||
|
@ -92,6 +92,8 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
|
|||||||
FAR uint8_t *stack_alloc_ptr;
|
FAR uint8_t *stack_alloc_ptr;
|
||||||
int ret = ERROR;
|
int ret = ERROR;
|
||||||
|
|
||||||
|
stack_size += CONFIG_SIM_STACKSIZE_ADJUSTMENT;
|
||||||
|
|
||||||
#ifdef CONFIG_TLS_ALIGNED
|
#ifdef CONFIG_TLS_ALIGNED
|
||||||
/* The allocated stack size must not exceed the maximum possible for the
|
/* The allocated stack size must not exceed the maximum possible for the
|
||||||
* TLS feature.
|
* TLS feature.
|
||||||
|
@ -57,9 +57,11 @@ void up_initial_state(struct tcb_s *tcb)
|
|||||||
if (tcb->pid == 0)
|
if (tcb->pid == 0)
|
||||||
{
|
{
|
||||||
tcb->stack_alloc_ptr = (void *)(up_getsp() -
|
tcb->stack_alloc_ptr = (void *)(up_getsp() -
|
||||||
CONFIG_IDLETHREAD_STACKSIZE);
|
CONFIG_IDLETHREAD_STACKSIZE -
|
||||||
|
CONFIG_SIM_STACKSIZE_ADJUSTMENT);
|
||||||
tcb->stack_base_ptr = tcb->stack_alloc_ptr;
|
tcb->stack_base_ptr = tcb->stack_alloc_ptr;
|
||||||
tcb->adj_stack_size = CONFIG_IDLETHREAD_STACKSIZE;
|
tcb->adj_stack_size = CONFIG_IDLETHREAD_STACKSIZE +
|
||||||
|
CONFIG_SIM_STACKSIZE_ADJUSTMENT;
|
||||||
|
|
||||||
#ifdef CONFIG_STACK_COLORATION
|
#ifdef CONFIG_STACK_COLORATION
|
||||||
/* If stack debug is enabled, then fill the stack with a
|
/* If stack debug is enabled, then fill the stack with a
|
||||||
|
@ -1808,14 +1808,12 @@ menu "Stack and heap information"
|
|||||||
|
|
||||||
config DEFAULT_TASK_STACKSIZE
|
config DEFAULT_TASK_STACKSIZE
|
||||||
int "The default stack size for tasks"
|
int "The default stack size for tasks"
|
||||||
default 65536 if ARCH_SIM
|
|
||||||
default 2048
|
default 2048
|
||||||
---help---
|
---help---
|
||||||
The default stack size for tasks.
|
The default stack size for tasks.
|
||||||
|
|
||||||
config IDLETHREAD_STACKSIZE
|
config IDLETHREAD_STACKSIZE
|
||||||
int "Idle thread stack size"
|
int "Idle thread stack size"
|
||||||
default DEFAULT_TASK_STACKSIZE if ARCH_SIM
|
|
||||||
default 1024
|
default 1024
|
||||||
---help---
|
---help---
|
||||||
The size of the initial stack used by the IDLE thread. The IDLE thread
|
The size of the initial stack used by the IDLE thread. The IDLE thread
|
||||||
|
Loading…
Reference in New Issue
Block a user