diff --git a/teensy/teensy_hal.h b/teensy/teensy_hal.h
index d7589975c7f5683675b63bf8c7d0556df387fee3..ffbb70bcc393602d671b2e43cafcfc48b67f2497 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);