Commit 10ffdbb8 authored by Andi Kleen's avatar Andi Kleen Committed by 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: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 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%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment