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>
13 .pushsection ".tramp.ftrace.text","aw",@progbits;
14 .globl ftrace_tramp_text
19 .pushsection ".tramp.ftrace.init","aw",@progbits;
20 .globl ftrace_tramp_init
27 EXPORT_SYMBOL(_mcount)
33 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
34 _GLOBAL(return_to_handler)
35 /* need to save return values */
45 * We might be called from a module.
46 * Switch to our TOC to run inside the core kernel.
50 bl ftrace_return_to_handler
53 /* return value has real return address */
62 /* Jump back to real return address */
64 #endif /* CONFIG_FUNCTION_GRAPH_TRACER */