aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/solaris
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2005-07-10 19:55:48 -0400
committerDavid S. Miller <davem@davemloft.net>2005-07-10 19:55:48 -0400
commit8d8a64796fdee4e20355c6c12c9cc630a2e7494d (patch)
treedc0d548a520bdad1e2aa7752153bf7c787fc04bd /arch/sparc64/solaris
parentbb49bcda15f1bc1a52c7f887db278447f332eaa7 (diff)
[SPARC64]: Pass regs and entry/exit boolean to syscall_trace()
Also fix a bug in 32-bit syscall tracing. We forgot to update this code when we moved over to the convention that all 32-bit syscall arguments are zero extended by default. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/solaris')
-rw-r--r--arch/sparc64/solaris/entry64.S7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc64/solaris/entry64.S b/arch/sparc64/solaris/entry64.S
index 0cc9dad75c5e..4b6ae583c0a3 100644
--- a/arch/sparc64/solaris/entry64.S
+++ b/arch/sparc64/solaris/entry64.S
@@ -24,8 +24,9 @@
24 24
25 .text 25 .text
26solaris_syscall_trace: 26solaris_syscall_trace:
27 add %sp, PTREGS_OFF, %o0
27 call syscall_trace 28 call syscall_trace
28 nop 29 mov 0, %o1
29 srl %i0, 0, %o0 30 srl %i0, 0, %o0
30 mov %i4, %o4 31 mov %i4, %o4
31 srl %i1, 0, %o1 32 srl %i1, 0, %o1
@@ -159,8 +160,10 @@ ret_from_solaris:
159 stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] !npc = npc+4 160 stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] !npc = npc+4
160 161
161solaris_syscall_trace2: 162solaris_syscall_trace2:
163 add %sp, PTREGS_OFF, %o0
162 call syscall_trace 164 call syscall_trace
163 add %l1, 0x4, %l2 /* npc = npc+4 */ 165 mov 1, %o1
166 add %l1, 0x4, %l2 /* npc = npc+4 */
164 andcc %l1, 1, %g0 167 andcc %l1, 1, %g0
165 bne,pn %icc, 2b 168 bne,pn %icc, 2b
166 nop 169 nop