aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorH. J. Lu <hjl.tools@gmail.com>2012-02-19 13:40:03 -0500
committerH. Peter Anvin <hpa@zytor.com>2012-02-20 15:52:06 -0500
commit5fd92e65a68b813667bc8739f5fa463e5bfcd66d (patch)
treea80efcac66b412d0792646182dcffdf6426607ed /arch/x86/Kconfig
parenta06c9bc0647f66df0534fb887ddf6cddd35f426c (diff)
x32: Allow x32 to be configured
At this point, one should be able to build an x32 kernel. Note that for now we depend on CONFIG_IA32_EMULATION. Long term, x32 and IA32 should be detangled. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig21
1 files changed, 17 insertions, 4 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5bed94e189fa..c9d6c9ed27e5 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2165,9 +2165,9 @@ config IA32_EMULATION
2165 depends on X86_64 2165 depends on X86_64
2166 select COMPAT_BINFMT_ELF 2166 select COMPAT_BINFMT_ELF
2167 ---help--- 2167 ---help---
2168 Include code to run 32-bit programs under a 64-bit kernel. You should 2168 Include code to run legacy 32-bit programs under a
2169 likely turn this on, unless you're 100% sure that you don't have any 2169 64-bit kernel. You should likely turn this on, unless you're
2170 32-bit programs left. 2170 100% sure that you don't have any 32-bit programs left.
2171 2171
2172config IA32_AOUT 2172config IA32_AOUT
2173 tristate "IA32 a.out support" 2173 tristate "IA32 a.out support"
@@ -2175,9 +2175,22 @@ config IA32_AOUT
2175 ---help--- 2175 ---help---
2176 Support old a.out binaries in the 32bit emulation. 2176 Support old a.out binaries in the 32bit emulation.
2177 2177
2178config X86_X32_ABI
2179 bool "x32 ABI for 64-bit mode (EXPERIMENTAL)"
2180 depends on X86_64 && IA32_EMULATION && EXPERIMENTAL
2181 ---help---
2182 Include code to run binaries for the x32 native 32-bit ABI
2183 for 64-bit processors. An x32 process gets access to the
2184 full 64-bit register file and wide data path while leaving
2185 pointers at 32 bits for smaller memory footprint.
2186
2187 You will need a recent binutils (2.22 or later) with
2188 elf32_x86_64 support enabled to compile a kernel with this
2189 option set.
2190
2178config COMPAT 2191config COMPAT
2179 def_bool y 2192 def_bool y
2180 depends on IA32_EMULATION 2193 depends on IA32_EMULATION || X86_X32_ABI
2181 2194
2182config COMPAT_FOR_U64_ALIGNMENT 2195config COMPAT_FOR_U64_ALIGNMENT
2183 def_bool COMPAT 2196 def_bool COMPAT