Skip to content

Commit

Permalink
x32: Allow x32 to be configured
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
H. J. Lu authored and H. Peter Anvin committed Feb 20, 2012
1 parent a06c9bc commit 5fd92e6
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2165,19 +2165,32 @@ config IA32_EMULATION
depends on X86_64
select COMPAT_BINFMT_ELF
---help---
Include code to run 32-bit programs under a 64-bit kernel. You should
likely turn this on, unless you're 100% sure that you don't have any
32-bit programs left.
Include code to run legacy 32-bit programs under a
64-bit kernel. You should likely turn this on, unless you're
100% sure that you don't have any 32-bit programs left.

config IA32_AOUT
tristate "IA32 a.out support"
depends on IA32_EMULATION
---help---
Support old a.out binaries in the 32bit emulation.

config X86_X32_ABI
bool "x32 ABI for 64-bit mode (EXPERIMENTAL)"
depends on X86_64 && IA32_EMULATION && EXPERIMENTAL
---help---
Include code to run binaries for the x32 native 32-bit ABI
for 64-bit processors. An x32 process gets access to the
full 64-bit register file and wide data path while leaving
pointers at 32 bits for smaller memory footprint.

You will need a recent binutils (2.22 or later) with
elf32_x86_64 support enabled to compile a kernel with this
option set.

config COMPAT
def_bool y
depends on IA32_EMULATION
depends on IA32_EMULATION || X86_X32_ABI

config COMPAT_FOR_U64_ALIGNMENT
def_bool COMPAT
Expand Down

0 comments on commit 5fd92e6

Please sign in to comment.