1# SPDX-License-Identifier: GPL-2.0 2 3menu "UML-specific options" 4 5config UML 6 bool 7 default y 8 select ARCH_HAS_CPU_FINALIZE_INIT 9 select ARCH_HAS_KCOV 10 select ARCH_NO_PREEMPT 11 select HAVE_ARCH_AUDITSYSCALL 12 select HAVE_ARCH_SECCOMP_FILTER 13 select HAVE_ASM_MODVERSIONS 14 select HAVE_UID16 15 select HAVE_FUTEX_CMPXCHG if FUTEX 16 select HAVE_DEBUG_KMEMLEAK 17 select HAVE_DEBUG_BUGVERBOSE 18 select NO_DMA 19 select GENERIC_IRQ_SHOW 20 select GENERIC_CPU_DEVICES 21 select GENERIC_CLOCKEVENTS 22 select HAVE_GCC_PLUGINS 23 select SET_FS 24 select TTY # Needed for line.c 25 26config MMU 27 bool 28 default y 29 30config NO_IOMEM 31 def_bool y 32 33config ISA 34 bool 35 36config SBUS 37 bool 38 39config TRACE_IRQFLAGS_SUPPORT 40 bool 41 default y 42 43config LOCKDEP_SUPPORT 44 bool 45 default y 46 47config STACKTRACE_SUPPORT 48 bool 49 default y 50 select STACKTRACE 51 52config GENERIC_CALIBRATE_DELAY 53 bool 54 default y 55 56config HZ 57 int 58 default 100 59 60config NR_CPUS 61 int 62 range 1 1 63 default 1 64 65source "arch/$(HEADER_ARCH)/um/Kconfig" 66 67config MAY_HAVE_RUNTIME_DEPS 68 bool 69 70config STATIC_LINK 71 bool "Force a static link" 72 depends on CC_CAN_LINK_STATIC_NO_RUNTIME_DEPS || !MAY_HAVE_RUNTIME_DEPS 73 help 74 This option gives you the ability to force a static link of UML. 75 Normally, UML is linked as a shared binary. This is inconvenient for 76 use in a chroot jail. So, if you intend to run UML inside a chroot, 77 you probably want to say Y here. 78 Additionally, this option enables using higher memory spaces (up to 79 2.75G) for UML. 80 81 NOTE: This option is incompatible with some networking features which 82 depend on features that require being dynamically loaded (like NSS). 83 84config LD_SCRIPT_STATIC 85 bool 86 default y 87 depends on STATIC_LINK 88 89config LD_SCRIPT_DYN 90 bool 91 default y 92 depends on !LD_SCRIPT_STATIC 93 select MODULE_REL_CRCS if MODVERSIONS 94 95config LD_SCRIPT_DYN_RPATH 96 bool "set rpath in the binary" if EXPERT 97 default y 98 depends on LD_SCRIPT_DYN 99 help 100 Add /lib (and /lib64 for 64-bit) to the linux binary's rpath 101 explicitly. 102 103 You may need to turn this off if compiling for nix systems 104 that have their libraries in random /nix directories and 105 might otherwise unexpected use libraries from /lib or /lib64 106 instead of the desired ones. 107 108config HOSTFS 109 tristate "Host filesystem" 110 help 111 While the User-Mode Linux port uses its own root file system for 112 booting and normal file access, this module lets the UML user 113 access files stored on the host. It does not require any 114 network connection between the Host and UML. An example use of 115 this might be: 116 117 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare 118 119 where /tmp/fromhost is an empty directory inside UML and 120 /tmp/umlshare is a directory on the host with files the UML user 121 wishes to access. 122 123 For more information, see 124 <http://user-mode-linux.sourceforge.net/hostfs.html>. 125 126 If you'd like to be able to work with files stored on the host, 127 say Y or M here; otherwise say N. 128 129config MCONSOLE 130 bool "Management console" 131 depends on PROC_FS 132 default y 133 help 134 The user mode linux management console is a low-level interface to 135 the kernel, somewhat like the i386 SysRq interface. Since there is 136 a full-blown operating system running under every user mode linux 137 instance, there is much greater flexibility possible than with the 138 SysRq mechanism. 139 140 If you answer 'Y' to this option, to use this feature, you need the 141 mconsole client (called uml_mconsole) which is present in CVS in 142 2.4.5-9um and later (path /tools/mconsole), and is also in the 143 distribution RPM package in 2.4.6 and later. 144 145 It is safe to say 'Y' here. 146 147config MAGIC_SYSRQ 148 bool "Magic SysRq key" 149 depends on MCONSOLE 150 help 151 If you say Y here, you will have some control over the system even 152 if the system crashes for example during kernel debugging (e.g., you 153 will be able to flush the buffer cache to disk, reboot the system 154 immediately or dump some status information). A key for each of the 155 possible requests is provided. 156 157 This is the feature normally accomplished by pressing a key 158 while holding SysRq (Alt+PrintScreen). 159 160 On UML, this is accomplished by sending a "sysrq" command with 161 mconsole, followed by the letter for the requested command. 162 163 The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y 164 unless you really know what this hack does. 165 166config KERNEL_STACK_ORDER 167 int "Kernel stack size order" 168 default 2 if 64BIT 169 range 2 10 if 64BIT 170 default 1 if !64BIT 171 help 172 This option determines the size of UML kernel stacks. They will 173 be 1 << order pages. The default is OK unless you're running Valgrind 174 on UML, in which case, set this to 3. 175 It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on 176 older (pre-2017) CPUs. It is not recommended on newer CPUs due to the 177 increase in the size of the state which needs to be saved when handling 178 signals. 179 180config MMAPPER 181 tristate "iomem emulation driver" 182 help 183 This driver allows a host file to be used as emulated IO memory inside 184 UML. 185 186config PGTABLE_LEVELS 187 int 188 default 3 if 3_LEVEL_PGTABLES 189 default 2 190 191config UML_TIME_TRAVEL_SUPPORT 192 bool 193 prompt "Support time-travel mode (e.g. for test execution)" 194 # inf-cpu mode is incompatible with the benchmarking 195 depends on !RAID6_PQ_BENCHMARK 196 depends on !SMP 197 help 198 Enable this option to support time travel inside the UML instance. 199 200 After enabling this option, two modes are accessible at runtime 201 (selected by the kernel command line), see the kernel's command- 202 line help for more details. 203 204 It is safe to say Y, but you probably don't need this. 205 206endmenu 207 208source "arch/um/drivers/Kconfig" 209 210config ARCH_SUSPEND_POSSIBLE 211 def_bool y 212 213source "kernel/power/Kconfig" 214