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