[parisc-linux-cvs] linux-2.6 grundler
Grant Grundler
grundler@parisc-linux.org
Wed, 24 Sep 2003 23:22:51 -0600
On Wed, Sep 24, 2003 at 11:19:36PM -0600, Grant Grundler wrote:
> Log message:
> 2.6.0-test5-pa20 replace bb,n/depi sequence with nullification
>
> thanks to lamont for the implementation.
> Same as what was committed to 2.4.22.
I confess to building but not testing this on 2.6.
GDB doesn't like to run on 64-bit and only a500/64-bit
is working with 2.6 (for me).
Index: Makefile
===================================================================
RCS file: /var/cvs/linux-2.6/Makefile,v
retrieving revision 1.56
diff -u -p -r1.56 Makefile
--- Makefile 25 Sep 2003 01:07:21 -0000 1.56
+++ Makefile 25 Sep 2003 05:17:33 -0000
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 0
-EXTRAVERSION = -test5-pa19
+EXTRAVERSION = -test5-pa20
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
Index: arch/parisc/kernel/entry.S
===================================================================
RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/entry.S,v
retrieving revision 1.4
diff -u -p -r1.4 entry.S
--- arch/parisc/kernel/entry.S 21 Sep 2003 14:33:58 -0000 1.4
+++ arch/parisc/kernel/entry.S 25 Sep 2003 05:17:33 -0000
@@ -2343,15 +2343,19 @@ syscall_restore_rfi:
LDREG TASK_PT_PSW(%r1),%r2 /* Get old PSW */
ldi 0x0b,%r20 /* Create new PSW */
depi -1,13,1,%r20 /* C, Q, D, and I bits */
+
/* The values of PA_SINGLESTEP_BIT and PA_BLOCKSTEP_BIT are
* set in include/linux/ptrace.h and converted to PA bitmap
* numbers in asm-offsets.c */
- bb,>=,n %r19,PA_SINGLESTEP_BIT,try_tbit
+
+ /* if ((%r19.PA_SINGLESTEP_BIT)) { %r20.27=1} */
+ extru,= %r19,PA_SINGLESTEP_BIT,1,%r0
depi -1,27,1,%r20 /* R bit */
-try_tbit:
- bb,>=,n %r19,PA_BLOCKSTEP_BIT,psw_setup
+
+ /* if ((%r19.PA_BLOCKSTEP_BIT)) { %r20.7=1} */
+ extru,= %r19,PA_BLOCKSTEP_BIT,1,%r0
depi -1,7,1,%r20 /* T bit */
-psw_setup:
+
STREG %r20,TASK_PT_PSW(%r1)
/* Always store space registers, since sr3 can be changed (e.g. fork) */