summaryrefslogtreecommitdiff
path: root/src/FreeRTOS/portmacro_cmsis.h
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2021-02-14 15:37:28 (GMT)
committerGitea <gitea@fake.local>2021-02-14 15:37:28 (GMT)
commit9d7955b6c0128a72475742495dabb57134dbe56d (patch)
tree27bdf0ae697453f31e0fa6952d3bf0ecbea48c68 /src/FreeRTOS/portmacro_cmsis.h
parentf534fb0356762122842ea49b481619cb963a5d27 (diff)
parent324c7dab326ea23a6c8502bbb8c6e9b9d87a839f (diff)
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/FreeRTOS/portmacro_cmsis.h')
-rw-r--r--src/FreeRTOS/portmacro_cmsis.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/FreeRTOS/portmacro_cmsis.h b/src/FreeRTOS/portmacro_cmsis.h
index 0497538..e6e0915 100644
--- a/src/FreeRTOS/portmacro_cmsis.h
+++ b/src/FreeRTOS/portmacro_cmsis.h
@@ -104,8 +104,10 @@ typedef unsigned long UBaseType_t;
/* Critical section management. */
extern void vPortEnterCritical( void );
extern void vPortExitCritical( void );
-#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortRaiseBASEPRI()
-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vPortSetBASEPRI(x)
+extern uint32_t ulSetInterruptMaskFromISR( void ) __attribute__( ( naked ) );
+extern void vClearInterruptMaskFromISR( uint32_t ulMask ) __attribute__( ( naked ) );
+#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMaskFromISR()
+#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMaskFromISR( x )
#define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" )
#define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" )
#define portENTER_CRITICAL() vPortEnterCritical()