i387: Split up <asm/i387.h> into exported and internal interfaces
commit1361b83a13d4d92e53fbb6c877528713e118b821
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 21 Feb 2012 21:19:22 +0000 (21 13:19 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Tue, 21 Feb 2012 22:12:54 +0000 (21 14:12 -0800)
tree2656beeee7061c7ae08f6078f2f1565ac702be48
parent8546c008924d5fd1724fa698eaa92b414bafd50d
i387: Split up <asm/i387.h> into exported and internal interfaces

While various modules include <asm/i387.h> to get access to things we
actually *intend* for them to use, most of that header file was really
pretty low-level internal stuff that we really don't want to expose to
others.

So split the header file into two: the small exported interfaces remain
in <asm/i387.h>, while the internal definitions that are only used by
core architecture code are now in <asm/fpu-internal.h>.

The guiding principle for this was to expose functions that we export to
modules, and leave them in <asm/i387.h>, while stuff that is used by
task switching or was marked GPL-only is in <asm/fpu-internal.h>.

The fpu-internal.h file could be further split up too, especially since
arch/x86/kvm/ uses some of the remaining stuff for its module.  But that
kvm usage should probably be abstracted out a bit, and at least now the
internal FPU accessor functions are much more contained.  Even if it
isn't perhaps as contained as it _could_ be.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1202211340330.5354@i5.linux-foundation.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
15 files changed:
arch/x86/ia32/ia32_signal.c
arch/x86/include/asm/fpu-internal.h [copied from arch/x86/include/asm/i387.h with 87% similarity]
arch/x86/include/asm/i387.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/i387.c
arch/x86/kernel/process.c
arch/x86/kernel/process_32.c
arch/x86/kernel/process_64.c
arch/x86/kernel/ptrace.c
arch/x86/kernel/signal.c
arch/x86/kernel/traps.c
arch/x86/kernel/xsave.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c
arch/x86/power/cpu.c