Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a856413e26785ea5585c06b1aa773ed44bc116aa
Commit:     a856413e26785ea5585c06b1aa773ed44bc116aa
Parent:     d7eb5e98f45e88762676744f1ab0f7f4c1354fb9
Author:     Thomas Gleixner <[EMAIL PROTECTED]>
AuthorDate: Thu Oct 11 11:15:49 2007 +0200
Committer:  Thomas Gleixner <[EMAIL PROTECTED]>
CommitDate: Thu Oct 11 11:15:49 2007 +0200

    x86_64: prepare shared lib/putuser.S
    
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 arch/x86_64/lib/Makefile     |    2 +-
 arch/x86_64/lib/putuser.S    |  106 ------------------------------------------
 arch/x86_64/lib/putuser_64.S |  106 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 107 insertions(+), 107 deletions(-)

diff --git a/arch/x86_64/lib/Makefile b/arch/x86_64/lib/Makefile
index 3e12aa5..430be2c 100644
--- a/arch/x86_64/lib/Makefile
+++ b/arch/x86_64/lib/Makefile
@@ -8,6 +8,6 @@ obj-y := io.o iomap_copy_64.o
 obj-$(CONFIG_SMP)      += msr-on-cpu.o
 
 lib-y := csum-partial.o csum-copy_64.o csum-wrappers_64.o delay.o \
-       usercopy_64.o getuser_64.o putuser.o  \
+       usercopy_64.o getuser_64.o putuser_64.o  \
        thunk_64.o clear_page_64.o copy_page_64.o bitstr_64.o bitops_64.o
 lib-y += memcpy_64.o memmove_64.o memset.o copy_user.o rwlock_64.o 
copy_user_nocache_64.o
diff --git a/arch/x86_64/lib/putuser.S b/arch/x86_64/lib/putuser.S
deleted file mode 100644
index 4989f5a..0000000
--- a/arch/x86_64/lib/putuser.S
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * __put_user functions.
- *
- * (C) Copyright 1998 Linus Torvalds
- * (C) Copyright 2005 Andi Kleen
- *
- * These functions have a non-standard call interface
- * to make them more efficient, especially as they
- * return an error value in addition to the "real"
- * return value.
- */
-
-/*
- * __put_user_X
- *
- * Inputs:     %rcx contains the address
- *             %rdx contains new value
- *
- * Outputs:    %rax is error code (0 or -EFAULT)
- *
- * %r8 is destroyed.
- *
- * These functions should not modify any other registers,
- * as they get called from within inline assembly.
- */
-
-#include <linux/linkage.h>
-#include <asm/dwarf2.h>
-#include <asm/page.h>
-#include <asm/errno.h>
-#include <asm/asm-offsets.h>
-#include <asm/thread_info.h>
-
-       .text
-ENTRY(__put_user_1)
-       CFI_STARTPROC
-       GET_THREAD_INFO(%r8)
-       cmpq threadinfo_addr_limit(%r8),%rcx
-       jae bad_put_user
-1:     movb %dl,(%rcx)
-       xorl %eax,%eax
-       ret
-       CFI_ENDPROC
-ENDPROC(__put_user_1)
-
-ENTRY(__put_user_2)
-       CFI_STARTPROC
-       GET_THREAD_INFO(%r8)
-       addq $1,%rcx
-       jc 20f
-       cmpq threadinfo_addr_limit(%r8),%rcx
-       jae 20f
-       decq %rcx
-2:     movw %dx,(%rcx)
-       xorl %eax,%eax
-       ret
-20:    decq %rcx
-       jmp bad_put_user
-       CFI_ENDPROC
-ENDPROC(__put_user_2)
-
-ENTRY(__put_user_4)
-       CFI_STARTPROC
-       GET_THREAD_INFO(%r8)
-       addq $3,%rcx
-       jc 30f
-       cmpq threadinfo_addr_limit(%r8),%rcx
-       jae 30f
-       subq $3,%rcx
-3:     movl %edx,(%rcx)
-       xorl %eax,%eax
-       ret
-30:    subq $3,%rcx
-       jmp bad_put_user
-       CFI_ENDPROC
-ENDPROC(__put_user_4)
-
-ENTRY(__put_user_8)
-       CFI_STARTPROC
-       GET_THREAD_INFO(%r8)
-       addq $7,%rcx
-       jc 40f
-       cmpq threadinfo_addr_limit(%r8),%rcx
-       jae 40f
-       subq $7,%rcx
-4:     movq %rdx,(%rcx)
-       xorl %eax,%eax
-       ret
-40:    subq $7,%rcx
-       jmp bad_put_user
-       CFI_ENDPROC
-ENDPROC(__put_user_8)
-
-bad_put_user:
-       CFI_STARTPROC
-       movq $(-EFAULT),%rax
-       ret
-       CFI_ENDPROC
-END(bad_put_user)
-
-.section __ex_table,"a"
-       .quad 1b,bad_put_user
-       .quad 2b,bad_put_user
-       .quad 3b,bad_put_user
-       .quad 4b,bad_put_user
-.previous
diff --git a/arch/x86_64/lib/putuser_64.S b/arch/x86_64/lib/putuser_64.S
new file mode 100644
index 0000000..4989f5a
--- /dev/null
+++ b/arch/x86_64/lib/putuser_64.S
@@ -0,0 +1,106 @@
+/*
+ * __put_user functions.
+ *
+ * (C) Copyright 1998 Linus Torvalds
+ * (C) Copyright 2005 Andi Kleen
+ *
+ * These functions have a non-standard call interface
+ * to make them more efficient, especially as they
+ * return an error value in addition to the "real"
+ * return value.
+ */
+
+/*
+ * __put_user_X
+ *
+ * Inputs:     %rcx contains the address
+ *             %rdx contains new value
+ *
+ * Outputs:    %rax is error code (0 or -EFAULT)
+ *
+ * %r8 is destroyed.
+ *
+ * These functions should not modify any other registers,
+ * as they get called from within inline assembly.
+ */
+
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+#include <asm/page.h>
+#include <asm/errno.h>
+#include <asm/asm-offsets.h>
+#include <asm/thread_info.h>
+
+       .text
+ENTRY(__put_user_1)
+       CFI_STARTPROC
+       GET_THREAD_INFO(%r8)
+       cmpq threadinfo_addr_limit(%r8),%rcx
+       jae bad_put_user
+1:     movb %dl,(%rcx)
+       xorl %eax,%eax
+       ret
+       CFI_ENDPROC
+ENDPROC(__put_user_1)
+
+ENTRY(__put_user_2)
+       CFI_STARTPROC
+       GET_THREAD_INFO(%r8)
+       addq $1,%rcx
+       jc 20f
+       cmpq threadinfo_addr_limit(%r8),%rcx
+       jae 20f
+       decq %rcx
+2:     movw %dx,(%rcx)
+       xorl %eax,%eax
+       ret
+20:    decq %rcx
+       jmp bad_put_user
+       CFI_ENDPROC
+ENDPROC(__put_user_2)
+
+ENTRY(__put_user_4)
+       CFI_STARTPROC
+       GET_THREAD_INFO(%r8)
+       addq $3,%rcx
+       jc 30f
+       cmpq threadinfo_addr_limit(%r8),%rcx
+       jae 30f
+       subq $3,%rcx
+3:     movl %edx,(%rcx)
+       xorl %eax,%eax
+       ret
+30:    subq $3,%rcx
+       jmp bad_put_user
+       CFI_ENDPROC
+ENDPROC(__put_user_4)
+
+ENTRY(__put_user_8)
+       CFI_STARTPROC
+       GET_THREAD_INFO(%r8)
+       addq $7,%rcx
+       jc 40f
+       cmpq threadinfo_addr_limit(%r8),%rcx
+       jae 40f
+       subq $7,%rcx
+4:     movq %rdx,(%rcx)
+       xorl %eax,%eax
+       ret
+40:    subq $7,%rcx
+       jmp bad_put_user
+       CFI_ENDPROC
+ENDPROC(__put_user_8)
+
+bad_put_user:
+       CFI_STARTPROC
+       movq $(-EFAULT),%rax
+       ret
+       CFI_ENDPROC
+END(bad_put_user)
+
+.section __ex_table,"a"
+       .quad 1b,bad_put_user
+       .quad 2b,bad_put_user
+       .quad 3b,bad_put_user
+       .quad 4b,bad_put_user
+.previous
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to