xref: /openbmc/linux/include/asm-generic/kprobes.h (revision a36954f5)
1 #ifndef _ASM_GENERIC_KPROBES_H
2 #define _ASM_GENERIC_KPROBES_H
3 
4 #if defined(__KERNEL__) && !defined(__ASSEMBLY__)
5 #ifdef CONFIG_KPROBES
6 /*
7  * Blacklist ganerating macro. Specify functions which is not probed
8  * by using this macro.
9  */
10 # define __NOKPROBE_SYMBOL(fname)				\
11 static unsigned long __used					\
12 	__attribute__((__section__("_kprobe_blacklist")))	\
13 	_kbl_addr_##fname = (unsigned long)fname;
14 # define NOKPROBE_SYMBOL(fname)	__NOKPROBE_SYMBOL(fname)
15 /* Use this to forbid a kprobes attach on very low level functions */
16 # define __kprobes	__attribute__((__section__(".kprobes.text")))
17 # define nokprobe_inline	__always_inline
18 #else
19 # define NOKPROBE_SYMBOL(fname)
20 # define __kprobes
21 # define nokprobe_inline	inline
22 #endif
23 #endif /* defined(__KERNEL__) && !defined(__ASSEMBLY__) */
24 
25 #endif /* _ASM_GENERIC_KPROBES_H */
26