x86/fpu changes for v3.4
Subsystems (4)
Linus,
Please pull the latest x86-fpu-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-fpu-for-linus
HEAD: 1361b83a13d4d92e53fbb6c877528713e118b821 i387: Split up <asm/i387.h> into exported and internal interfaces
Thanks,
Ingo
------------------>
Linus Torvalds (2):
i387: Uninline the generic FP helpers that we expose to kernel modules
i387: Split up <asm/i387.h> into exported and internal interfaces
arch/x86/ia32/ia32_signal.c | 1 + arch/x86/include/asm/fpu-internal.h | 520 ++++++++++++++++++++++++++++++ arch/x86/include/asm/i387.h | 590 +---------------------------------- arch/x86/kernel/cpu/common.c | 3 +- arch/x86/kernel/i387.c | 83 +++++- arch/x86/kernel/process.c | 1 + arch/x86/kernel/process_32.c | 1 + arch/x86/kernel/process_64.c | 1 + arch/x86/kernel/ptrace.c | 1 + arch/x86/kernel/signal.c | 1 + arch/x86/kernel/traps.c | 1 + arch/x86/kernel/xsave.c | 1 + arch/x86/kvm/vmx.c | 2 +- arch/x86/kvm/x86.c | 1 + arch/x86/power/cpu.c | 1 + 15 files changed, 624 insertions(+), 584 deletions(-) create mode 100644 arch/x86/include/asm/fpu-internal.h
arch/x86/ia32/ia32_signal.c +1 -0
@@ -24,6 +24,7 @@#include <asm/ucontext.h> #include <asm/uaccess.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/ptrace.h> #include <asm/ia32_unistd.h> #include <asm/user32.h>
arch/x86/include/asm/fpu-internal.h new file +520 -0
520 lines not on this page · raw message
arch/x86/include/asm/i387.h +10 -580
612 lines not on this page · raw message
arch/x86/kernel/cpu/common.c +1 -2
@@ -28,6 +28,7 @@#include <asm/apic.h> #include <asm/desc.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/mtrr.h> #include <linux/numa.h> #include <asm/asm.h>
@@ -1045,7 +1046,6 @@ DEFINE_PER_CPU(char *, irq_stack_ptr) = DEFINE_PER_CPU(unsigned int, irq_count) = -1; DEFINE_PER_CPU(struct task_struct *, fpu_owner_task); -EXPORT_PER_CPU_SYMBOL (fpu_owner_task);/* * Special IST stacks which the CPU switches to when it calls
@@ -1115,7 +1115,6 @@ void debug_stack_reset(void) DEFINE_PER_CPU(struct task_struct *, current_task) = &init_task;EXPORT_PER_CPU_SYMBOL (current_task); DEFINE_PER_CPU(struct task_struct *, fpu_owner_task); -EXPORT_PER_CPU_SYMBOL (fpu_owner_task);#ifdef CONFIG_CC_STACKPROTECTOR DEFINE_PER_CPU_ALIGNED(struct stack_canary, stack_canary);
arch/x86/kernel/i387.c +82 -1
101 lines not on this page · raw message
arch/x86/kernel/process.c +1 -0
@@ -21,6 +21,7 @@#include <asm/idle.h> #include <asm/uaccess.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/debugreg.h> struct kmem_cache *task_xstate_cachep;
arch/x86/kernel/process_32.c +1 -0
@@ -45,6 +45,7 @@#include <asm/ldt.h> #include <asm/processor.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/desc.h> #ifdef CONFIG_MATH_EMULATION #include <asm/math_emu.h>
arch/x86/kernel/process_64.c +1 -0
@@ -43,6 +43,7 @@#include <asm/system.h> #include <asm/processor.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/mmu_context.h> #include <asm/prctl.h> #include <asm/desc.h>
arch/x86/kernel/ptrace.c +1 -0
@@ -27,6 +27,7 @@#include <asm/system.h> #include <asm/processor.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/debugreg.h> #include <asm/ldt.h> #include <asm/desc.h>
arch/x86/kernel/signal.c +1 -0
@@ -24,6 +24,7 @@#include <asm/processor.h> #include <asm/ucontext.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/vdso.h> #include <asm/mce.h>
arch/x86/kernel/traps.c +1 -0
@@ -54,6 +54,7 @@#include <asm/traps.h> #include <asm/desc.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #include <asm/mce.h> #include <asm/mach_traps.h>
arch/x86/kernel/xsave.c +1 -0
@@ -6,6 +6,7 @@#include <linux/bootmem.h> #include <linux/compat.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> #ifdef CONFIG_IA32_EMULATION #include <asm/sigcontext32.h> #endif
arch/x86/kvm/vmx.c +1 -1
@@ -1457,7 +1457,7 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)#ifdef CONFIG_X86_64 wrmsrl (MSR_KERNEL_GS_BASE , vmx->msr_host_kernel_gs_base);#endif -if (__thread_has_fpu (current)) +if (user_has_fpu ())clts ();load_gdt (&__get_cpu_var (host_gdt)); }
arch/x86/kvm/x86.c +1 -0
@@ -57,6 +57,7 @@#include <asm/mtrr.h> #include <asm/mce.h> #include <asm/i387.h> +#include <asm/fpu-internal.h> /* Ugh! */ #include <asm/xcr.h> #include <asm/pvclock.h> #include <asm/div64.h>
arch/x86/power/cpu.c +1 -0
@@ -20,6 +20,7 @@#include <asm/xcr.h> #include <asm/suspend.h> #include <asm/debugreg.h> +#include <asm/fpu-internal.h> /* pcntxt_mask */ #ifdef CONFIG_X86_32 static struct saved_context saved_context;