diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-24 23:10:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-24 23:34:31 -0400 |
commit | fe06ccaad20257e3bd348b2df9e811fd92211a80 (patch) | |
tree | a5bcaa12ada3428e58524cbdedc0f1bf60bb04b7 /arch/sparc64/kernel/syscalls.S | |
parent | 15df0f3302fdecaa97da0b95d72b3a9a59be8692 (diff) |
sparc64: Split syscall_trace() into two functions.
Christoph Hellwig noticed that having both entry and exit
logic in one function no longer makes sense, and having
seperate ones simplifies things a lot.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/syscalls.S')
-rw-r--r-- | arch/sparc64/kernel/syscalls.S | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/arch/sparc64/kernel/syscalls.S b/arch/sparc64/kernel/syscalls.S index a2f24270ed8a..7a6786a71363 100644 --- a/arch/sparc64/kernel/syscalls.S +++ b/arch/sparc64/kernel/syscalls.S | |||
@@ -65,9 +65,8 @@ sys32_rt_sigreturn: | |||
65 | andcc %l5, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %g0 | 65 | andcc %l5, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT), %g0 |
66 | be,pt %icc, rtrap | 66 | be,pt %icc, rtrap |
67 | nop | 67 | nop |
68 | add %sp, PTREGS_OFF, %o0 | 68 | call syscall_trace_leave |
69 | call syscall_trace | 69 | add %sp, PTREGS_OFF, %o0 |
70 | mov 1, %o1 | ||
71 | ba,pt %xcc, rtrap | 70 | ba,pt %xcc, rtrap |
72 | nop | 71 | nop |
73 | 72 | ||
@@ -159,9 +158,8 @@ linux_sparc_ni_syscall: | |||
159 | or %l7, %lo(sys_ni_syscall), %l7 | 158 | or %l7, %lo(sys_ni_syscall), %l7 |
160 | 159 | ||
161 | linux_syscall_trace32: | 160 | linux_syscall_trace32: |
162 | add %sp, PTREGS_OFF, %o0 | 161 | call syscall_trace_enter |
163 | call syscall_trace | 162 | add %sp, PTREGS_OFF, %o0 |
164 | clr %o1 | ||
165 | brnz,pn %o0, 3f | 163 | brnz,pn %o0, 3f |
166 | mov -ENOSYS, %o0 | 164 | mov -ENOSYS, %o0 |
167 | srl %i0, 0, %o0 | 165 | srl %i0, 0, %o0 |
@@ -172,9 +170,8 @@ linux_syscall_trace32: | |||
172 | srl %i3, 0, %o3 | 170 | srl %i3, 0, %o3 |
173 | 171 | ||
174 | linux_syscall_trace: | 172 | linux_syscall_trace: |
175 | add %sp, PTREGS_OFF, %o0 | 173 | call syscall_trace_enter |
176 | call syscall_trace | 174 | add %sp, PTREGS_OFF, %o0 |
177 | clr %o1 | ||
178 | brnz,pn %o0, 3f | 175 | brnz,pn %o0, 3f |
179 | mov -ENOSYS, %o0 | 176 | mov -ENOSYS, %o0 |
180 | mov %i0, %o0 | 177 | mov %i0, %o0 |
@@ -275,9 +272,8 @@ ret_sys_call: | |||
275 | b,pt %xcc, rtrap | 272 | b,pt %xcc, rtrap |
276 | stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] | 273 | stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] |
277 | linux_syscall_trace2: | 274 | linux_syscall_trace2: |
278 | add %sp, PTREGS_OFF, %o0 | 275 | call syscall_trace_leave |
279 | call syscall_trace | 276 | add %sp, PTREGS_OFF, %o0 |
280 | mov 1, %o1 | ||
281 | stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC] | 277 | stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC] |
282 | ba,pt %xcc, rtrap | 278 | ba,pt %xcc, rtrap |
283 | stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] | 279 | stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] |