28 #ifndef _RTEMS_SCORE_INTERRUPTS_H 29 #define _RTEMS_SCORE_INTERRUPTS_H 35 typedef void (*rtems_raw_irq_hdl) (void);
45 #if !defined(I386_DISABLE_INLINE_ISR_DISABLE_ENABLE) 46 #define i386_disable_interrupts( _level ) \ 48 __asm__ volatile ( "pushf ; \ 55 #define i386_enable_interrupts( _level ) \ 57 __asm__ volatile ( "push %0 ; \ 59 : : "rm" ((_level)) : "cc" \ 63 #define i386_flash_interrupts( _level ) \ 65 __asm__ volatile ( "push %0 ; \ 68 : : "rm" ((_level)) : "cc" \ 72 #define i386_get_interrupt_level( _level ) \ 76 __asm__ volatile ( "pushf ; \ 81 _level = (_eflags & EFLAGS_INTR_ENABLE) ? 0 : 1; \ 84 uint32_t i386_disable_interrupts(
void );
85 void i386_enable_interrupts(uint32_t level);
86 void i386_flash_interrupts(uint32_t level);
87 void i386_set_interrupt_level(uint32_t new_level);
88 uint32_t i386_get_interrupt_level(
void );