aboutsummaryrefslogtreecommitdiffstats
path: root/os/ports/GCC/ARMCMx
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-07-23 15:12:05 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-07-23 15:12:05 +0000
commit29b2e367666404ac81a56ab66cd8e5d860b8a8d2 (patch)
treef1adddece0b9c8fef9abf8789d226157fdbe1634 /os/ports/GCC/ARMCMx
parent0ce4d551dfd5c15c6908c78c7cd48000454f726d (diff)
downloadChibiOS-29b2e367666404ac81a56ab66cd8e5d860b8a8d2.tar.gz
ChibiOS-29b2e367666404ac81a56ab66cd8e5d860b8a8d2.tar.bz2
ChibiOS-29b2e367666404ac81a56ab66cd8e5d860b8a8d2.zip
Fixed bug 3033624.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2083 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports/GCC/ARMCMx')
-rw-r--r--os/ports/GCC/ARMCMx/chcore_v6m.h4
-rw-r--r--os/ports/GCC/ARMCMx/chcore_v7m.h9
2 files changed, 7 insertions, 6 deletions
diff --git a/os/ports/GCC/ARMCMx/chcore_v6m.h b/os/ports/GCC/ARMCMx/chcore_v6m.h
index b76aa075a..0b0a41858 100644
--- a/os/ports/GCC/ARMCMx/chcore_v6m.h
+++ b/os/ports/GCC/ARMCMx/chcore_v6m.h
@@ -106,7 +106,7 @@ struct intctx {
* a stack frame when compiling without optimizations.
*/
#ifndef IDLE_THREAD_STACK_SIZE
-#define IDLE_THREAD_STACK_SIZE 4
+#define IDLE_THREAD_STACK_SIZE 8
#endif
/**
@@ -120,7 +120,7 @@ struct intctx {
* representing the frame of the function @p chSchDoRescheduleI().
*/
#ifndef INT_REQUIRED_STACK
-#define INT_REQUIRED_STACK 8
+#define INT_REQUIRED_STACK 16
#endif
/**
diff --git a/os/ports/GCC/ARMCMx/chcore_v7m.h b/os/ports/GCC/ARMCMx/chcore_v7m.h
index 0c8abcd41..1461a0745 100644
--- a/os/ports/GCC/ARMCMx/chcore_v7m.h
+++ b/os/ports/GCC/ARMCMx/chcore_v7m.h
@@ -96,7 +96,7 @@ struct intctx {
* reduce this value to zero when compiling with optimizations.
*/
#ifndef IDLE_THREAD_STACK_SIZE
-#define IDLE_THREAD_STACK_SIZE 4
+#define IDLE_THREAD_STACK_SIZE 8
#endif
/**
@@ -106,11 +106,12 @@ struct intctx {
* This value can be zero on those architecture where there is a
* separate interrupt stack and the stack space between @p intctx and
* @p extctx is known to be zero.
- * @note In this port it is set to 8 because the function
- * @p chSchDoRescheduleI() has a stack frame.
+ * @note In this port it is conservatively set to 16 because the function
+ * @p chSchDoRescheduleI() can have a stack frame, expecially with
+ * compiler optimizations disabled.
*/
#ifndef INT_REQUIRED_STACK
-#define INT_REQUIRED_STACK 8
+#define INT_REQUIRED_STACK 16
#endif
/**