blob: e72b4b3933672c2007a52cdb080bd404b9996562 [file] [log] [blame]
Christoph Hellwig79b05c12018-07-31 13:39:26 +02001# SPDX-License-Identifier: GPL-2.0
2
Christoph Hellwigf1639772018-07-31 13:39:27 +02003menu "UML-specific options"
4
5config UML
6 bool
7 default y
Mickaël Salaüncb2c7d12021-04-22 17:41:17 +02008 select ARCH_EPHEMERAL_INODES
Christoph Hellwigf1639772018-07-31 13:39:27 +02009 select ARCH_HAS_KCOV
Christoph Hellwig87a4c372018-07-31 13:39:32 +020010 select ARCH_NO_PREEMPT
Christoph Hellwigf1639772018-07-31 13:39:27 +020011 select HAVE_ARCH_AUDITSYSCALL
12 select HAVE_ARCH_SECCOMP_FILTER
Masahiro Yamada2ff2b7e2019-08-19 14:54:20 +090013 select HAVE_ASM_MODVERSIONS
Christoph Hellwigf1639772018-07-31 13:39:27 +020014 select HAVE_UID16
15 select HAVE_FUTEX_CMPXCHG if FUTEX
16 select HAVE_DEBUG_KMEMLEAK
Hernán Gonzalez0d764332018-10-30 12:58:10 +010017 select HAVE_DEBUG_BUGVERBOSE
Christoph Hellwig846f9e12020-07-14 14:18:54 +020018 select NO_DMA
Christoph Hellwigf1639772018-07-31 13:39:27 +020019 select GENERIC_IRQ_SHOW
20 select GENERIC_CPU_DEVICES
Christoph Hellwigf1639772018-07-31 13:39:27 +020021 select HAVE_GCC_PLUGINS
Christoph Hellwig5e6e9852020-09-03 16:22:35 +020022 select SET_FS
Christoph Hellwigf1639772018-07-31 13:39:27 +020023 select TTY # Needed for line.c
24
25config MMU
26 bool
27 default y
28
29config NO_IOMEM
Johannes Berg0bbadaf2021-03-05 13:19:51 +010030 bool "disable IOMEM" if EXPERT
31 default y
32
33config NO_IOPORT_MAP
Christoph Hellwigf1639772018-07-31 13:39:27 +020034 def_bool y
35
36config ISA
37 bool
38
39config SBUS
40 bool
41
Christoph Hellwigf1639772018-07-31 13:39:27 +020042config 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
Christoph Hellwig79b05c12018-07-31 13:39:26 +020068source "arch/$(HEADER_ARCH)/um/Kconfig"
Christoph Hellwigf1639772018-07-31 13:39:27 +020069
Ignat Korchagin730586f2020-07-19 22:02:22 +010070config MAY_HAVE_RUNTIME_DEPS
71 bool
Brendan Higgins33631792020-01-24 14:14:01 -080072
Christoph Hellwigf1639772018-07-31 13:39:27 +020073config STATIC_LINK
74 bool "Force a static link"
Ignat Korchagin730586f2020-07-19 22:02:22 +010075 depends on CC_CAN_LINK_STATIC_NO_RUNTIME_DEPS || !MAY_HAVE_RUNTIME_DEPS
Christoph Hellwigf1639772018-07-31 13:39:27 +020076 help
77 This option gives you the ability to force a static link of UML.
78 Normally, UML is linked as a shared binary. This is inconvenient for
79 use in a chroot jail. So, if you intend to run UML inside a chroot,
80 you probably want to say Y here.
81 Additionally, this option enables using higher memory spaces (up to
82 2.75G) for UML.
83
Brendan Higgins33631792020-01-24 14:14:01 -080084 NOTE: This option is incompatible with some networking features which
85 depend on features that require being dynamically loaded (like NSS).
86
Christoph Hellwigf1639772018-07-31 13:39:27 +020087config LD_SCRIPT_STATIC
88 bool
89 default y
90 depends on STATIC_LINK
91
92config LD_SCRIPT_DYN
93 bool
94 default y
95 depends on !LD_SCRIPT_STATIC
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +010096 select MODULE_REL_CRCS if MODVERSIONS
Christoph Hellwigf1639772018-07-31 13:39:27 +020097
Christoph Hellwigf1639772018-07-31 13:39:27 +020098config HOSTFS
99 tristate "Host filesystem"
100 help
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100101 While the User-Mode Linux port uses its own root file system for
102 booting and normal file access, this module lets the UML user
103 access files stored on the host. It does not require any
104 network connection between the Host and UML. An example use of
105 this might be:
Christoph Hellwigf1639772018-07-31 13:39:27 +0200106
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100107 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
Christoph Hellwigf1639772018-07-31 13:39:27 +0200108
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100109 where /tmp/fromhost is an empty directory inside UML and
110 /tmp/umlshare is a directory on the host with files the UML user
111 wishes to access.
Christoph Hellwigf1639772018-07-31 13:39:27 +0200112
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100113 For more information, see
114 <http://user-mode-linux.sourceforge.net/hostfs.html>.
Christoph Hellwigf1639772018-07-31 13:39:27 +0200115
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100116 If you'd like to be able to work with files stored on the host,
117 say Y or M here; otherwise say N.
Christoph Hellwigf1639772018-07-31 13:39:27 +0200118
119config MCONSOLE
120 bool "Management console"
121 depends on PROC_FS
122 default y
123 help
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100124 The user mode linux management console is a low-level interface to
125 the kernel, somewhat like the i386 SysRq interface. Since there is
126 a full-blown operating system running under every user mode linux
127 instance, there is much greater flexibility possible than with the
128 SysRq mechanism.
Christoph Hellwigf1639772018-07-31 13:39:27 +0200129
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100130 If you answer 'Y' to this option, to use this feature, you need the
131 mconsole client (called uml_mconsole) which is present in CVS in
132 2.4.5-9um and later (path /tools/mconsole), and is also in the
133 distribution RPM package in 2.4.6 and later.
Christoph Hellwigf1639772018-07-31 13:39:27 +0200134
Enrico Weigelt, metux IT consult37606592019-03-06 22:14:55 +0100135 It is safe to say 'Y' here.
Christoph Hellwigf1639772018-07-31 13:39:27 +0200136
137config MAGIC_SYSRQ
138 bool "Magic SysRq key"
139 depends on MCONSOLE
140 help
141 If you say Y here, you will have some control over the system even
142 if the system crashes for example during kernel debugging (e.g., you
143 will be able to flush the buffer cache to disk, reboot the system
144 immediately or dump some status information). A key for each of the
145 possible requests is provided.
146
147 This is the feature normally accomplished by pressing a key
148 while holding SysRq (Alt+PrintScreen).
149
150 On UML, this is accomplished by sending a "sysrq" command with
151 mconsole, followed by the letter for the requested command.
152
153 The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y
154 unless you really know what this hack does.
155
156config KERNEL_STACK_ORDER
157 int "Kernel stack size order"
Anton Ivanov5c2ffce2019-01-04 15:38:21 +0000158 default 2 if 64BIT
159 range 2 10 if 64BIT
160 default 1 if !64BIT
Christoph Hellwigf1639772018-07-31 13:39:27 +0200161 help
162 This option determines the size of UML kernel stacks. They will
163 be 1 << order pages. The default is OK unless you're running Valgrind
164 on UML, in which case, set this to 3.
Anton Ivanov5c2ffce2019-01-04 15:38:21 +0000165 It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on
166 older (pre-2017) CPUs. It is not recommended on newer CPUs due to the
167 increase in the size of the state which needs to be saved when handling
Krzysztof Kozlowski7d8093a2019-11-20 21:36:54 +0800168 signals.
Christoph Hellwigf1639772018-07-31 13:39:27 +0200169
170config MMAPPER
171 tristate "iomem emulation driver"
172 help
173 This driver allows a host file to be used as emulated IO memory inside
174 UML.
175
Christoph Hellwigf1639772018-07-31 13:39:27 +0200176config PGTABLE_LEVELS
177 int
178 default 3 if 3_LEVEL_PGTABLES
179 default 2
180
Johannes Berg06503872019-05-27 10:34:27 +0200181config UML_TIME_TRAVEL_SUPPORT
182 bool
183 prompt "Support time-travel mode (e.g. for test execution)"
Johannes Bergd65197a2019-12-13 10:01:28 +0100184 # inf-cpu mode is incompatible with the benchmarking
185 depends on !RAID6_PQ_BENCHMARK
Johannes Berg4b786e22020-02-13 14:26:45 +0100186 depends on !SMP
Johannes Berg06503872019-05-27 10:34:27 +0200187 help
188 Enable this option to support time travel inside the UML instance.
189
190 After enabling this option, two modes are accessible at runtime
191 (selected by the kernel command line), see the kernel's command-
192 line help for more details.
193
194 It is safe to say Y, but you probably don't need this.
195
Christoph Hellwigf1639772018-07-31 13:39:27 +0200196endmenu
197
Christoph Hellwig9bea1802018-07-31 13:39:28 +0200198source "arch/um/drivers/Kconfig"
Johannes Berg92dcd3d2020-12-02 20:58:06 +0100199
200config ARCH_SUSPEND_POSSIBLE
201 def_bool y
202
203source "kernel/power/Kconfig"