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