xref: /linux/arch/x86/um/Kconfig (revision 2ef6765ccaab2c69470d7049d9a9bf6456a6e666)
1 # SPDX-License-Identifier: GPL-2.0
2 mainmenu "User Mode Linux/$SUBARCH $KERNELVERSION Kernel Configuration"
3 
4 source "arch/um/Kconfig.common"
5 
6 menu "UML-specific options"
7 
8 menu "Host processor type and features"
9 
10 source "arch/x86/Kconfig.cpu"
11 
12 endmenu
13 
14 config UML_X86
15 	def_bool y
16 	select GENERIC_FIND_FIRST_BIT
17 
18 config 64BIT
19 	bool "64-bit kernel" if SUBARCH = "x86"
20 	default SUBARCH != "i386"
21 
22 config X86_32
23 	def_bool !64BIT
24 	select HAVE_AOUT
25 	select ARCH_WANT_IPC_PARSE_VERSION
26 	select MODULES_USE_ELF_REL
27 	select CLONE_BACKWARDS
28 	select OLD_SIGSUSPEND3
29 	select OLD_SIGACTION
30 
31 config X86_64
32 	def_bool 64BIT
33 	select MODULES_USE_ELF_RELA
34 
35 config ARCH_DEFCONFIG
36 	string
37 	default "arch/um/configs/i386_defconfig" if X86_32
38 	default "arch/um/configs/x86_64_defconfig" if X86_64
39 
40 config RWSEM_XCHGADD_ALGORITHM
41 	def_bool 64BIT
42 
43 config RWSEM_GENERIC_SPINLOCK
44 	def_bool !RWSEM_XCHGADD_ALGORITHM
45 
46 config 3_LEVEL_PGTABLES
47 	bool "Three-level pagetables" if !64BIT
48 	default 64BIT
49 	help
50 	Three-level pagetables will let UML have more than 4G of physical
51 	memory.  All the memory that can't be mapped directly will be treated
52 	as high memory.
53 
54 	However, this it experimental on 32-bit architectures, so if unsure say
55 	N (on x86-64 it's automatically enabled, instead, as it's safe there).
56 
57 config ARCH_HAS_SC_SIGNALS
58 	def_bool !64BIT
59 
60 config ARCH_REUSE_HOST_VSYSCALL_AREA
61 	def_bool !64BIT
62 
63 config GENERIC_HWEIGHT
64 	def_bool y
65 
66 source "arch/um/Kconfig.um"
67 
68 endmenu
69 
70 source "arch/um/Kconfig.rest"
71