Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
[sfrench/cifs-2.6.git] / arch / um / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 menu "UML-specific options"
4
5 config 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
23 config MMU
24         bool
25         default y
26
27 config NO_IOMEM
28         def_bool y
29
30 config ISA
31         bool
32
33 config SBUS
34         bool
35
36 config PCI
37         bool
38
39 config PCMCIA
40         bool
41
42 config TRACE_IRQFLAGS_SUPPORT
43         bool
44         default y
45
46 config LOCKDEP_SUPPORT
47         bool
48         default y
49
50 config STACKTRACE_SUPPORT
51         bool
52         default y
53         select STACKTRACE
54
55 config GENERIC_CALIBRATE_DELAY
56         bool
57         default y
58
59 config HZ
60         int
61         default 100
62
63 config NR_CPUS
64         int
65         range 1 1
66         default 1
67
68 source "arch/$(HEADER_ARCH)/um/Kconfig"
69
70 config 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
81 config LD_SCRIPT_STATIC
82         bool
83         default y
84         depends on STATIC_LINK
85
86 config LD_SCRIPT_DYN
87         bool
88         default y
89         depends on !LD_SCRIPT_STATIC
90         select MODULE_REL_CRCS if MODVERSIONS
91
92 config 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
113 config 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
131 config 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
150 config 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
160 config 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
166 config NO_DMA
167         def_bool y
168
169 config PGTABLE_LEVELS
170         int
171         default 3 if 3_LEVEL_PGTABLES
172         default 2
173
174 config 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
190 endmenu
191
192 source "arch/um/drivers/Kconfig"