patch-2.4.21 linux-2.4.21/arch/sparc64/solaris/entry64.S
Next file: linux-2.4.21/arch/sparc64/solaris/ioctl.c
Previous file: linux-2.4.21/arch/sparc64/mm/ultra.S
Back to the patch index
Back to the overall index
- Lines: 133
- Date:
2003-06-13 07:51:32.000000000 -0700
- Orig file:
linux-2.4.20/arch/sparc64/solaris/entry64.S
- Orig date:
2000-01-13 12:03:00.000000000 -0800
diff -urN linux-2.4.20/arch/sparc64/solaris/entry64.S linux-2.4.21/arch/sparc64/solaris/entry64.S
@@ -33,7 +33,7 @@
be,pt %icc, 2f
srl %i2, 0, %o2
b,pt %xcc, 2f
- add %sp, STACK_BIAS + REGWIN_SZ, %o0
+ add %sp, PTREGS_OFF, %o0
solaris_sucks:
/* Solaris is a big system which needs to be able to do all the things
@@ -89,7 +89,7 @@
sethi %hi(sys_call_table32), %l6
andcc %l3, 1, %g0
bne,a,pn %icc, 10f
- add %sp, STACK_BIAS + REGWIN_SZ, %o0
+ add %sp, PTREGS_OFF, %o0
10: srl %i2, 0, %o2
mov %i5, %o5
andn %l3, 3, %l7
@@ -99,11 +99,11 @@
2: call %l7
srl %i3, 0, %o3
ret_from_solaris:
- stx %o0, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_I0]
+ stx %o0, [%sp + PTREGS_OFF + PT_V9_I0]
ldx [%g6 + AOFF_task_flags], %l6
sra %o0, 0, %o0
mov %ulo(TSTATE_XCARRY | TSTATE_ICARRY), %g2
- ldx [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TSTATE], %g3
+ ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %g3
cmp %o0, -ENOIOCTLCMD
sllx %g2, 32, %g2
bgeu,pn %xcc, 1f
@@ -111,21 +111,21 @@
/* System call success, clear Carry condition code. */
andn %g3, %g2, %g3
- stx %g3, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TSTATE]
+ stx %g3, [%sp + PTREGS_OFF + PT_V9_TSTATE]
bne,pn %icc, solaris_syscall_trace2
- ldx [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TNPC], %l1
+ ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1
andcc %l1, 1, %g0
bne,pn %icc, 2f
clr %l6
add %l1, 0x4, %l2
- stx %l1, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TPC] ! pc = npc
+ stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC] ! pc = npc
call rtrap
- stx %l2, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TNPC] !npc = npc+4
+ stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] !npc = npc+4
/* When tnpc & 1, this comes from setcontext and we don't want to advance pc */
2: andn %l1, 3, %l1
call rtrap
- stx %l1, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TNPC] !npc = npc&~3
+ stx %l1, [%sp + PTREGS_OFF + PT_V9_TNPC] !npc = npc&~3
1:
/* System call failure, set Carry condition code.
@@ -141,17 +141,17 @@
sll %o0, 2, %o0
or %l6, %lo(solaris_err_table), %l6
ldsw [%l6 + %o0], %o0
-1: stx %o0, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_I0]
+1: stx %o0, [%sp + PTREGS_OFF + PT_V9_I0]
mov 1, %l6
- stx %g3, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TSTATE]
+ stx %g3, [%sp + PTREGS_OFF + PT_V9_TSTATE]
bne,pn %icc, solaris_syscall_trace2
- ldx [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TNPC], %l1
+ ldx [%sp + PTREGS_OFF + PT_V9_TNPC], %l1
andcc %l1, 1, %g0
bne,pn %icc, 2b
add %l1, 0x4, %l2
- stx %l1, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TPC] ! pc = npc
+ stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC] ! pc = npc
call rtrap
- stx %l2, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TNPC] !npc = npc+4
+ stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] !npc = npc+4
solaris_syscall_trace2:
call syscall_trace
@@ -159,9 +159,9 @@
andcc %l1, 1, %g0
bne,pn %icc, 2b
nop
- stx %l1, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TPC]
+ stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC]
call rtrap
- stx %l2, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_TNPC]
+ stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC]
/* This one is tricky, so that's why we do it in assembly */
.globl solaris_sigsuspend
@@ -171,13 +171,13 @@
brlz,pn %o0, ret_from_solaris
nop
call sys_sigsuspend
- stx %o0, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_I0]
+ stx %o0, [%sp + PTREGS_OFF + PT_V9_I0]
.globl solaris_getpid
solaris_getpid:
call sys_getppid /* This is tricky, so don't do it in assembly */
nop
- stx %o0, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_I1]
+ stx %o0, [%sp + PTREGS_OFF + PT_V9_I1]
b,pt %xcc, ret_from_solaris
lduw [%g6 + AOFF_task_pid], %o0
@@ -186,19 +186,19 @@
lduw [%g6 + AOFF_task_euid], %o1
lduw [%g6 + AOFF_task_uid], %o0
b,pt %xcc, ret_from_solaris
- stx %o1, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_I1]
+ stx %o1, [%sp + PTREGS_OFF + PT_V9_I1]
.globl solaris_getgid
solaris_getgid:
lduw [%g6 + AOFF_task_egid], %o1
lduw [%g6 + AOFF_task_gid], %o0
b,pt %xcc, ret_from_solaris
- stx %o1, [%sp + STACK_BIAS + REGWIN_SZ + PT_V9_I1]
+ stx %o1, [%sp + PTREGS_OFF + PT_V9_I1]
.globl solaris_unimplemented
solaris_unimplemented:
call do_sol_unimplemented
- add %sp, STACK_BIAS + REGWIN_SZ, %o0
+ add %sp, PTREGS_OFF, %o0
ba,pt %xcc, ret_from_solaris
nop
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)