aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/mcount64.S
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2011-01-05 06:48:11 -0500
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2011-01-05 06:47:31 -0500
commit4cc9bed034d1ae588e5b773ee0edeb74ef3c0ff4 (patch)
tree80f2b7c92d9ef40ee93d82888f305c93c21ef5c8 /arch/s390/kernel/mcount64.S
parent5e9a26928f550157563cfc06ce12c4ae121a02ec (diff)
[S390] cleanup ftrace backend functions
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/mcount64.S')
-rw-r--r--arch/s390/kernel/mcount64.S27
1 files changed, 7 insertions, 20 deletions
diff --git a/arch/s390/kernel/mcount64.S b/arch/s390/kernel/mcount64.S
index b2bae06ad6c7..e73667286ac0 100644
--- a/arch/s390/kernel/mcount64.S
+++ b/arch/s390/kernel/mcount64.S
@@ -18,12 +18,6 @@ _mcount:
18#ifdef CONFIG_DYNAMIC_FTRACE 18#ifdef CONFIG_DYNAMIC_FTRACE
19 br %r14 19 br %r14
20 20
21 .data
22 .globl ftrace_dyn_func
23ftrace_dyn_func:
24 .quad ftrace_stub
25 .previous
26
27 .globl ftrace_caller 21 .globl ftrace_caller
28ftrace_caller: 22ftrace_caller:
29#endif 23#endif
@@ -37,26 +31,19 @@ ftrace_caller:
37 stg %r1,__SF_BACKCHAIN(%r15) 31 stg %r1,__SF_BACKCHAIN(%r15)
38 lgr %r2,%r14 32 lgr %r2,%r14
39 lg %r3,168(%r15) 33 lg %r3,168(%r15)
40#ifdef CONFIG_DYNAMIC_FTRACE
41 larl %r14,ftrace_dyn_func
42#else
43 larl %r14,ftrace_trace_function 34 larl %r14,ftrace_trace_function
44#endif
45 lg %r14,0(%r14) 35 lg %r14,0(%r14)
46 basr %r14,%r14 36 basr %r14,%r14
47#ifdef CONFIG_FUNCTION_GRAPH_TRACER 37#ifdef CONFIG_FUNCTION_GRAPH_TRACER
48#ifdef CONFIG_DYNAMIC_FTRACE 38 lg %r2,168(%r15)
39 lg %r3,272(%r15)
49 .globl ftrace_graph_caller 40 .globl ftrace_graph_caller
50ftrace_graph_caller: 41ftrace_graph_caller:
51 # This unconditional branch gets runtime patched. Change only if 42# The bras instruction gets runtime patched to call prepare_ftrace_return.
52 # you know what you are doing. See ftrace_enable_graph_caller(). 43# See ftrace_enable_ftrace_graph_caller. The patched instruction is:
53 j 0f 44# bras %r14,prepare_ftrace_return
54#endif 45 bras %r14,0f
55 lg %r2,272(%r15) 460: stg %r2,168(%r15)
56 lg %r3,168(%r15)
57 brasl %r14,prepare_ftrace_return
58 stg %r2,168(%r15)
590:
60#endif 47#endif
61 aghi %r15,160 48 aghi %r15,160
62 lmg %r2,%r5,32(%r15) 49 lmg %r2,%r5,32(%r15)