From 8c0add4eeeb77b8b4c6cb5a0313e6f06b0a62d32 Mon Sep 17 00:00:00 2001
From: Dave Hylands <dhylands@gmail.com>
Date: Sun, 24 Aug 2014 12:21:12 -0700
Subject: [PATCH] Add save/restore_irq

Factored irq functions into a separate file.
---
 teensy/teensy_hal.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/teensy/teensy_hal.h b/teensy/teensy_hal.h
index d7589975c..ffbb70bcc 100644
--- a/teensy/teensy_hal.h
+++ b/teensy/teensy_hal.h
@@ -119,6 +119,19 @@ __attribute__(( always_inline )) static inline void __WFI(void)
   __asm volatile ("wfi");
 }
 
+__attribute__(( always_inline )) static inline uint32_t __get_PRIMASK(void)
+{
+    uint32_t result;
+    __asm volatile ("MRS %0, primask" : "=r" (result));
+    return(result);
+}
+
+__attribute__(( always_inline )) static inline void __set_PRIMASK(uint32_t priMask)
+{
+    __asm volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
+}
+
+
 uint32_t HAL_GetTick(void);
 void     HAL_Delay(uint32_t Delay);
 
-- 
GitLab