1 #ifndef __LUNAIX_KPREEMPT_H
2 #define __LUNAIX_KPREEMPT_H
6 #define _preemptible __attribute__((section(".kf.preempt")))
8 #define ensure_preempt_caller() \
10 extern int __kf_preempt_start[]; \
11 extern int __kf_preempt_end[]; \
12 ptr_t _retaddr = abi_get_retaddr(); \
13 assert_msg((ptr_t)__kf_preempt_start <= _retaddr \
14 && _retaddr < (ptr_t)__kf_preempt_end, \
15 "caller must be kernel preemptible"); \
18 #endif /* __LUNAIX_KPREEMPT_H */