[3.13.y.z extended stable] Patch "x86, espfix: Make espfix64 a Kconfig option, fix UML" has been added to staging queue

Kamal Mostafa kamal at canonical.com
Tue Sep 2 21:37:12 UTC 2014

This is a note to let you know that I have just added a patch titled

    x86, espfix: Make espfix64 a Kconfig option, fix UML

to the linux-3.13.y-queue branch of the 3.13.y.z extended stable tree 
which can be found at:


This patch is scheduled to be released in version

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.13.y.z tree, see



>From 4137e7fb12b484ba2dc7a506df6c877846c0a53f Mon Sep 17 00:00:00 2001
From: "H. Peter Anvin" <hpa at zytor.com>
Date: Sun, 4 May 2014 10:00:49 -0700
Subject: x86, espfix: Make espfix64 a Kconfig option, fix UML

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 at kernel.org>
Signed-off-by: H. Peter Anvin <hpa at zytor.com>
Cc: Richard Weinberger <richard at nod.at>
Link: http://lkml.kernel.org/r/1398816946-3351-1-git-send-email-hpa@linux.intel.com
[ luis: backported to 3.11: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>

Signed-off-by: Kamal Mostafa <kamal at canonical.com>
 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(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 9562fc3..ea1c3af 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -983,6 +983,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
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 92450ee..eb1d03b 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
 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
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index b5c176a..a965665 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -245,7 +245,7 @@ static void notrace start_secondary(void *unused)
 	 * Enable the espfix hack for this CPU
-#ifdef CONFIG_X86_64
+#ifdef CONFIG_X86_ESPFIX64

diff --git a/init/main.c b/init/main.c
index da5d829..aca4f33 100644
--- a/init/main.c
+++ b/init/main.c
@@ -619,7 +619,7 @@ asmlinkage void __init start_kernel(void)
 	if (efi_enabled(EFI_RUNTIME_SERVICES))
-#ifdef CONFIG_X86_64
+#ifdef CONFIG_X86_ESPFIX64
 	/* Should be run before the first non-init thread is created */

More information about the kernel-team mailing list