diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-02-17 18:20:09 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-02-17 18:20:09 +0000 |
commit | 76802b45d7f67f2e9db1bb6e8a1e11757b0abe2d (patch) | |
tree | 9c7045276a07b674cb26fd6a3c615a3dd0a6580e /os | |
parent | 5231f50f42abe68c24dd81341a4c6feefe951eae (diff) | |
download | ChibiOS-76802b45d7f67f2e9db1bb6e8a1e11757b0abe2d.tar.gz ChibiOS-76802b45d7f67f2e9db1bb6e8a1e11757b0abe2d.tar.bz2 ChibiOS-76802b45d7f67f2e9db1bb6e8a1e11757b0abe2d.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1624 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r-- | os/ports/GCC/SIMIA32/chcore.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/os/ports/GCC/SIMIA32/chcore.h b/os/ports/GCC/SIMIA32/chcore.h index 114e9ef43..00e33faa1 100644 --- a/os/ports/GCC/SIMIA32/chcore.h +++ b/os/ports/GCC/SIMIA32/chcore.h @@ -85,6 +85,8 @@ struct context { */
#define SETUP_CONTEXT(workspace, wsize, pf, arg) { \
uint8_t *esp = (uint8_t *)workspace + wsize; \
+ APUSH(esp, 0); \
+ APUSH(esp, 0); \
APUSH(esp, arg); \
APUSH(esp, threadexit); \
esp -= sizeof(struct intctx); \
@@ -122,7 +124,7 @@ struct context { * Computes the thread working area global size.
*/
#define THD_WA_SIZE(n) STACK_ALIGN(sizeof(Thread) + \
- sizeof(void *) * 2 + \
+ sizeof(void *) * 4 + \
sizeof(struct intctx) + \
sizeof(struct extctx) + \
(n) + (INT_REQUIRED_STACK))
|