17f4dd379Sjsg /* Public domain. */ 27f4dd379Sjsg 37f4dd379Sjsg #ifndef _LINUX_PREEMPT_H 47f4dd379Sjsg #define _LINUX_PREEMPT_H 57f4dd379Sjsg 6c349dbc7Sjsg #include <asm/preempt.h> 71bb76ff1Sjsg #include <sys/param.h> /* for curcpu in machine/cpu.h */ 8c349dbc7Sjsg 949261a46Sjsg static inline void 1049261a46Sjsg preempt_enable(void) 1149261a46Sjsg { 1249261a46Sjsg } 1349261a46Sjsg 1449261a46Sjsg static inline void 1549261a46Sjsg preempt_disable(void) 1649261a46Sjsg { 1749261a46Sjsg } 187f4dd379Sjsg 19*f005ef32Sjsg static inline void 20*f005ef32Sjsg migrate_enable(void) 21*f005ef32Sjsg { 22*f005ef32Sjsg } 23*f005ef32Sjsg 24*f005ef32Sjsg static inline void 25*f005ef32Sjsg migrate_disable(void) 26*f005ef32Sjsg { 27*f005ef32Sjsg } 28*f005ef32Sjsg 29517712c5Sjsg static inline bool 30517712c5Sjsg in_irq(void) 31517712c5Sjsg { 32517712c5Sjsg return (curcpu()->ci_idepth > 0); 33517712c5Sjsg } 34517712c5Sjsg 3549261a46Sjsg static inline bool 3649261a46Sjsg in_interrupt(void) 3749261a46Sjsg { 3849261a46Sjsg return in_irq(); 3949261a46Sjsg } 4049261a46Sjsg 4149261a46Sjsg static inline bool 4249261a46Sjsg in_task(void) 4349261a46Sjsg { 4449261a46Sjsg return !in_irq(); 4549261a46Sjsg } 4649261a46Sjsg 4749261a46Sjsg static inline bool 4849261a46Sjsg in_atomic(void) 4949261a46Sjsg { 5049261a46Sjsg return false; 5149261a46Sjsg } 52517712c5Sjsg 537f4dd379Sjsg #endif 54