diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-01-05 06:48:11 -0500 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-01-05 06:47:31 -0500 |
commit | 4cc9bed034d1ae588e5b773ee0edeb74ef3c0ff4 (patch) | |
tree | 80f2b7c92d9ef40ee93d82888f305c93c21ef5c8 /arch/s390/kernel/mcount64.S | |
parent | 5e9a26928f550157563cfc06ce12c4ae121a02ec (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.S | 27 |
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 | ||
23 | ftrace_dyn_func: | ||
24 | .quad ftrace_stub | ||
25 | .previous | ||
26 | |||
27 | .globl ftrace_caller | 21 | .globl ftrace_caller |
28 | ftrace_caller: | 22 | ftrace_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 |
50 | ftrace_graph_caller: | 41 | ftrace_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) | 46 | 0: stg %r2,168(%r15) |
56 | lg %r3,168(%r15) | ||
57 | brasl %r14,prepare_ftrace_return | ||
58 | stg %r2,168(%r15) | ||
59 | 0: | ||
60 | #endif | 47 | #endif |
61 | aghi %r15,160 | 48 | aghi %r15,160 |
62 | lmg %r2,%r5,32(%r15) | 49 | lmg %r2,%r5,32(%r15) |