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