patch-2.4.18 linux/arch/s390/lib/uaccess.S
Next file: linux/arch/s390/math-emu/math.c
Previous file: linux/arch/s390/kernel/traps.c
Back to the patch index
Back to the overall index
- Lines: 122
- Date:
Fri Dec 21 16:25:30 2001
- Orig file:
linux.orig/arch/s390/lib/uaccess.S
- Orig date:
Mon Feb 18 20:18:39 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/arch/s390/lib/uaccess.S linux/arch/s390/lib/uaccess.S
@@ -6,46 +6,92 @@
* Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Authors(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
*
- * 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
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)