| From 197725de65477bc8509b41388157c1a2283542bb Mon Sep 17 00:00:00 2001 |
| From: "H. Peter Anvin" <hpa@zytor.com> |
| Date: Sun, 4 May 2014 10:00:49 -0700 |
| Subject: x86, espfix: Make espfix64 a Kconfig option, fix UML |
| |
| From: "H. Peter Anvin" <hpa@zytor.com> |
| |
| commit 197725de65477bc8509b41388157c1a2283542bb upstream. |
| |
| 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 |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/x86/Kconfig | 4 ++++ |
| arch/x86/kernel/Makefile | 2 +- |
| arch/x86/kernel/smpboot.c | 2 +- |
| init/main.c | 2 +- |
| 4 files changed, 7 insertions(+), 3 deletions(-) |
| |
| --- a/arch/x86/Kconfig |
| +++ b/arch/x86/Kconfig |
| @@ -957,6 +957,10 @@ config VM86 |
| XFree86 to initialize some video cards via BIOS. Disabling this |
| option saves about 6k. |
| |
| +config X86_ESPFIX64 |
| + def_bool y |
| + depends on X86_64 |
| + |
| config TOSHIBA |
| tristate "Toshiba Laptop support" |
| depends on X86_32 |
| --- a/arch/x86/kernel/Makefile |
| +++ b/arch/x86/kernel/Makefile |
| @@ -27,7 +27,7 @@ obj-$(CONFIG_X86_64) += sys_x86_64.o x86 |
| obj-y += syscall_$(BITS).o |
| obj-$(CONFIG_X86_64) += vsyscall_64.o |
| obj-$(CONFIG_X86_64) += vsyscall_emu_64.o |
| -obj-$(CONFIG_X86_64) += espfix_64.o |
| +obj-$(CONFIG_X86_ESPFIX64) += espfix_64.o |
| obj-y += bootflag.o e820.o |
| obj-y += pci-dma.o quirks.o topology.o kdebugfs.o |
| obj-y += alternative.o i8253.o pci-nommu.o hw_breakpoint.o |
| --- a/arch/x86/kernel/smpboot.c |
| +++ b/arch/x86/kernel/smpboot.c |
| @@ -267,7 +267,7 @@ notrace static void __cpuinit start_seco |
| /* |
| * Enable the espfix hack for this CPU |
| */ |
| -#ifdef CONFIG_X86_64 |
| +#ifdef CONFIG_X86_ESPFIX64 |
| init_espfix_ap(); |
| #endif |
| |
| --- a/init/main.c |
| +++ b/init/main.c |
| @@ -606,7 +606,7 @@ asmlinkage void __init start_kernel(void |
| if (efi_enabled(EFI_RUNTIME_SERVICES)) |
| efi_enter_virtual_mode(); |
| #endif |
| -#ifdef CONFIG_X86_64 |
| +#ifdef CONFIG_X86_ESPFIX64 |
| /* Should be run before the first non-init thread is created */ |
| init_espfix_bsp(); |
| #endif |