linux/arch/x86/entry
Andy Lutomirski 8a9949bc71 x86/xen/64: Rearrange the SYSCALL entries
Xen's raw SYSCALL entries are much less weird than native.  Rather
than fudging them to look like native entries, use the Xen-provided
stack frame directly.

This lets us eliminate entry_SYSCALL_64_after_swapgs and two uses of
the SWAPGS_UNSAFE_STACK paravirt hook.  The SYSENTER code would
benefit from similar treatment.

This makes one change to the native code path: the compat
instruction that clears the high 32 bits of %rax is moved slightly
later.  I'd be surprised if this affects performance at all.

Tested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Borislav Petkov <bpetkov@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/7c88ed36805d36841ab03ec3b48b4122c4418d71.1502164668.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-08-10 13:14:32 +02:00
..
syscalls Merge branch 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-05-02 11:54:26 -07:00
vdso ARM: 8683/1: ARM32: Support mremap() for sigpage/vDSO 2017-06-21 13:02:58 +01:00
vsyscall sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
Makefile x86/entry/64: Add unwind hint annotations 2017-07-18 10:57:44 +02:00
calling.h x86/entry/64: Add unwind hint annotations 2017-07-18 10:57:44 +02:00
common.c livepatch/x86: add TIF_PATCH_PENDING thread flag 2017-03-08 09:19:41 +01:00
entry_32.S Revert "x86/entry: Fix the end of the stack for newly forked tasks" 2017-05-24 09:05:16 +02:00
entry_64.S x86/xen/64: Rearrange the SYSCALL entries 2017-08-10 13:14:32 +02:00
entry_64_compat.S x86/xen/64: Rearrange the SYSCALL entries 2017-08-10 13:14:32 +02:00
syscall_32.c x86/syscalls: Add syscall entry qualifiers 2016-01-29 09:46:38 +01:00
syscall_64.c x86/entry/64: Always run ptregs-using syscalls on the slow path 2016-01-29 09:46:38 +01:00
thunk_32.S x86: move exports to actual definitions 2016-08-07 23:47:15 -04:00
thunk_64.S x86: move exports to actual definitions 2016-08-07 23:47:15 -04:00