From eb3f84b3a0f1677391333337a75f8c2a5d1e15e6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 22 Jun 2010 16:55:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2032 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ports/GCC/ARMCMx/chcore_v7m.h | 8 +++++--- readme.txt | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/os/ports/GCC/ARMCMx/chcore_v7m.h b/os/ports/GCC/ARMCMx/chcore_v7m.h index 4f1e88a48..0c8abcd41 100644 --- a/os/ports/GCC/ARMCMx/chcore_v7m.h +++ b/os/ports/GCC/ARMCMx/chcore_v7m.h @@ -92,7 +92,8 @@ struct intctx { * the idle thread should take no more space than those reserved * by @p INT_REQUIRED_STACK. * @note In this port it is set to 4 because the idle thread does have - * a stack frame when compiling without optimizations. + * a stack frame when compiling without optimizations. You may + * reduce this value to zero when compiling with optimizations. */ #ifndef IDLE_THREAD_STACK_SIZE #define IDLE_THREAD_STACK_SIZE 4 @@ -105,10 +106,11 @@ 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 This port requires no extra stack space for interrupt handling. + * @note In this port it is set to 8 because the function + * @p chSchDoRescheduleI() has a stack frame. */ #ifndef INT_REQUIRED_STACK -#define INT_REQUIRED_STACK 0 +#define INT_REQUIRED_STACK 8 #endif /** diff --git a/readme.txt b/readme.txt index 3cc797f12..691e13e5d 100644 --- a/readme.txt +++ b/readme.txt @@ -59,6 +59,8 @@ ***************************************************************************** *** 2.1.0 *** +- FIX: Fixed insufficient stack space assigned to the idle thread in + Cortex-M3 port (bug 3019594)(backported in 2.0.1). - FIX: Fixed missing check in chIQReadTimeout() and chIQWriteTimeout() (bug 3019158)(backported in 2.0.1). - FIX: Fixed instability in Mutexes subsystem (bug 3019099)(backported -- cgit v1.2.3