1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _FTRACE_H
3#define _FTRACE_H
4
5#include <asm/types.h>
6
7struct 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
15extern struct ftrace_hotpatch_trampoline __ftrace_hotpatch_trampolines_start[];
16extern struct ftrace_hotpatch_trampoline __ftrace_hotpatch_trampolines_end[];
17extern const char ftrace_shared_hotpatch_trampoline_br[];
18extern const char ftrace_shared_hotpatch_trampoline_br_end[];
19extern const char ftrace_shared_hotpatch_trampoline_exrl[];
20extern const char ftrace_shared_hotpatch_trampoline_exrl_end[];
21extern const char ftrace_plt_template[];
22extern const char ftrace_plt_template_end[];
23
24#endif /* _FTRACE_H */
25