aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/entry-common.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/entry-common.S')
-rw-r--r--arch/arm/kernel/entry-common.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index b8c1f1411440..b55cb0331809 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -115,6 +115,7 @@ ENTRY(mcount)
115 .globl mcount_call 115 .globl mcount_call
116mcount_call: 116mcount_call:
117 bl ftrace_stub 117 bl ftrace_stub
118 ldr lr, [fp, #-4] @ restore lr
118 ldmia sp!, {r0-r3, pc} 119 ldmia sp!, {r0-r3, pc}
119 120
120ENTRY(ftrace_caller) 121ENTRY(ftrace_caller)
@@ -126,6 +127,7 @@ ENTRY(ftrace_caller)
126 .globl ftrace_call 127 .globl ftrace_call
127ftrace_call: 128ftrace_call:
128 bl ftrace_stub 129 bl ftrace_stub
130 ldr lr, [fp, #-4] @ restore lr
129 ldmia sp!, {r0-r3, pc} 131 ldmia sp!, {r0-r3, pc}
130 132
131#else 133#else
@@ -137,6 +139,7 @@ ENTRY(mcount)
137 adr r0, ftrace_stub 139 adr r0, ftrace_stub
138 cmp r0, r2 140 cmp r0, r2
139 bne trace 141 bne trace
142 ldr lr, [fp, #-4] @ restore lr
140 ldmia sp!, {r0-r3, pc} 143 ldmia sp!, {r0-r3, pc}
141 144
142trace: 145trace:
@@ -145,6 +148,7 @@ trace:
145 sub r0, r0, #MCOUNT_INSN_SIZE 148 sub r0, r0, #MCOUNT_INSN_SIZE
146 mov lr, pc 149 mov lr, pc
147 mov pc, r2 150 mov pc, r2
151 mov lr, r1 @ restore lr
148 ldmia sp!, {r0-r3, pc} 152 ldmia sp!, {r0-r3, pc}
149 153
150#endif /* CONFIG_DYNAMIC_FTRACE */ 154#endif /* CONFIG_DYNAMIC_FTRACE */