diff options
author | H. J. Lu <hjl.tools@gmail.com> | 2012-02-19 13:40:03 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-02-20 15:52:06 -0500 |
commit | 5fd92e65a68b813667bc8739f5fa463e5bfcd66d (patch) | |
tree | a80efcac66b412d0792646182dcffdf6426607ed /arch/x86/Kconfig | |
parent | a06c9bc0647f66df0534fb887ddf6cddd35f426c (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/Kconfig | 21 |
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 | ||
2172 | config IA32_AOUT | 2172 | config 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 | ||
2178 | config 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 | |||
2178 | config COMPAT | 2191 | config COMPAT |
2179 | def_bool y | 2192 | def_bool y |
2180 | depends on IA32_EMULATION | 2193 | depends on IA32_EMULATION || X86_X32_ABI |
2181 | 2194 | ||
2182 | config COMPAT_FOR_U64_ALIGNMENT | 2195 | config COMPAT_FOR_U64_ALIGNMENT |
2183 | def_bool COMPAT | 2196 | def_bool COMPAT |