xref: /openbmc/linux/arch/s390/kernel/ftrace.h (revision 97e6ea6d)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _FTRACE_H
3 #define _FTRACE_H
4 
5 #include <asm/types.h>
6 
7 struct ftrace_hotpatch_trampoline {
8 	u16 brasl_opc;
9 	s32 brasl_disp;
10 	s16: 16;
11 	u64 rest_of_intercepted_function;
12 	u64 interceptor;
13 } __packed;
14 
15 extern struct ftrace_hotpatch_trampoline __ftrace_hotpatch_trampolines_start[];
16 extern struct ftrace_hotpatch_trampoline __ftrace_hotpatch_trampolines_end[];
17 extern const char ftrace_shared_hotpatch_trampoline_br[];
18 extern const char ftrace_shared_hotpatch_trampoline_br_end[];
19 extern const char ftrace_shared_hotpatch_trampoline_ex[];
20 extern const char ftrace_shared_hotpatch_trampoline_ex_end[];
21 extern const char ftrace_shared_hotpatch_trampoline_exrl[];
22 extern const char ftrace_shared_hotpatch_trampoline_exrl_end[];
23 extern const char ftrace_plt_template[];
24 extern const char ftrace_plt_template_end[];
25 
26 #endif /* _FTRACE_H */
27