xref: /linux/arch/um/Kconfig (revision f163977d21a2b380ef83c25df2f83740577dc564)
179b05c1fSChristoph Hellwig# SPDX-License-Identifier: GPL-2.0
279b05c1fSChristoph Hellwig
3*f163977dSChristoph Hellwigmenu "UML-specific options"
4*f163977dSChristoph Hellwig
5*f163977dSChristoph Hellwigconfig UML
6*f163977dSChristoph Hellwig	bool
7*f163977dSChristoph Hellwig	default y
8*f163977dSChristoph Hellwig	select ARCH_HAS_KCOV
9*f163977dSChristoph Hellwig	select HAVE_ARCH_AUDITSYSCALL
10*f163977dSChristoph Hellwig	select HAVE_ARCH_SECCOMP_FILTER
11*f163977dSChristoph Hellwig	select HAVE_UID16
12*f163977dSChristoph Hellwig	select HAVE_FUTEX_CMPXCHG if FUTEX
13*f163977dSChristoph Hellwig	select HAVE_DEBUG_KMEMLEAK
14*f163977dSChristoph Hellwig	select GENERIC_IRQ_SHOW
15*f163977dSChristoph Hellwig	select GENERIC_CPU_DEVICES
16*f163977dSChristoph Hellwig	select GENERIC_CLOCKEVENTS
17*f163977dSChristoph Hellwig	select HAVE_GCC_PLUGINS
18*f163977dSChristoph Hellwig	select TTY # Needed for line.c
19*f163977dSChristoph Hellwig
20*f163977dSChristoph Hellwigconfig MMU
21*f163977dSChristoph Hellwig	bool
22*f163977dSChristoph Hellwig	default y
23*f163977dSChristoph Hellwig
24*f163977dSChristoph Hellwigconfig NO_IOMEM
25*f163977dSChristoph Hellwig	def_bool y
26*f163977dSChristoph Hellwig
27*f163977dSChristoph Hellwigconfig ISA
28*f163977dSChristoph Hellwig	bool
29*f163977dSChristoph Hellwig
30*f163977dSChristoph Hellwigconfig SBUS
31*f163977dSChristoph Hellwig	bool
32*f163977dSChristoph Hellwig
33*f163977dSChristoph Hellwigconfig PCI
34*f163977dSChristoph Hellwig	bool
35*f163977dSChristoph Hellwig
36*f163977dSChristoph Hellwigconfig PCMCIA
37*f163977dSChristoph Hellwig	bool
38*f163977dSChristoph Hellwig
39*f163977dSChristoph Hellwigconfig TRACE_IRQFLAGS_SUPPORT
40*f163977dSChristoph Hellwig	bool
41*f163977dSChristoph Hellwig	default y
42*f163977dSChristoph Hellwig
43*f163977dSChristoph Hellwigconfig LOCKDEP_SUPPORT
44*f163977dSChristoph Hellwig	bool
45*f163977dSChristoph Hellwig	default y
46*f163977dSChristoph Hellwig
47*f163977dSChristoph Hellwigconfig STACKTRACE_SUPPORT
48*f163977dSChristoph Hellwig	bool
49*f163977dSChristoph Hellwig	default y
50*f163977dSChristoph Hellwig	select STACKTRACE
51*f163977dSChristoph Hellwig
52*f163977dSChristoph Hellwigconfig GENERIC_CALIBRATE_DELAY
53*f163977dSChristoph Hellwig	bool
54*f163977dSChristoph Hellwig	default y
55*f163977dSChristoph Hellwig
56*f163977dSChristoph Hellwigconfig HZ
57*f163977dSChristoph Hellwig	int
58*f163977dSChristoph Hellwig	default 100
59*f163977dSChristoph Hellwig
60*f163977dSChristoph Hellwigconfig NR_CPUS
61*f163977dSChristoph Hellwig	int
62*f163977dSChristoph Hellwig	range 1 1
63*f163977dSChristoph Hellwig	default 1
64*f163977dSChristoph Hellwig
6579b05c1fSChristoph Hellwigsource "arch/$(HEADER_ARCH)/um/Kconfig"
66*f163977dSChristoph Hellwig
67*f163977dSChristoph Hellwigconfig STATIC_LINK
68*f163977dSChristoph Hellwig	bool "Force a static link"
69*f163977dSChristoph Hellwig	default n
70*f163977dSChristoph Hellwig	help
71*f163977dSChristoph Hellwig	  This option gives you the ability to force a static link of UML.
72*f163977dSChristoph Hellwig	  Normally, UML is linked as a shared binary.  This is inconvenient for
73*f163977dSChristoph Hellwig	  use in a chroot jail.  So, if you intend to run UML inside a chroot,
74*f163977dSChristoph Hellwig	  you probably want to say Y here.
75*f163977dSChristoph Hellwig	  Additionally, this option enables using higher memory spaces (up to
76*f163977dSChristoph Hellwig	  2.75G) for UML.
77*f163977dSChristoph Hellwig
78*f163977dSChristoph Hellwigsource "mm/Kconfig"
79*f163977dSChristoph Hellwig
80*f163977dSChristoph Hellwigconfig LD_SCRIPT_STATIC
81*f163977dSChristoph Hellwig	bool
82*f163977dSChristoph Hellwig	default y
83*f163977dSChristoph Hellwig	depends on STATIC_LINK
84*f163977dSChristoph Hellwig
85*f163977dSChristoph Hellwigconfig LD_SCRIPT_DYN
86*f163977dSChristoph Hellwig	bool
87*f163977dSChristoph Hellwig	default y
88*f163977dSChristoph Hellwig	depends on !LD_SCRIPT_STATIC
89*f163977dSChristoph Hellwig        select MODULE_REL_CRCS if MODVERSIONS
90*f163977dSChristoph Hellwig
91*f163977dSChristoph Hellwigsource "fs/Kconfig.binfmt"
92*f163977dSChristoph Hellwig
93*f163977dSChristoph Hellwigconfig HOSTFS
94*f163977dSChristoph Hellwig	tristate "Host filesystem"
95*f163977dSChristoph Hellwig	help
96*f163977dSChristoph Hellwig          While the User-Mode Linux port uses its own root file system for
97*f163977dSChristoph Hellwig          booting and normal file access, this module lets the UML user
98*f163977dSChristoph Hellwig          access files stored on the host.  It does not require any
99*f163977dSChristoph Hellwig          network connection between the Host and UML.  An example use of
100*f163977dSChristoph Hellwig          this might be:
101*f163977dSChristoph Hellwig
102*f163977dSChristoph Hellwig          mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
103*f163977dSChristoph Hellwig
104*f163977dSChristoph Hellwig          where /tmp/fromhost is an empty directory inside UML and
105*f163977dSChristoph Hellwig          /tmp/umlshare is a directory on the host with files the UML user
106*f163977dSChristoph Hellwig          wishes to access.
107*f163977dSChristoph Hellwig
108*f163977dSChristoph Hellwig          For more information, see
109*f163977dSChristoph Hellwig          <http://user-mode-linux.sourceforge.net/hostfs.html>.
110*f163977dSChristoph Hellwig
111*f163977dSChristoph Hellwig          If you'd like to be able to work with files stored on the host,
112*f163977dSChristoph Hellwig          say Y or M here; otherwise say N.
113*f163977dSChristoph Hellwig
114*f163977dSChristoph Hellwigconfig MCONSOLE
115*f163977dSChristoph Hellwig	bool "Management console"
116*f163977dSChristoph Hellwig	depends on PROC_FS
117*f163977dSChristoph Hellwig	default y
118*f163977dSChristoph Hellwig	help
119*f163977dSChristoph Hellwig          The user mode linux management console is a low-level interface to
120*f163977dSChristoph Hellwig          the kernel, somewhat like the i386 SysRq interface.  Since there is
121*f163977dSChristoph Hellwig          a full-blown operating system running under every user mode linux
122*f163977dSChristoph Hellwig          instance, there is much greater flexibility possible than with the
123*f163977dSChristoph Hellwig          SysRq mechanism.
124*f163977dSChristoph Hellwig
125*f163977dSChristoph Hellwig          If you answer 'Y' to this option, to use this feature, you need the
126*f163977dSChristoph Hellwig          mconsole client (called uml_mconsole) which is present in CVS in
127*f163977dSChristoph Hellwig          2.4.5-9um and later (path /tools/mconsole), and is also in the
128*f163977dSChristoph Hellwig          distribution RPM package in 2.4.6 and later.
129*f163977dSChristoph Hellwig
130*f163977dSChristoph Hellwig          It is safe to say 'Y' here.
131*f163977dSChristoph Hellwig
132*f163977dSChristoph Hellwigconfig MAGIC_SYSRQ
133*f163977dSChristoph Hellwig	bool "Magic SysRq key"
134*f163977dSChristoph Hellwig	depends on MCONSOLE
135*f163977dSChristoph Hellwig	help
136*f163977dSChristoph Hellwig	  If you say Y here, you will have some control over the system even
137*f163977dSChristoph Hellwig	  if the system crashes for example during kernel debugging (e.g., you
138*f163977dSChristoph Hellwig	  will be able to flush the buffer cache to disk, reboot the system
139*f163977dSChristoph Hellwig	  immediately or dump some status information). A key for each of the
140*f163977dSChristoph Hellwig	  possible requests is provided.
141*f163977dSChristoph Hellwig
142*f163977dSChristoph Hellwig	  This is the feature normally accomplished by pressing a key
143*f163977dSChristoph Hellwig	  while holding SysRq (Alt+PrintScreen).
144*f163977dSChristoph Hellwig
145*f163977dSChristoph Hellwig	  On UML, this is accomplished by sending a "sysrq" command with
146*f163977dSChristoph Hellwig	  mconsole, followed by the letter for the requested command.
147*f163977dSChristoph Hellwig
148*f163977dSChristoph Hellwig	  The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y
149*f163977dSChristoph Hellwig	  unless you really know what this hack does.
150*f163977dSChristoph Hellwig
151*f163977dSChristoph Hellwigconfig KERNEL_STACK_ORDER
152*f163977dSChristoph Hellwig	int "Kernel stack size order"
153*f163977dSChristoph Hellwig	default 1 if 64BIT
154*f163977dSChristoph Hellwig	range 1 10 if 64BIT
155*f163977dSChristoph Hellwig	default 0 if !64BIT
156*f163977dSChristoph Hellwig	help
157*f163977dSChristoph Hellwig	  This option determines the size of UML kernel stacks.  They will
158*f163977dSChristoph Hellwig	  be 1 << order pages.  The default is OK unless you're running Valgrind
159*f163977dSChristoph Hellwig	  on UML, in which case, set this to 3.
160*f163977dSChristoph Hellwig
161*f163977dSChristoph Hellwigconfig MMAPPER
162*f163977dSChristoph Hellwig	tristate "iomem emulation driver"
163*f163977dSChristoph Hellwig	help
164*f163977dSChristoph Hellwig	  This driver allows a host file to be used as emulated IO memory inside
165*f163977dSChristoph Hellwig	  UML.
166*f163977dSChristoph Hellwig
167*f163977dSChristoph Hellwigconfig NO_DMA
168*f163977dSChristoph Hellwig	def_bool y
169*f163977dSChristoph Hellwig
170*f163977dSChristoph Hellwigconfig PGTABLE_LEVELS
171*f163977dSChristoph Hellwig	int
172*f163977dSChristoph Hellwig	default 3 if 3_LEVEL_PGTABLES
173*f163977dSChristoph Hellwig	default 2
174*f163977dSChristoph Hellwig
175*f163977dSChristoph Hellwigconfig SECCOMP
176*f163977dSChristoph Hellwig	def_bool y
177*f163977dSChristoph Hellwig	prompt "Enable seccomp to safely compute untrusted bytecode"
178*f163977dSChristoph Hellwig	---help---
179*f163977dSChristoph Hellwig	  This kernel feature is useful for number crunching applications
180*f163977dSChristoph Hellwig	  that may need to compute untrusted bytecode during their
181*f163977dSChristoph Hellwig	  execution. By using pipes or other transports made available to
182*f163977dSChristoph Hellwig	  the process as file descriptors supporting the read/write
183*f163977dSChristoph Hellwig	  syscalls, it's possible to isolate those applications in
184*f163977dSChristoph Hellwig	  their own address space using seccomp. Once seccomp is
185*f163977dSChristoph Hellwig	  enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
186*f163977dSChristoph Hellwig	  and the task is only allowed to execute a few safe syscalls
187*f163977dSChristoph Hellwig	  defined by each seccomp mode.
188*f163977dSChristoph Hellwig
189*f163977dSChristoph Hellwig	  If unsure, say Y.
190*f163977dSChristoph Hellwig
191*f163977dSChristoph Hellwigendmenu
192*f163977dSChristoph Hellwig
193*f163977dSChristoph Hellwigsource "init/Kconfig"
194*f163977dSChristoph Hellwig
195*f163977dSChristoph Hellwigsource "kernel/Kconfig.freezer"
196*f163977dSChristoph Hellwig
197*f163977dSChristoph Hellwigsource "arch/um/Kconfig.char"
198*f163977dSChristoph Hellwig
199*f163977dSChristoph Hellwigsource "drivers/Kconfig"
200*f163977dSChristoph Hellwig
201*f163977dSChristoph Hellwigsource "net/Kconfig"
202*f163977dSChristoph Hellwig
203*f163977dSChristoph Hellwigsource "arch/um/Kconfig.net"
204*f163977dSChristoph Hellwig
205*f163977dSChristoph Hellwigsource "fs/Kconfig"
206*f163977dSChristoph Hellwig
207*f163977dSChristoph Hellwigsource "security/Kconfig"
208*f163977dSChristoph Hellwig
209*f163977dSChristoph Hellwigsource "crypto/Kconfig"
210*f163977dSChristoph Hellwig
211*f163977dSChristoph Hellwigsource "lib/Kconfig"
212*f163977dSChristoph Hellwig
213*f163977dSChristoph Hellwigsource "arch/um/Kconfig.debug"
214