aboutsummaryrefslogtreecommitdiffstats
path: root/os/nil/ports/ARMCMx/nilcore_v7m.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/nil/ports/ARMCMx/nilcore_v7m.h')
-rw-r--r--os/nil/ports/ARMCMx/nilcore_v7m.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/os/nil/ports/ARMCMx/nilcore_v7m.h b/os/nil/ports/ARMCMx/nilcore_v7m.h
index 41c038fcc..3ee6f15a8 100644
--- a/os/nil/ports/ARMCMx/nilcore_v7m.h
+++ b/os/nil/ports/ARMCMx/nilcore_v7m.h
@@ -455,7 +455,17 @@ static inline bool port_is_isr_context(void) {
static inline void port_lock(void) {
#if CORTEX_SIMPLIFIED_PRIORITY == FALSE
+#if defined(__CM7_REV)
+#if __CM7_REV == 0
+ __disable_irq();
+#endif
+#endif
__set_BASEPRI(CORTEX_BASEPRI_KERNEL);
+#if defined(__CM7_REV)
+#if __CM7_REV == 0
+ __enable_irq();
+#endif
+#endif
#else /* CORTEX_SIMPLIFIED_PRIORITY */
__disable_irq();
#endif /* CORTEX_SIMPLIFIED_PRIORITY */