projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] x86_64: Avoid EBDA area in early boot allocator
[powerpc.git]
/
arch
/
x86_64
/
lib
/
putuser.S
diff --git
a/arch/x86_64/lib/putuser.S
b/arch/x86_64/lib/putuser.S
index
0dee1fd
..
7f55939
100644
(file)
--- a/
arch/x86_64/lib/putuser.S
+++ b/
arch/x86_64/lib/putuser.S
@@
-27,7
+27,7
@@
#include <linux/linkage.h>
#include <asm/page.h>
#include <asm/errno.h>
#include <linux/linkage.h>
#include <asm/page.h>
#include <asm/errno.h>
-#include <asm/
offset
.h>
+#include <asm/
asm-offsets
.h>
#include <asm/thread_info.h>
.text
#include <asm/thread_info.h>
.text
@@
-46,36
+46,45
@@
__put_user_1:
__put_user_2:
GET_THREAD_INFO(%r8)
addq $1,%rcx
__put_user_2:
GET_THREAD_INFO(%r8)
addq $1,%rcx
- jc
bad_put_user
+ jc
20f
cmpq threadinfo_addr_limit(%r8),%rcx
cmpq threadinfo_addr_limit(%r8),%rcx
- jae bad_put_user
-2: movw %dx,-1(%rcx)
+ jae 20f
+ decq %rcx
+2: movw %dx,(%rcx)
xorl %eax,%eax
ret
xorl %eax,%eax
ret
+20: decq %rcx
+ jmp bad_put_user
.p2align 4
.globl __put_user_4
__put_user_4:
GET_THREAD_INFO(%r8)
addq $3,%rcx
.p2align 4
.globl __put_user_4
__put_user_4:
GET_THREAD_INFO(%r8)
addq $3,%rcx
- jc
bad_put_user
+ jc
30f
cmpq threadinfo_addr_limit(%r8),%rcx
cmpq threadinfo_addr_limit(%r8),%rcx
- jae bad_put_user
-3: movl %edx,-3(%rcx)
+ jae 30f
+ subq $3,%rcx
+3: movl %edx,(%rcx)
xorl %eax,%eax
ret
xorl %eax,%eax
ret
+30: subq $3,%rcx
+ jmp bad_put_user
.p2align 4
.globl __put_user_8
__put_user_8:
GET_THREAD_INFO(%r8)
addq $7,%rcx
.p2align 4
.globl __put_user_8
__put_user_8:
GET_THREAD_INFO(%r8)
addq $7,%rcx
- jc
bad_put_user
+ jc
40f
cmpq threadinfo_addr_limit(%r8),%rcx
cmpq threadinfo_addr_limit(%r8),%rcx
- jae bad_put_user
-4: movq %rdx,-7(%rcx)
+ jae 40f
+ subq $7,%rcx
+4: movq %rdx,(%rcx)
xorl %eax,%eax
ret
xorl %eax,%eax
ret
+40: subq $7,%rcx
+ jmp bad_put_user
bad_put_user:
movq $(-EFAULT),%rax
bad_put_user:
movq $(-EFAULT),%rax