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