mirror of https://github.com/ARMmbed/mbed-os.git
RTX: Support stacks larger than 64k
Cherry pick commit d587474778
-
"RTX: Support stacks larger than 64k"
This allows the latest version of the RTOS to run mbed client over
ethernet without crashing.
pull/1702/head
parent
007223c954
commit
ab3c1e3a16
|
@ -35,7 +35,7 @@
|
|||
.file "HAL_CM0.S"
|
||||
.syntax unified
|
||||
|
||||
.equ TCB_TSTACK, 40
|
||||
.equ TCB_TSTACK, 44
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
NAME HAL_CM0.S
|
||||
|
||||
#define TCB_TSTACK 40
|
||||
#define TCB_TSTACK 44
|
||||
|
||||
EXTERN os_flags
|
||||
EXTERN os_tsk
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
.file "HAL_CM0.S"
|
||||
.syntax unified
|
||||
|
||||
.equ TCB_TSTACK, 40
|
||||
.equ TCB_TSTACK, 44
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
NAME HAL_CM0.S
|
||||
|
||||
#define TCB_TSTACK 40
|
||||
#define TCB_TSTACK 44
|
||||
|
||||
EXTERN os_flags
|
||||
EXTERN os_tsk
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
.file "HAL_CM3.S"
|
||||
.syntax unified
|
||||
|
||||
.equ TCB_TSTACK, 40
|
||||
.equ TCB_TSTACK, 44
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
NAME HAL_CM3.S
|
||||
|
||||
#define TCB_TSTACK 40
|
||||
#define TCB_TSTACK 44
|
||||
|
||||
EXTERN os_flags
|
||||
EXTERN os_tsk
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
.syntax unified
|
||||
|
||||
.equ TCB_STACKF, 37
|
||||
.equ TCB_TSTACK, 40
|
||||
.equ TCB_TSTACK, 44
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
NAME HAL_CM4.S
|
||||
|
||||
#define TCB_STACKF 37
|
||||
#define TCB_TSTACK 40
|
||||
#define TCB_TSTACK 44
|
||||
|
||||
EXTERN os_flags
|
||||
EXTERN os_tsk
|
||||
|
|
|
@ -233,7 +233,7 @@ OS_TID rt_tsk_create (FUNCP task, U32 prio_stksz, void *stk, void *argv) {
|
|||
}
|
||||
/* If "size != 0" use a private user provided stack. */
|
||||
task_context->stack = stk;
|
||||
task_context->priv_stack = (U16)(prio_stksz >> 8);
|
||||
task_context->priv_stack = prio_stksz >> 8;
|
||||
/* Pass parameter 'argv' to 'rt_init_context' */
|
||||
task_context->msg = argv;
|
||||
/* For 'size == 0' system allocates the user stack from the memory pool. */
|
||||
|
|
|
@ -71,8 +71,9 @@ typedef struct OS_TCB {
|
|||
|
||||
/* Hardware dependant part: specific for CM processor */
|
||||
U8 stack_frame; /* Stack frame: 0=Basic, 1=Extended, */
|
||||
U16 reserved; /* Two reserved bytes for alignment */
|
||||
/* (2=VFP/D16 stacked, 4=NEON/D32 stacked) */
|
||||
U16 priv_stack; /* Private stack size, 0= system assigned */
|
||||
U32 priv_stack; /* Private stack size, 0= system assigned */
|
||||
U32 tsk_stack; /* Current task Stack pointer (R13) */
|
||||
U32 *stack; /* Pointer to Task Stack memory block */
|
||||
|
||||
|
@ -80,7 +81,7 @@ typedef struct OS_TCB {
|
|||
FUNCP ptask; /* Task entry address */
|
||||
} *P_TCB;
|
||||
#define TCB_STACKF 37 /* 'stack_frame' offset */
|
||||
#define TCB_TSTACK 40 /* 'tsk_stack' offset */
|
||||
#define TCB_TSTACK 44 /* 'tsk_stack' offset */
|
||||
|
||||
typedef struct OS_PSFE { /* Post Service Fifo Entry */
|
||||
void *id; /* Object Identification */
|
||||
|
|
Loading…
Reference in New Issue