GNU Linux-libre 4.14.266-gnu1
[releases.git] / arch / um / Kconfig.um
1 # SPDX-License-Identifier: GPL-2.0
2 config STATIC_LINK
3         bool "Force a static link"
4         default n
5         help
6           This option gives you the ability to force a static link of UML.
7           Normally, UML is linked as a shared binary.  This is inconvenient for
8           use in a chroot jail.  So, if you intend to run UML inside a chroot,
9           you probably want to say Y here.
10           Additionally, this option enables using higher memory spaces (up to
11           2.75G) for UML.
12
13 source "mm/Kconfig"
14
15 config LD_SCRIPT_STATIC
16         bool
17         default y
18         depends on STATIC_LINK
19
20 config LD_SCRIPT_DYN
21         bool
22         default y
23         depends on !LD_SCRIPT_STATIC
24         select MODULE_REL_CRCS if MODVERSIONS
25
26 source "fs/Kconfig.binfmt"
27
28 config HOSTFS
29         tristate "Host filesystem"
30         help
31           While the User-Mode Linux port uses its own root file system for
32           booting and normal file access, this module lets the UML user
33           access files stored on the host.  It does not require any
34           network connection between the Host and UML.  An example use of
35           this might be:
36
37           mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
38
39           where /tmp/fromhost is an empty directory inside UML and
40           /tmp/umlshare is a directory on the host with files the UML user
41           wishes to access.
42
43           For more information, see
44           <http://user-mode-linux.sourceforge.net/hostfs.html>.
45
46           If you'd like to be able to work with files stored on the host,
47           say Y or M here; otherwise say N.
48
49 config MCONSOLE
50         bool "Management console"
51         depends on PROC_FS
52         default y
53         help
54           The user mode linux management console is a low-level interface to
55           the kernel, somewhat like the i386 SysRq interface.  Since there is
56           a full-blown operating system running under every user mode linux
57           instance, there is much greater flexibility possible than with the
58           SysRq mechanism.
59
60           If you answer 'Y' to this option, to use this feature, you need the
61           mconsole client (called uml_mconsole) which is present in CVS in
62           2.4.5-9um and later (path /tools/mconsole), and is also in the
63           distribution RPM package in 2.4.6 and later.
64
65           It is safe to say 'Y' here.
66
67 config MAGIC_SYSRQ
68         bool "Magic SysRq key"
69         depends on MCONSOLE
70         help
71           If you say Y here, you will have some control over the system even
72           if the system crashes for example during kernel debugging (e.g., you
73           will be able to flush the buffer cache to disk, reboot the system
74           immediately or dump some status information). A key for each of the
75           possible requests is provided.
76
77           This is the feature normally accomplished by pressing a key
78           while holding SysRq (Alt+PrintScreen).
79
80           On UML, this is accomplished by sending a "sysrq" command with
81           mconsole, followed by the letter for the requested command.
82
83           The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
84           unless you really know what this hack does.
85
86 config KERNEL_STACK_ORDER
87         int "Kernel stack size order"
88         default 1 if 64BIT
89         range 1 10 if 64BIT
90         default 0 if !64BIT
91         help
92           This option determines the size of UML kernel stacks.  They will
93           be 1 << order pages.  The default is OK unless you're running Valgrind
94           on UML, in which case, set this to 3.
95
96 config MMAPPER
97         tristate "iomem emulation driver"
98         help
99           This driver allows a host file to be used as emulated IO memory inside
100           UML.
101
102 config NO_DMA
103         def_bool y
104
105 config PGTABLE_LEVELS
106         int
107         default 3 if 3_LEVEL_PGTABLES
108         default 2
109
110 config SECCOMP
111         def_bool y
112         prompt "Enable seccomp to safely compute untrusted bytecode"
113         ---help---
114           This kernel feature is useful for number crunching applications
115           that may need to compute untrusted bytecode during their
116           execution. By using pipes or other transports made available to
117           the process as file descriptors supporting the read/write
118           syscalls, it's possible to isolate those applications in
119           their own address space using seccomp. Once seccomp is
120           enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
121           and the task is only allowed to execute a few safe syscalls
122           defined by each seccomp mode.
123
124           If unsure, say Y.