提交 10ffdbb8 编写于 作者: A Andi Kleen 提交者: Linus Torvalds

[PATCH] x86_64: Readd missing tests in entry.S

Cleans up the system exit call slightly and synchronizes with my tree again.
Signed-off-by: NAndi Kleen <ak@suse.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 ac6b931c
...@@ -220,13 +220,18 @@ sysret_careful: ...@@ -220,13 +220,18 @@ sysret_careful:
jmp sysret_check jmp sysret_check
/* Handle a signal */ /* Handle a signal */
/* edx: work flags (arg3) */
sysret_signal: sysret_signal:
sti sti
testl $(_TIF_SIGPENDING|_TIF_NOTIFY_RESUME|_TIF_SINGLESTEP),%edx
jz 1f
/* Really a signal */
/* edx: work flags (arg3) */
leaq do_notify_resume(%rip),%rax leaq do_notify_resume(%rip),%rax
leaq -ARGOFFSET(%rsp),%rdi # &pt_regs -> arg1 leaq -ARGOFFSET(%rsp),%rdi # &pt_regs -> arg1
xorl %esi,%esi # oldset -> arg2 xorl %esi,%esi # oldset -> arg2
call ptregscall_common call ptregscall_common
1: movl $_TIF_NEED_RESCHED,%edi
jmp sysret_check jmp sysret_check
/* Do syscall tracing */ /* Do syscall tracing */
...@@ -484,6 +489,8 @@ retint_careful: ...@@ -484,6 +489,8 @@ retint_careful:
jmp retint_check jmp retint_check
retint_signal: retint_signal:
testl $(_TIF_SIGPENDING|_TIF_NOTIFY_RESUME|_TIF_SINGLESTEP),%edx
jz retint_swapgs
sti sti
SAVE_REST SAVE_REST
movq $-1,ORIG_RAX(%rsp) movq $-1,ORIG_RAX(%rsp)
...@@ -492,8 +499,8 @@ retint_signal: ...@@ -492,8 +499,8 @@ retint_signal:
call do_notify_resume call do_notify_resume
RESTORE_REST RESTORE_REST
cli cli
movl $_TIF_NEED_RESCHED,%edi
GET_THREAD_INFO(%rcx) GET_THREAD_INFO(%rcx)
movl $_TIF_WORK_MASK,%edi
jmp retint_check jmp retint_check
#ifdef CONFIG_PREEMPT #ifdef CONFIG_PREEMPT
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册