aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-08-09 07:25:16 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-08-09 07:25:16 +0000
commit4b363412c9348457ebce2cf96f25a9c2802b0116 (patch)
tree9e1f39ded7ef58cec45de46b05b64cf7e7c66c00 /os
parent9728e44141592787faff89d858ffba528de70f61 (diff)
downloadChibiOS-4b363412c9348457ebce2cf96f25a9c2802b0116.tar.gz
ChibiOS-4b363412c9348457ebce2cf96f25a9c2802b0116.tar.bz2
ChibiOS-4b363412c9348457ebce2cf96f25a9c2802b0116.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6106 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r--os/kernel/ports/ARMCMx/chcore_v7m.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/os/kernel/ports/ARMCMx/chcore_v7m.h b/os/kernel/ports/ARMCMx/chcore_v7m.h
index 22f81d00a..a0a2680b7 100644
--- a/os/kernel/ports/ARMCMx/chcore_v7m.h
+++ b/os/kernel/ports/ARMCMx/chcore_v7m.h
@@ -121,18 +121,6 @@
#endif
/**
- * @brief SYSTICK handler priority.
- * @note The default SYSTICK handler priority is calculated as the priority
- * level in the middle of the numeric priorities range.
- */
-#if !defined(CORTEX_PRIORITY_SYSTICK)
-#define CORTEX_PRIORITY_SYSTICK (CORTEX_PRIORITY_LEVELS >> 1)
-#elif !CORTEX_IS_VALID_PRIORITY(CORTEX_PRIORITY_SYSTICK)
-/* If it is externally redefined then better perform a validity check on it.*/
-#error "invalid priority level specified for CORTEX_PRIORITY_SYSTICK"
-#endif
-
-/**
* @brief FPU support in context switch.
* @details Activating this option activates the FPU support in the kernel.
*/
@@ -147,6 +135,8 @@
/**
* @brief Simplified priority handling flag.
* @details Activating this option makes the Kernel work in compact mode.
+ * In compact mode interrupts are disabled globally instead of
+ * raising the priority mask to some intermediate level.
*/
#if !defined(CORTEX_SIMPLIFIED_PRIORITY)
#define CORTEX_SIMPLIFIED_PRIORITY FALSE
@@ -194,7 +184,6 @@
/**
* @brief BASEPRI level within kernel lock.
- * @note In compact kernel mode this constant value is enforced to zero.
*/
#define CORTEX_BASEPRI_KERNEL \
CORTEX_PRIO_MASK(CORTEX_MAX_KERNEL_PRIORITY)
@@ -382,7 +371,7 @@ struct context {
#define port_switch(ntp, otp) _port_switch(ntp, otp)
#else
#define port_switch(ntp, otp) { \
- register struct intctx *r13 asm ("r13"); \
+ struct intctx *r13 = __get_PSP(); \
if ((stkalign_t *)(r13 - 1) < otp->p_stklimit) \
chDbgPanic("stack overflow"); \
_port_switch(ntp, otp); \