c37c7dfee8be00905bdd6389689f6bd2825e006e
[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_DEBUG_BUGVERBOSE
16         select GENERIC_IRQ_SHOW
17         select GENERIC_CPU_DEVICES
18         select GENERIC_CLOCKEVENTS
19         select HAVE_GCC_PLUGINS
20         select TTY # Needed for line.c
21
22 config MMU
23         bool
24         default y
25
26 config NO_IOMEM
27         def_bool y
28
29 config ISA
30         bool
31
32 config SBUS
33         bool
34
35 config PCI
36         bool
37
38 config PCMCIA
39         bool
40
41 config TRACE_IRQFLAGS_SUPPORT
42         bool
43         default y
44
45 config LOCKDEP_SUPPORT
46         bool
47         default y
48
49 config STACKTRACE_SUPPORT
50         bool
51         default y
52         select STACKTRACE
53
54 config GENERIC_CALIBRATE_DELAY
55         bool
56         default y
57
58 config HZ
59         int
60         default 100
61
62 config NR_CPUS
63         int
64         range 1 1
65         default 1
66
67 source "arch/$(HEADER_ARCH)/um/Kconfig"
68
69 config STATIC_LINK
70         bool "Force a static link"
71         default n
72         help
73           This option gives you the ability to force a static link of UML.
74           Normally, UML is linked as a shared binary.  This is inconvenient for
75           use in a chroot jail.  So, if you intend to run UML inside a chroot,
76           you probably want to say Y here.
77           Additionally, this option enables using higher memory spaces (up to
78           2.75G) for UML.
79
80 config LD_SCRIPT_STATIC
81         bool
82         default y
83         depends on STATIC_LINK
84
85 config LD_SCRIPT_DYN
86         bool
87         default y
88         depends on !LD_SCRIPT_STATIC
89         select MODULE_REL_CRCS if MODVERSIONS
90
91 config HOSTFS
92         tristate "Host filesystem"
93         help
94           While the User-Mode Linux port uses its own root file system for
95           booting and normal file access, this module lets the UML user
96           access files stored on the host.  It does not require any
97           network connection between the Host and UML.  An example use of
98           this might be:
99
100           mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
101
102           where /tmp/fromhost is an empty directory inside UML and
103           /tmp/umlshare is a directory on the host with files the UML user
104           wishes to access.
105
106           For more information, see
107           <http://user-mode-linux.sourceforge.net/hostfs.html>.
108
109           If you'd like to be able to work with files stored on the host,
110           say Y or M here; otherwise say N.
111
112 config MCONSOLE
113         bool "Management console"
114         depends on PROC_FS
115         default y
116         help
117           The user mode linux management console is a low-level interface to
118           the kernel, somewhat like the i386 SysRq interface.  Since there is
119           a full-blown operating system running under every user mode linux
120           instance, there is much greater flexibility possible than with the
121           SysRq mechanism.
122
123           If you answer 'Y' to this option, to use this feature, you need the
124           mconsole client (called uml_mconsole) which is present in CVS in
125           2.4.5-9um and later (path /tools/mconsole), and is also in the
126           distribution RPM package in 2.4.6 and later.
127
128           It is safe to say 'Y' here.
129
130 config MAGIC_SYSRQ
131         bool "Magic SysRq key"
132         depends on MCONSOLE
133         help
134           If you say Y here, you will have some control over the system even
135           if the system crashes for example during kernel debugging (e.g., you
136           will be able to flush the buffer cache to disk, reboot the system
137           immediately or dump some status information). A key for each of the
138           possible requests is provided.
139
140           This is the feature normally accomplished by pressing a key
141           while holding SysRq (Alt+PrintScreen).
142
143           On UML, this is accomplished by sending a "sysrq" command with
144           mconsole, followed by the letter for the requested command.
145
146           The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y
147           unless you really know what this hack does.
148
149 config KERNEL_STACK_ORDER
150         int "Kernel stack size order"
151         default 1 if 64BIT
152         range 1 10 if 64BIT
153         default 0 if !64BIT
154         help
155           This option determines the size of UML kernel stacks.  They will
156           be 1 << order pages.  The default is OK unless you're running Valgrind
157           on UML, in which case, set this to 3.
158
159 config 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
165 config NO_DMA
166         def_bool y
167
168 config PGTABLE_LEVELS
169         int
170         default 3 if 3_LEVEL_PGTABLES
171         default 2
172
173 config 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
189 endmenu
190
191 source "arch/um/drivers/Kconfig"