===== arch/parisc/kernel/syscall.S 1.5 vs edited ===== --- 1.5/arch/parisc/kernel/syscall.S Fri Nov 29 04:31:54 2002 +++ edited/arch/parisc/kernel/syscall.S Fri Dec 20 15:46:40 2002 @@ -94,6 +94,7 @@ mtsp %r0,%sr7 /* get kernel space into sr7 */ STREG %r1,0(%r30) /* Stick r1 (usp) here for now */ + ldo 16(%r30),%r30 mfctl %cr30,%r1 /* get task ptr in %r1 */ LDREG TI_TASK(%r1),%r1 @@ -104,7 +105,8 @@ PSW value is stored. This is needed for gdb and sys_ptrace. */ STREG %r0, TASK_PT_PSW(%r1) STREG %r2, TASK_PT_GR2(%r1) /* preserve rp */ - LDREG 0(%r30), %r2 /* get users sp back */ + LDREG -16(%r30), %r2 /* get users sp back */ + ldo -16(%r30), %r30 STREG %r2, TASK_PT_GR30(%r1) /* ... and save it */ STREG %r19, TASK_PT_GR19(%r1) STREG %r20, TASK_PT_GR20(%r1)