mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
a06c9bc064
commit
5fd92e65a6
|
@ -2165,9 +2165,9 @@ config IA32_EMULATION
|
||||||
depends on X86_64
|
depends on X86_64
|
||||||
select COMPAT_BINFMT_ELF
|
select COMPAT_BINFMT_ELF
|
||||||
---help---
|
---help---
|
||||||
Include code to run 32-bit programs under a 64-bit kernel. You should
|
Include code to run legacy 32-bit programs under a
|
||||||
likely turn this on, unless you're 100% sure that you don't have any
|
64-bit kernel. You should likely turn this on, unless you're
|
||||||
32-bit programs left.
|
100% sure that you don't have any 32-bit programs left.
|
||||||
|
|
||||||
config IA32_AOUT
|
config IA32_AOUT
|
||||||
tristate "IA32 a.out support"
|
tristate "IA32 a.out support"
|
||||||
|
@ -2175,9 +2175,22 @@ config IA32_AOUT
|
||||||
---help---
|
---help---
|
||||||
Support old a.out binaries in the 32bit emulation.
|
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
|
config COMPAT
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on IA32_EMULATION
|
depends on IA32_EMULATION || X86_X32_ABI
|
||||||
|
|
||||||
config COMPAT_FOR_U64_ALIGNMENT
|
config COMPAT_FOR_U64_ALIGNMENT
|
||||||
def_bool COMPAT
|
def_bool COMPAT
|
||||||
|
|
Loading…
Reference in New Issue