git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3234 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2011-08-14 12:27:46 +00:00
parent 8de4dd0ed3
commit 9741231ed7
5 changed files with 6 additions and 7 deletions

View File

@ -240,7 +240,7 @@ struct intctx {
#define port_switch(ntp, otp) _port_switch(ntp, otp)
#else
#define port_switch(ntp, otp) { \
if ((void *)(__get_SP() - sizeof(struct intctx)) < (void *)(otp + 1)) \
if ((stkalign_t *)(__get_SP() - sizeof(struct intctx)) < otp->p_stklimit) \
chDbgPanic("stack overflow"); \
_port_switch(ntp, otp); \
}

View File

@ -306,7 +306,7 @@ struct intctx {
#define port_switch(ntp, otp) _port_switch(ntp, otp)
#else
#define port_switch(ntp, otp) { \
if ((void *)(__get_SP() - sizeof(struct intctx)) < (void *)(otp + 1)) \
if ((stkalign_t *)(__get_SP() - sizeof(struct intctx)) < otp->p_stklimit) \
chDbgPanic("stack overflow"); \
_port_switch(ntp, otp); \
}

View File

@ -240,8 +240,8 @@ struct intctx {
#define port_switch(ntp, otp) _port_switch(ntp, otp)
#else
#define port_switch(ntp, otp) { \
struct intctx *r13 = (struct intctx *)__current_sp(); \
if ((void *)(r13 - 1) < (void *)(otp + 1)) \
uint8_t *r13 = (uint8_t *)__current_sp(); \
if ((stkalign_t *)(r13 - sizeof(struct intctx)) < otp->p_stklimit) \
chDbgPanic("stack overflow"); \
_port_switch(ntp, otp); \
}

View File

@ -314,8 +314,8 @@ struct intctx {
#define port_switch(ntp, otp) _port_switch(ntp, otp)
#else
#define port_switch(ntp, otp) { \
struct intctx *r13 = (struct intctx *)__current_sp(); \
if ((void *)(r13 - 1) < (void *)(otp + 1)) \
uint8_t *r13 = (uint8_t *)__current_sp(); \
if ((stkalign_t *)(r13 - sizeof(struct intctx)) < otp->p_stklimit) \
chDbgPanic("stack overflow"); \
_port_switch(ntp, otp); \
}

View File

@ -111,7 +111,6 @@
The process stack is organized to be checked on context switch like other
threads. Now all threads have an explicit stack boundary pointer.
(TODO: documentation to be updated)
(TODO: change to be ported to IAR and Keil ports)
- NEW: Added debug plugin for Eclipse under ./tools/eclipse (backported to
2.2.7).
- NEW: The debug macros chDbgCheck() and chDbgAssert() now can be externally