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 HOSTFS 96 tristate "Host filesystem" 97 help 98 While the User-Mode Linux port uses its own root file system for 99 booting and normal file access, this module lets the UML user 100 access files stored on the host. It does not require any 101 network connection between the Host and UML. An example use of 102 this might be: 103 104 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare 105 106 where /tmp/fromhost is an empty directory inside UML and 107 /tmp/umlshare is a directory on the host with files the UML user 108 wishes to access. 109 110 For more information, see 111 <http://user-mode-linux.sourceforge.net/hostfs.html>. 112 113 If you'd like to be able to work with files stored on the host, 114 say Y or M here; otherwise say N. 115 116config MCONSOLE 117 bool "Management console" 118 depends on PROC_FS 119 default y 120 help 121 The user mode linux management console is a low-level interface to 122 the kernel, somewhat like the i386 SysRq interface. Since there is 123 a full-blown operating system running under every user mode linux 124 instance, there is much greater flexibility possible than with the 125 SysRq mechanism. 126 127 If you answer 'Y' to this option, to use this feature, you need the 128 mconsole client (called uml_mconsole) which is present in CVS in 129 2.4.5-9um and later (path /tools/mconsole), and is also in the 130 distribution RPM package in 2.4.6 and later. 131 132 It is safe to say 'Y' here. 133 134config MAGIC_SYSRQ 135 bool "Magic SysRq key" 136 depends on MCONSOLE 137 help 138 If you say Y here, you will have some control over the system even 139 if the system crashes for example during kernel debugging (e.g., you 140 will be able to flush the buffer cache to disk, reboot the system 141 immediately or dump some status information). A key for each of the 142 possible requests is provided. 143 144 This is the feature normally accomplished by pressing a key 145 while holding SysRq (Alt+PrintScreen). 146 147 On UML, this is accomplished by sending a "sysrq" command with 148 mconsole, followed by the letter for the requested command. 149 150 The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y 151 unless you really know what this hack does. 152 153config KERNEL_STACK_ORDER 154 int "Kernel stack size order" 155 default 2 if 64BIT 156 range 2 10 if 64BIT 157 default 1 if !64BIT 158 help 159 This option determines the size of UML kernel stacks. They will 160 be 1 << order pages. The default is OK unless you're running Valgrind 161 on UML, in which case, set this to 3. 162 It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on 163 older (pre-2017) CPUs. It is not recommended on newer CPUs due to the 164 increase in the size of the state which needs to be saved when handling 165 signals. 166 167config MMAPPER 168 tristate "iomem emulation driver" 169 help 170 This driver allows a host file to be used as emulated IO memory inside 171 UML. 172 173config PGTABLE_LEVELS 174 int 175 default 3 if 3_LEVEL_PGTABLES 176 default 2 177 178config UML_TIME_TRAVEL_SUPPORT 179 bool 180 prompt "Support time-travel mode (e.g. for test execution)" 181 # inf-cpu mode is incompatible with the benchmarking 182 depends on !RAID6_PQ_BENCHMARK 183 depends on !SMP 184 help 185 Enable this option to support time travel inside the UML instance. 186 187 After enabling this option, two modes are accessible at runtime 188 (selected by the kernel command line), see the kernel's command- 189 line help for more details. 190 191 It is safe to say Y, but you probably don't need this. 192 193endmenu 194 195source "arch/um/drivers/Kconfig" 196 197config ARCH_SUSPEND_POSSIBLE 198 def_bool y 199 200source "kernel/power/Kconfig" 201