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