Commit dfa2a72c authored by Heiko Carstens's avatar Heiko Carstens
Browse files

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: default avatarHeiko Carstens <hca@linux.ibm.com>
Acked-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent 6ef55060
Loading
Loading
Loading
Loading
+0 −20
Original line number Original line Diff line number Diff line
@@ -49,26 +49,6 @@ struct ftrace_insn {
	s32 disp;
	s32 disp;
} __packed;
} __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
#ifdef CONFIG_MODULES
static char *ftrace_plt;
static char *ftrace_plt;
#endif /* CONFIG_MODULES */
#endif /* CONFIG_MODULES */
+16 −0
Original line number Original line Diff line number Diff line
@@ -135,6 +135,22 @@ SYM_FUNC_END(return_to_handler)
#endif
#endif
#endif /* CONFIG_FUNCTION_TRACER */
#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
#ifdef CONFIG_RETHOOK


SYM_FUNC_START(arch_rethook_trampoline)
SYM_FUNC_START(arch_rethook_trampoline)