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_UID16 13 select HAVE_FUTEX_CMPXCHG if FUTEX 14 select HAVE_DEBUG_KMEMLEAK 15 select HAVE_MEMBLOCK 16 select NO_BOOTMEM 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 PCI 37 bool 38 39config PCMCIA 40 bool 41 42config TRACE_IRQFLAGS_SUPPORT 43 bool 44 default y 45 46config LOCKDEP_SUPPORT 47 bool 48 default y 49 50config STACKTRACE_SUPPORT 51 bool 52 default y 53 select STACKTRACE 54 55config GENERIC_CALIBRATE_DELAY 56 bool 57 default y 58 59config HZ 60 int 61 default 100 62 63config NR_CPUS 64 int 65 range 1 1 66 default 1 67 68source "arch/$(HEADER_ARCH)/um/Kconfig" 69 70config STATIC_LINK 71 bool "Force a static link" 72 default n 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 81config LD_SCRIPT_STATIC 82 bool 83 default y 84 depends on STATIC_LINK 85 86config LD_SCRIPT_DYN 87 bool 88 default y 89 depends on !LD_SCRIPT_STATIC 90 select MODULE_REL_CRCS if MODVERSIONS 91 92config HOSTFS 93 tristate "Host filesystem" 94 help 95 While the User-Mode Linux port uses its own root file system for 96 booting and normal file access, this module lets the UML user 97 access files stored on the host. It does not require any 98 network connection between the Host and UML. An example use of 99 this might be: 100 101 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare 102 103 where /tmp/fromhost is an empty directory inside UML and 104 /tmp/umlshare is a directory on the host with files the UML user 105 wishes to access. 106 107 For more information, see 108 <http://user-mode-linux.sourceforge.net/hostfs.html>. 109 110 If you'd like to be able to work with files stored on the host, 111 say Y or M here; otherwise say N. 112 113config MCONSOLE 114 bool "Management console" 115 depends on PROC_FS 116 default y 117 help 118 The user mode linux management console is a low-level interface to 119 the kernel, somewhat like the i386 SysRq interface. Since there is 120 a full-blown operating system running under every user mode linux 121 instance, there is much greater flexibility possible than with the 122 SysRq mechanism. 123 124 If you answer 'Y' to this option, to use this feature, you need the 125 mconsole client (called uml_mconsole) which is present in CVS in 126 2.4.5-9um and later (path /tools/mconsole), and is also in the 127 distribution RPM package in 2.4.6 and later. 128 129 It is safe to say 'Y' here. 130 131config MAGIC_SYSRQ 132 bool "Magic SysRq key" 133 depends on MCONSOLE 134 help 135 If you say Y here, you will have some control over the system even 136 if the system crashes for example during kernel debugging (e.g., you 137 will be able to flush the buffer cache to disk, reboot the system 138 immediately or dump some status information). A key for each of the 139 possible requests is provided. 140 141 This is the feature normally accomplished by pressing a key 142 while holding SysRq (Alt+PrintScreen). 143 144 On UML, this is accomplished by sending a "sysrq" command with 145 mconsole, followed by the letter for the requested command. 146 147 The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y 148 unless you really know what this hack does. 149 150config KERNEL_STACK_ORDER 151 int "Kernel stack size order" 152 default 1 if 64BIT 153 range 1 10 if 64BIT 154 default 0 if !64BIT 155 help 156 This option determines the size of UML kernel stacks. They will 157 be 1 << order pages. The default is OK unless you're running Valgrind 158 on UML, in which case, set this to 3. 159 160config MMAPPER 161 tristate "iomem emulation driver" 162 help 163 This driver allows a host file to be used as emulated IO memory inside 164 UML. 165 166config NO_DMA 167 def_bool y 168 169config PGTABLE_LEVELS 170 int 171 default 3 if 3_LEVEL_PGTABLES 172 default 2 173 174config SECCOMP 175 def_bool y 176 prompt "Enable seccomp to safely compute untrusted bytecode" 177 ---help--- 178 This kernel feature is useful for number crunching applications 179 that may need to compute untrusted bytecode during their 180 execution. By using pipes or other transports made available to 181 the process as file descriptors supporting the read/write 182 syscalls, it's possible to isolate those applications in 183 their own address space using seccomp. Once seccomp is 184 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled 185 and the task is only allowed to execute a few safe syscalls 186 defined by each seccomp mode. 187 188 If unsure, say Y. 189 190endmenu 191 192source "arch/um/drivers/Kconfig" 193