• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/s390/kernel/
1/*
2 * Copyright IBM Corp. 2008,2009
3 *
4 *   Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>,
5 *
6 */
7
8#include <asm/asm-offsets.h>
9
10	.globl ftrace_stub
11ftrace_stub:
12	br	%r14
13
14	.globl _mcount
15_mcount:
16#ifdef CONFIG_DYNAMIC_FTRACE
17	br	%r14
18
19	.data
20	.globl	ftrace_dyn_func
21ftrace_dyn_func:
22	.quad	ftrace_stub
23	.previous
24
25	.globl ftrace_caller
26ftrace_caller:
27#endif
28	larl	%r1,function_trace_stop
29	icm	%r1,0xf,0(%r1)
30	bnzr	%r14
31	stmg	%r2,%r5,32(%r15)
32	stg	%r14,112(%r15)
33	lgr	%r1,%r15
34	aghi	%r15,-160
35	stg	%r1,__SF_BACKCHAIN(%r15)
36	lgr	%r2,%r14
37	lg	%r3,168(%r15)
38#ifdef CONFIG_DYNAMIC_FTRACE
39	larl	%r14,ftrace_dyn_func
40#else
41	larl	%r14,ftrace_trace_function
42#endif
43	lg	%r14,0(%r14)
44	basr	%r14,%r14
45#ifdef CONFIG_FUNCTION_GRAPH_TRACER
46#ifdef CONFIG_DYNAMIC_FTRACE
47	.globl	ftrace_graph_caller
48ftrace_graph_caller:
49	# This unconditional branch gets runtime patched. Change only if
50	# you know what you are doing. See ftrace_enable_graph_caller().
51	j	0f
52#endif
53	lg	%r2,272(%r15)
54	lg	%r3,168(%r15)
55	brasl	%r14,prepare_ftrace_return
56	stg	%r2,168(%r15)
570:
58#endif
59	aghi	%r15,160
60	lmg	%r2,%r5,32(%r15)
61	lg	%r14,112(%r15)
62	br	%r14
63
64#ifdef CONFIG_FUNCTION_GRAPH_TRACER
65
66	.globl	return_to_handler
67return_to_handler:
68	stmg	%r2,%r5,32(%r15)
69	lgr	%r1,%r15
70	aghi	%r15,-160
71	stg	%r1,__SF_BACKCHAIN(%r15)
72	brasl	%r14,ftrace_return_to_handler
73	aghi	%r15,160
74	lgr	%r14,%r2
75	lmg	%r2,%r5,32(%r15)
76	br	%r14
77
78#endif
79