um: Fix Kconfig indentation
[linux-2.6-microblaze.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_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
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 TRACE_IRQFLAGS_SUPPORT
37         bool
38         default y
39
40 config LOCKDEP_SUPPORT
41         bool
42         default y
43
44 config STACKTRACE_SUPPORT
45         bool
46         default y
47         select STACKTRACE
48
49 config GENERIC_CALIBRATE_DELAY
50         bool
51         default y
52
53 config HZ
54         int
55         default 100
56
57 config NR_CPUS
58         int
59         range 1 1
60         default 1
61
62 source "arch/$(HEADER_ARCH)/um/Kconfig"
63
64 config 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
75 config LD_SCRIPT_STATIC
76         bool
77         default y
78         depends on STATIC_LINK
79
80 config LD_SCRIPT_DYN
81         bool
82         default y
83         depends on !LD_SCRIPT_STATIC
84         select MODULE_REL_CRCS if MODVERSIONS
85
86 config 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
107 config 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
125 config 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
144 config 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
158 config 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
164 config NO_DMA
165         def_bool y
166
167 config PGTABLE_LEVELS
168         int
169         default 3 if 3_LEVEL_PGTABLES
170         default 2
171
172 config 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
188 config 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
200 endmenu
201
202 source "arch/um/drivers/Kconfig"