1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Split from entry_64.S
6 #include <linux/magic.h>
7 #include <asm/ppc_asm.h>
8 #include <asm/asm-offsets.h>
9 #include <asm/ftrace.h>
10 #include <asm/ppc-opcode.h>
11 #include <asm/export.h>
14 .pushsection ".tramp.ftrace.text","aw",@progbits;
15 .globl ftrace_tramp_text
20 .pushsection ".tramp.ftrace.init","aw",@progbits;
21 .globl ftrace_tramp_init
29 EXPORT_SYMBOL(_mcount)
35 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
36 _GLOBAL(return_to_handler)
37 /* need to save return values */
48 * We might be called from a module.
49 * Switch to our TOC to run inside the core kernel.
58 bl ftrace_return_to_handler
61 /* return value has real return address */
76 /* Jump back to real return address */
78 #endif /* CONFIG_FUNCTION_GRAPH_TRACER */