diff options
author | David Howells <dhowells@redhat.com> | 2009-06-11 08:08:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-11 12:02:20 -0400 |
commit | 5d289964e1f1e8a2ec4289274bf15bce6a4f8ab8 (patch) | |
tree | 061886f652727e344067fef18ed50446bae84986 /arch/mn10300/kernel/entry.S | |
parent | fd4f683d045e053abb093f80d81afce30ceadad2 (diff) |
MN10300: Add utrace/tracehooks support
Add utrace/tracehooks support to MN10300.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/mn10300/kernel/entry.S')
-rw-r--r-- | arch/mn10300/kernel/entry.S | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/mn10300/kernel/entry.S b/arch/mn10300/kernel/entry.S index 3dc3e462f92a..7408a27199f3 100644 --- a/arch/mn10300/kernel/entry.S +++ b/arch/mn10300/kernel/entry.S | |||
@@ -76,7 +76,7 @@ ENTRY(system_call) | |||
76 | cmp nr_syscalls,d0 | 76 | cmp nr_syscalls,d0 |
77 | bcc syscall_badsys | 77 | bcc syscall_badsys |
78 | btst _TIF_SYSCALL_TRACE,(TI_flags,a2) | 78 | btst _TIF_SYSCALL_TRACE,(TI_flags,a2) |
79 | bne syscall_trace_entry | 79 | bne syscall_entry_trace |
80 | syscall_call: | 80 | syscall_call: |
81 | add d0,d0,a1 | 81 | add d0,d0,a1 |
82 | add a1,a1 | 82 | add a1,a1 |
@@ -104,11 +104,10 @@ restore_all: | |||
104 | syscall_exit_work: | 104 | syscall_exit_work: |
105 | btst _TIF_SYSCALL_TRACE,d2 | 105 | btst _TIF_SYSCALL_TRACE,d2 |
106 | beq work_pending | 106 | beq work_pending |
107 | __sti # could let do_syscall_trace() call | 107 | __sti # could let syscall_trace_exit() call |
108 | # schedule() instead | 108 | # schedule() instead |
109 | mov fp,d0 | 109 | mov fp,d0 |
110 | mov 1,d1 | 110 | call syscall_trace_exit[],0 # do_syscall_trace(regs) |
111 | call do_syscall_trace[],0 # do_syscall_trace(regs,entryexit) | ||
112 | jmp resume_userspace | 111 | jmp resume_userspace |
113 | 112 | ||
114 | ALIGN | 113 | ALIGN |
@@ -138,13 +137,11 @@ work_notifysig: | |||
138 | jmp resume_userspace | 137 | jmp resume_userspace |
139 | 138 | ||
140 | # perform syscall entry tracing | 139 | # perform syscall entry tracing |
141 | syscall_trace_entry: | 140 | syscall_entry_trace: |
142 | mov -ENOSYS,d0 | 141 | mov -ENOSYS,d0 |
143 | mov d0,(REG_D0,fp) | 142 | mov d0,(REG_D0,fp) |
144 | mov fp,d0 | 143 | mov fp,d0 |
145 | clr d1 | 144 | call syscall_trace_entry[],0 # returns the syscall number to actually use |
146 | call do_syscall_trace[],0 | ||
147 | mov (REG_ORIG_D0,fp),d0 | ||
148 | mov (REG_D1,fp),d1 | 145 | mov (REG_D1,fp),d1 |
149 | cmp nr_syscalls,d0 | 146 | cmp nr_syscalls,d0 |
150 | bcs syscall_call | 147 | bcs syscall_call |