37 #define _GENERAL_INTERRUPT_ENABLE   (0x0008) 
   39 __attribute__((always_inline)) 
static inline unsigned int irq_disable(
void)
 
   43         "mov.w SR, %[state]"                "\n\t" 
   44         "bic %[gie], SR"                    "\n\t" 
   46         "and %[gie], %[state]"              "\n\t" 
   48         : [gie]     
"i"(_GENERAL_INTERRUPT_ENABLE)
 
   55 __attribute__((always_inline)) 
static inline unsigned int irq_enable(
void)
 
   59         "mov.w SR, %[state]"                "\n\t" 
   61         "bis %[gie], SR"                    "\n\t" 
   63         "and %[gie], %[state]"              "\n\t" 
   65         : [gie]     
"i"(_GENERAL_INTERRUPT_ENABLE)
 
   72 __attribute__((always_inline)) 
static inline void irq_restore(
unsigned int state)
 
   75         "bis %[state], SR"                    "\n\t" 
   83 __attribute__((always_inline)) 
static inline bool irq_is_in(
void)
 
   88 __attribute__((always_inline)) 
static inline bool irq_is_enabled(
void)
 
   92         "mov.w SR,%[state]"                   "\n\t" 
MAYBE_INLINE void irq_restore(unsigned state)
This function restores the IRQ disable bit in the status register to the value contained within passe...
 
MAYBE_INLINE unsigned irq_disable(void)
This function sets the IRQ disable bit in the status register.
 
MAYBE_INLINE bool irq_is_enabled(void)
Test if IRQs are currently enabled.
 
MAYBE_INLINE unsigned irq_enable(void)
This function clears the IRQ disable bit in the status register.
 
MAYBE_INLINE bool irq_is_in(void)
Check whether called from interrupt service routine.
 
volatile int __irq_is_in
The current ISR state (inside or not)