diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-27 03:13:13 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-27 17:33:14 -0700 |
commit | 1c133b4b3d58bf88293eeea0d9d090777333bf48 (patch) | |
tree | b26171abee538e13443ba4470aecc18433afd08a /arch/sparc/kernel/entry.S | |
parent | 768225868c16d882f7a38a11027945284dc9f49e (diff) | |
download | linux-1c133b4b3d58bf88293eeea0d9d090777333bf48.tar.gz linux-1c133b4b3d58bf88293eeea0d9d090777333bf48.tar.bz2 linux-1c133b4b3d58bf88293eeea0d9d090777333bf48.zip |
sparc: Use tracehook routines in syscall_trace().
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/entry.S')
-rw-r--r-- | arch/sparc/kernel/entry.S | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/sparc/kernel/entry.S b/arch/sparc/kernel/entry.S index 2f96256dc515..e8cdf715a546 100644 --- a/arch/sparc/kernel/entry.S +++ b/arch/sparc/kernel/entry.S @@ -1196,8 +1196,9 @@ sys_rt_sigreturn: be 1f nop + add %sp, STACKFRAME_SZ, %o0 call syscall_trace - nop + mov 1, %o1 1: /* We are returning to a signal handler. */ @@ -1287,8 +1288,12 @@ linux_fast_syscall: mov %i3, %o3 linux_syscall_trace: + add %sp, STACKFRAME_SZ, %o0 call syscall_trace - nop + mov 0, %o1 + cmp %o0, 0 + bne 3f + mov -ENOSYS, %o0 mov %i0, %o0 mov %i1, %o1 mov %i2, %o2 @@ -1337,6 +1342,7 @@ syscall_is_too_hard: call %l7 mov %i5, %o5 +3: st %o0, [%sp + STACKFRAME_SZ + PT_I0] ret_sys_call: @@ -1374,6 +1380,8 @@ ret_sys_call: st %l2, [%sp + STACKFRAME_SZ + PT_NPC] linux_syscall_trace2: + add %sp, STACKFRAME_SZ, %o0 + mov 1, %o1 call syscall_trace add %l1, 0x4, %l2 /* npc = npc+4 */ st %l1, [%sp + STACKFRAME_SZ + PT_PC] |