aboutsummaryrefslogtreecommitdiffstats
path: root/ports/ARMCM3
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-01-06 10:15:27 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-01-06 10:15:27 +0000
commit56221d3e7f7635667902c58d5b2db7ff08276094 (patch)
treea13f2485843eb2a6afda7b32370ad4b3b4a06f10 /ports/ARMCM3
parent9f6887fdd7c0abe03144f29d9585ee71c645c8dc (diff)
downloadChibiOS-56221d3e7f7635667902c58d5b2db7ff08276094.tar.gz
ChibiOS-56221d3e7f7635667902c58d5b2db7ff08276094.tar.bz2
ChibiOS-56221d3e7f7635667902c58d5b2db7ff08276094.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@589 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'ports/ARMCM3')
-rw-r--r--ports/ARMCM3/chcore.c2
-rw-r--r--ports/ARMCM3/chcore.h7
2 files changed, 8 insertions, 1 deletions
diff --git a/ports/ARMCM3/chcore.c b/ports/ARMCM3/chcore.c
index 68087b1b4..7110035f1 100644
--- a/ports/ARMCM3/chcore.c
+++ b/ports/ARMCM3/chcore.c
@@ -62,7 +62,7 @@ void threadstart(void) {
* This interrupt is used as system tick.
* @note The timer is initialized in the board setup code.
*/
-void SysTickVector(void) {
+SYS_IRQ_HANDLER void SysTickVector(void) {
chSysIRQEnterI();
chSysLockI();
diff --git a/ports/ARMCM3/chcore.h b/ports/ARMCM3/chcore.h
index 36ee1f93b..c213b9ffd 100644
--- a/ports/ARMCM3/chcore.h
+++ b/ports/ARMCM3/chcore.h
@@ -186,9 +186,16 @@ typedef struct {
*/
#define sys_enable_from_isr() sys_enable()
+#if ENABLE_WFI_IDLE != 0
+/**
+ * This port function is implemented as inlined code for performance reasons.
+ */
#define sys_wait_for_interrupt() { \
asm volatile ("wfi"); \
}
+#else
+#define sys_wait_for_interrupt()
+#endif
/**
* This port function is implemented as inlined code for performance reasons.