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