diff options
Diffstat (limited to 'arch/x86/lib/putuser_64.S')
-rw-r--r-- | arch/x86/lib/putuser_64.S | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/arch/x86/lib/putuser_64.S b/arch/x86/lib/putuser_64.S index c18fc0f5256c..d496cc8e7308 100644 --- a/arch/x86/lib/putuser_64.S +++ b/arch/x86/lib/putuser_64.S @@ -30,64 +30,65 @@ #include <asm/errno.h> #include <asm/asm-offsets.h> #include <asm/thread_info.h> +#include <asm/asm.h> #define ENTER CFI_STARTPROC ; \ - GET_THREAD_INFO(%rbx) + GET_THREAD_INFO(%_ASM_BX) #define EXIT ret ; \ CFI_ENDPROC .text ENTRY(__put_user_1) ENTER - cmp TI_addr_limit(%rbx),%rcx + cmp TI_addr_limit(%_ASM_BX),%_ASM_CX jae bad_put_user -1: movb %al,(%rcx) +1: movb %al,(%_ASM_CX) xor %eax,%eax EXIT ENDPROC(__put_user_1) ENTRY(__put_user_2) ENTER - mov TI_addr_limit(%rbx),%rbx - sub $1, %rbx - cmp %rbx ,%rcx + mov TI_addr_limit(%_ASM_BX),%_ASM_BX + sub $1, %_ASM_BX + cmp %_ASM_BX ,%_ASM_CX jae bad_put_user -2: movw %ax,(%rcx) +2: movw %ax,(%_ASM_CX) xor %eax,%eax EXIT ENDPROC(__put_user_2) ENTRY(__put_user_4) ENTER - mov TI_addr_limit(%rbx),%rbx - sub $3, %rbx - cmp %rbx, %rcx + mov TI_addr_limit(%_ASM_BX),%_ASM_BX + sub $3, %_ASM_BX + cmp %_ASM_BX, %_ASM_CX jae bad_put_user -3: movl %eax,(%rcx) +3: movl %eax,(%_ASM_CX) xor %eax,%eax EXIT ENDPROC(__put_user_4) ENTRY(__put_user_8) ENTER - mov TI_addr_limit(%rbx),%rbx - sub $7, %rbx - cmp %rbx, %rcx + mov TI_addr_limit(%_ASM_BX),%_ASM_BX + sub $7, %_ASM_BX + cmp %_ASM_BX, %_ASM_CX jae bad_put_user -4: movq %rax,(%rcx) +4: movq %_ASM_AX,(%_ASM_CX) xor %eax,%eax EXIT ENDPROC(__put_user_8) bad_put_user: CFI_STARTPROC - mov $(-EFAULT),%rax + mov $(-EFAULT),%eax EXIT 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 + _ASM_PTR 1b,bad_put_user + _ASM_PTR 2b,bad_put_user + _ASM_PTR 3b,bad_put_user + _ASM_PTR 4b,bad_put_user .previous |