x86/entry/64: Pass SP0 directly to load_sp0()
load_sp0() had an odd signature: void load_sp0(struct tss_struct *tss, struct thread_struct *thread); Simplify it to: void load_sp0(unsigned long sp0); Also simplify a few get_cpu()/put_cpu() sequences to preempt_disable()/preempt_enable(). Signed-off-by:Andy Lutomirski <luto@kernel.org> Reviewed-by:
Borislav Petkov <bp@suse.de> Cc: Borislav Petkov <bpetkov@suse.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/2655d8b42ed940aa384fe18ee1129bbbcf730a08.1509609304.git.luto@kernel.org Signed-off-by:
Ingo Molnar <mingo@kernel.org>
Showing
- arch/x86/include/asm/paravirt.h 2 additions, 3 deletionsarch/x86/include/asm/paravirt.h
- arch/x86/include/asm/paravirt_types.h 1 addition, 1 deletionarch/x86/include/asm/paravirt_types.h
- arch/x86/include/asm/processor.h 4 additions, 5 deletionsarch/x86/include/asm/processor.h
- arch/x86/kernel/cpu/common.c 2 additions, 2 deletionsarch/x86/kernel/cpu/common.c
- arch/x86/kernel/process_32.c 1 addition, 1 deletionarch/x86/kernel/process_32.c
- arch/x86/kernel/process_64.c 1 addition, 1 deletionarch/x86/kernel/process_64.c
- arch/x86/kernel/vm86_32.c 6 additions, 8 deletionsarch/x86/kernel/vm86_32.c
- arch/x86/xen/enlighten_pv.c 3 additions, 4 deletionsarch/x86/xen/enlighten_pv.c
Loading
Please register or sign in to comment