mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-20 08:47:59 -05:00
s390/ftrace: move hotpatch trampolines to mcount.S
Move the ftrace hotpatch trampolines to mcount.S. This allows to make use of the standard SYM_CODE macros which again makes sure that the hotpatch trampolines follow the function alignment rules of the rest of the kernel. Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Acked-by: Ilya Leoshkevich <iii@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
@@ -49,26 +49,6 @@ struct ftrace_insn {
|
||||
s32 disp;
|
||||
} __packed;
|
||||
|
||||
asm(
|
||||
" .align 16\n"
|
||||
"ftrace_shared_hotpatch_trampoline_br:\n"
|
||||
" lmg %r0,%r1,2(%r1)\n"
|
||||
" br %r1\n"
|
||||
"ftrace_shared_hotpatch_trampoline_br_end:\n"
|
||||
);
|
||||
|
||||
#ifdef CONFIG_EXPOLINE
|
||||
asm(
|
||||
" .align 16\n"
|
||||
"ftrace_shared_hotpatch_trampoline_exrl:\n"
|
||||
" lmg %r0,%r1,2(%r1)\n"
|
||||
" exrl %r0,0f\n"
|
||||
" j .\n"
|
||||
"0: br %r1\n"
|
||||
"ftrace_shared_hotpatch_trampoline_exrl_end:\n"
|
||||
);
|
||||
#endif /* CONFIG_EXPOLINE */
|
||||
|
||||
#ifdef CONFIG_MODULES
|
||||
static char *ftrace_plt;
|
||||
#endif /* CONFIG_MODULES */
|
||||
|
||||
@@ -135,6 +135,22 @@ SYM_FUNC_END(return_to_handler)
|
||||
#endif
|
||||
#endif /* CONFIG_FUNCTION_TRACER */
|
||||
|
||||
SYM_CODE_START(ftrace_shared_hotpatch_trampoline_br)
|
||||
lmg %r0,%r1,2(%r1)
|
||||
br %r1
|
||||
SYM_INNER_LABEL(ftrace_shared_hotpatch_trampoline_br_end, SYM_L_GLOBAL)
|
||||
SYM_CODE_END(ftrace_shared_hotpatch_trampoline_br)
|
||||
|
||||
#ifdef CONFIG_EXPOLINE
|
||||
SYM_CODE_START(ftrace_shared_hotpatch_trampoline_exrl)
|
||||
lmg %r0,%r1,2(%r1)
|
||||
exrl %r0,0f
|
||||
j .
|
||||
0: br %r1
|
||||
SYM_INNER_LABEL(ftrace_shared_hotpatch_trampoline_exrl_end, SYM_L_GLOBAL)
|
||||
SYM_CODE_END(ftrace_shared_hotpatch_trampoline_exrl)
|
||||
#endif /* CONFIG_EXPOLINE */
|
||||
|
||||
#ifdef CONFIG_RETHOOK
|
||||
|
||||
SYM_FUNC_START(arch_rethook_trampoline)
|
||||
|
||||
Reference in New Issue
Block a user