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.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 8826d9803aeb..2b92ce85f97f 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -214,11 +214,13 @@ ENTRY(vector_swi)
214 * context switches, and waiting for our parent to respond. 214 * context switches, and waiting for our parent to respond.
215 */ 215 */
216__sys_trace: 216__sys_trace:
217 mov r2, scno
217 add r1, sp, #S_OFF 218 add r1, sp, #S_OFF
218 mov r0, #0 @ trace entry [IP = 0] 219 mov r0, #0 @ trace entry [IP = 0]
219 bl syscall_trace 220 bl syscall_trace
220 221
221 adr lr, __sys_trace_return @ return address 222 adr lr, __sys_trace_return @ return address
223 mov scno, r0 @ syscall number (possibly new)
222 add r1, sp, #S_R0 + S_OFF @ pointer to regs 224 add r1, sp, #S_R0 + S_OFF @ pointer to regs
223 cmp scno, #NR_syscalls @ check upper syscall limit 225 cmp scno, #NR_syscalls @ check upper syscall limit
224 ldmccia r1, {r0 - r3} @ have to reload r0 - r3 226 ldmccia r1, {r0 - r3} @ have to reload r0 - r3
@@ -227,6 +229,7 @@ __sys_trace:
227 229
228__sys_trace_return: 230__sys_trace_return:
229 str r0, [sp, #S_R0 + S_OFF]! @ save returned r0 231 str r0, [sp, #S_R0 + S_OFF]! @ save returned r0
232 mov r2, scno
230 mov r1, sp 233 mov r1, sp
231 mov r0, #1 @ trace exit [IP = 1] 234 mov r0, #1 @ trace exit [IP = 1]
232 bl syscall_trace 235 bl syscall_trace