aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2014-05-04 13:00:49 -0400
committerH. Peter Anvin <hpa@zytor.com>2014-05-04 13:00:49 -0400
commit197725de65477bc8509b41388157c1a2283542bb (patch)
tree3c6a93426fe489b6c8f6e87027c73cf970bacdc5
parent20b68535cd27183ebd3651ff313afb2b97dac941 (diff)
x86, espfix: Make espfix64 a Kconfig option, fix UML
Make espfix64 a hidden Kconfig option. This fixes the x86-64 UML build which had broken due to the non-existence of init_espfix_bsp() in UML: since UML uses its own Kconfig, this option does not appear in the UML build. This also makes it possible to make support for 16-bit segments a configuration option, for the people who want to minimize the size of the kernel. Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Richard Weinberger <richard@nod.at> Link: http://lkml.kernel.org/r/1398816946-3351-1-git-send-email-hpa@linux.intel.com
-rw-r--r--arch/x86/Kconfig4
-rw-r--r--arch/x86/kernel/Makefile2
-rw-r--r--arch/x86/kernel/smpboot.c2
-rw-r--r--init/main.c2
4 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 25d2c6f7325e..9a952a572585 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -914,6 +914,10 @@ config VM86
914 XFree86 to initialize some video cards via BIOS. Disabling this 914 XFree86 to initialize some video cards via BIOS. Disabling this
915 option saves about 6k. 915 option saves about 6k.
916 916
917config X86_ESPFIX64
918 def_bool y
919 depends on X86_64
920
917config TOSHIBA 921config TOSHIBA
918 tristate "Toshiba Laptop support" 922 tristate "Toshiba Laptop support"
919 depends on X86_32 923 depends on X86_32
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 1cc3789d99d9..491ef3e59850 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -29,7 +29,7 @@ obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o
29obj-y += syscall_$(BITS).o vsyscall_gtod.o 29obj-y += syscall_$(BITS).o vsyscall_gtod.o
30obj-$(CONFIG_X86_64) += vsyscall_64.o 30obj-$(CONFIG_X86_64) += vsyscall_64.o
31obj-$(CONFIG_X86_64) += vsyscall_emu_64.o 31obj-$(CONFIG_X86_64) += vsyscall_emu_64.o
32obj-$(CONFIG_X86_64) += espfix_64.o 32obj-$(CONFIG_X86_ESPFIX64) += espfix_64.o
33obj-$(CONFIG_SYSFS) += ksysfs.o 33obj-$(CONFIG_SYSFS) += ksysfs.o
34obj-y += bootflag.o e820.o 34obj-y += bootflag.o e820.o
35obj-y += pci-dma.o quirks.o topology.o kdebugfs.o 35obj-y += pci-dma.o quirks.o topology.o kdebugfs.o
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 61a5350850fb..5d93ac1b72db 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -246,7 +246,7 @@ static void notrace start_secondary(void *unused)
246 /* 246 /*
247 * Enable the espfix hack for this CPU 247 * Enable the espfix hack for this CPU
248 */ 248 */
249#ifdef CONFIG_X86_64 249#ifdef CONFIG_X86_ESPFIX64
250 init_espfix_ap(); 250 init_espfix_ap();
251#endif 251#endif
252 252
diff --git a/init/main.c b/init/main.c
index 70fc00e7db06..58c132d7de4b 100644
--- a/init/main.c
+++ b/init/main.c
@@ -617,7 +617,7 @@ asmlinkage void __init start_kernel(void)
617 if (efi_enabled(EFI_RUNTIME_SERVICES)) 617 if (efi_enabled(EFI_RUNTIME_SERVICES))
618 efi_enter_virtual_mode(); 618 efi_enter_virtual_mode();
619#endif 619#endif
620#ifdef CONFIG_X86_64 620#ifdef CONFIG_X86_ESPFIX64
621 /* Should be run before the first non-init thread is created */ 621 /* Should be run before the first non-init thread is created */
622 init_espfix_bsp(); 622 init_espfix_bsp();
623#endif 623#endif