Update of /cvsroot/linux-vax/kernel-2.4/arch/s390/lib
In directory sc8-pr-cvs1:/tmp/cvs-serv23180/arch/s390/lib
Modified Files:
uaccess.S
Log Message:
DA: sync to Marcelo 2.4.18 + remove init_mmap (no longer needed)
Index: uaccess.S
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/s390/lib/uaccess.S,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- uaccess.S 25 Feb 2001 23:15:22 -0000 1.1.1.1
+++ uaccess.S 10 Jun 2003 01:46:09 -0000 1.2
@@ -6,46 +6,92 @@
* Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Authors(s): Martin Schwidefsky (sch...@de...)
*
- * These functions have a non-standard call interface
+ * These functions have standard call interface
*/
#include <asm/lowcore.h>
.text
.align 4
- .globl __copy_from_user_fixup
-__copy_from_user_fixup:
- l 1,__LC_PGM_OLD_PSW+4
- sll 4,1
- srl 4,1
-0: lhi 3,-4096
- sll 3,1
- srl 3,1
- n 3,__LC_TRANS_EXC_ADDR
- sr 3,4
- bm 4(1)
-1: mvcle 2,4,0
- b 4(1)
+ .globl __copy_from_user_asm
+__copy_from_user_asm:
+ lr %r5,%r3
+ sacf 512
+0: mvcle %r2,%r4,0
+ jo 0b
+ sacf 0
+ lr %r2,%r5
+ br %r14
+1: l %r1,__LC_PGM_OLD_PSW+4
+ sll %r4,1
+ srl %r4,1
+2: lhi %r3,-4096
+ sll %r3,1
+ srl %r3,1
+ n %r3,__LC_TRANS_EXC_ADDR
+ sr %r3,%r4
+ bm 4(%r1)
+3: mvcle %r2,%r4,0
+ b 4(%r1)
.section __ex_table,"a"
- .long 1b,0b
+ .long 0b,1b
+ .long 3b,2b
.previous
.align 4
.text
- .globl __copy_to_user_fixup
-__copy_to_user_fixup:
- l 1,__LC_PGM_OLD_PSW+4
- sll 4,1
- srl 4,1
-0: lhi 5,-4096
- sll 5,1
- srl 5,1
- n 5,__LC_TRANS_EXC_ADDR
- sr 5,4
- bm 4(1)
-1: mvcle 4,2,0
- b 4(1)
+ .globl __copy_to_user_asm
+__copy_to_user_asm:
+ lr %r5,%r3
+ sacf 512
+0: mvcle %r4,%r2,0
+ jo 0b
+ sacf 0
+ lr %r2,%r3
+ br %r14
+1: l %r1,__LC_PGM_OLD_PSW+4
+ sll %r4,1
+ srl %r4,1
+2: lhi %r5,-4096
+ sll %r5,1
+ srl %r5,1
+ n %r5,__LC_TRANS_EXC_ADDR
+ sr %r5,%r4
+ bm 4(%r1)
+3: mvcle %r4,%r2,0
+ b 4(%r1)
.section __ex_table,"a"
- .long 1b,0b
+ .long 0b,1b
+ .long 3b,2b
+ .previous
+
+ .align 4
+ .text
+ .globl __clear_user_asm
+__clear_user_asm:
+ lr %r4,%r2
+ lr %r5,%r3
+ sr %r2,%r2
+ sr %r3,%r3
+ sacf 512
+0: mvcle %r4,%r2,0
+ jo 0b
+ sacf 0
+ lr %r2,%r3
+ br %r14
+1: l %r1,__LC_PGM_OLD_PSW+4
+ sll %r4,1
+ srl %r4,1
+2: lhi %r5,-4096
+ sll %r5,1
+ srl %r5,1
+ n %r5,__LC_TRANS_EXC_ADDR
+ sr %r5,%r4
+ bm 4(%r1)
+3: mvcle %r4,%r2,0
+ b 4(%r1)
+ .section __ex_table,"a"
+ .long 0b,1b
+ .long 3b,2b
.previous
|