summaryrefslogtreecommitdiff
path: root/arch/um/drivers/Kconfig
blob: 34085bfc6d4168225fab9e0346ac889e991b7925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# SPDX-License-Identifier: GPL-2.0

menu "UML Character Devices"

config STDERR_CONSOLE
	bool "stderr console"
	default y
	help
	  console driver which dumps all printk messages to stderr.

config SSL
	bool "Virtual serial line"
	help
	  The User-Mode Linux environment allows you to create virtual serial
	  lines on the UML that are usually made to show up on the host as
	  ttys or ptys.

	  See <http://user-mode-linux.sourceforge.net/old/input.html> for more
	  information and command line examples of how to use this facility.

	  Unless you have a specific reason for disabling this, say Y.

config NULL_CHAN
	bool "null channel support"
	help
	  This option enables support for attaching UML consoles and serial
	  lines to a device similar to /dev/null.  Data written to it disappears
	  and there is never any data to be read.

config PORT_CHAN
	bool "port channel support"
	help
	  This option enables support for attaching UML consoles and serial
	  lines to host portals.  They may be accessed with 'telnet <host>
	  <port number>'.  Any number of consoles and serial lines may be
	  attached to a single portal, although what UML device you get when
	  you telnet to that portal will be unpredictable.
	  It is safe to say 'Y' here.

config PTY_CHAN
	bool "pty channel support"
	help
	  This option enables support for attaching UML consoles and serial
	  lines to host pseudo-terminals.  Access to both traditional
	  pseudo-terminals (/dev/pty*) and pts pseudo-terminals are controlled
	  with this option.  The assignment of UML devices to host devices
	  will be announced in the kernel message log.
	  It is safe to say 'Y' here.

config TTY_CHAN
	bool "tty channel support"
	help
	  This option enables support for attaching UML consoles and serial
	  lines to host terminals.  Access to both virtual consoles
	  (/dev/tty*) and the slave side of pseudo-terminals (/dev/ttyp* and
	  /dev/pts/*) are controlled by this option.
	  It is safe to say 'Y' here.

config XTERM_CHAN
	bool "xterm channel support"
	help
	  This option enables support for attaching UML consoles and serial
	  lines to xterms.  Each UML device so assigned will be brought up in
	  its own xterm.
	  It is safe to say 'Y' here.

config XTERM_CHAN_DEFAULT_EMULATOR
	string "xterm channel default terminal emulator"
	depends on XTERM_CHAN
	default "xterm"
	help
	  This option allows changing the default terminal emulator.

config NOCONFIG_CHAN
	bool
	default !(XTERM_CHAN && TTY_CHAN && PTY_CHAN && PORT_CHAN && NULL_CHAN)

config CON_ZERO_CHAN
	string "Default main console channel initialization"
	default "fd:0,fd:1"
	help
	  This is the string describing the channel to which the main console
	  will be attached by default.  This value can be overridden from the
	  command line.  The default value is "fd:0,fd:1", which attaches the
	  main console to stdin and stdout.
	  It is safe to leave this unchanged.

config CON_CHAN
	string "Default console channel initialization"
	default "xterm"
	help
	  This is the string describing the channel to which all consoles
	  except the main console will be attached by default.  This value can
	  be overridden from the command line.  The default value is "xterm",
	  which brings them up in xterms.
	  It is safe to leave this unchanged, although you may wish to change
	  this if you expect the UML that you build to be run in environments
	  which don't have X or xterm available.

config SSL_CHAN
	string "Default serial line channel initialization"
	default "pty"
	help
	  This is the string describing the channel to which the serial lines
	  will be attached by default.  This value can be overridden from the
	  command line.  The default value is "pty", which attaches them to
	  traditional pseudo-terminals.
	  It is safe to leave this unchanged, although you may wish to change
	  this if you expect the UML that you build to be run in environments
	  which don't have a set of /dev/pty* devices.

config UML_SOUND
	tristate "Sound support"
	depends on SOUND
	select SOUND_OSS_CORE
	help
	  This option enables UML sound support.  If enabled, it will pull in
	  the UML hostaudio relay, which acts as a intermediary
	  between the host's dsp and mixer devices and the UML sound system.
	  It is safe to say 'Y' here.

endmenu

menu "UML Network Devices"
	depends on NET

config UML_NET_VECTOR
	bool "Vector I/O high performance network devices"
	select MAY_HAVE_RUNTIME_DEPS
	help
	  This User-Mode Linux network driver uses multi-message send
	  and receive functions. The host running the UML guest must have
	  a linux kernel version above 3.0 and a libc version > 2.13.
	  This driver provides tap, raw, gre and l2tpv3 network transports.

	  For more information, including explanations of the networking
	  and sample configurations, see
	  <file:Documentation/virt/uml/user_mode_linux_howto_v2.rst>.

endmenu

config VIRTIO_UML
	bool "UML driver for virtio devices"
	select VIRTIO
	help
	  This driver provides support for virtio based paravirtual device
	  drivers over vhost-user sockets.

config UML_RTC
	bool "UML RTC driver"
	depends on RTC_CLASS
	# there's no use in this if PM_SLEEP isn't enabled ...
	depends on PM_SLEEP
	help
	  When PM_SLEEP is configured, it may be desirable to wake up using
	  rtcwake, especially in time-travel mode. This driver enables that
	  by providing a fake RTC clock that causes a wakeup at the right
	  time.

config UML_PCI
	bool
	select FORCE_PCI
	select UML_IOMEM_EMULATION
	select UML_DMA_EMULATION
	select PCI_MSI
	select PCI_LOCKLESS_CONFIG

config UML_PCI_OVER_VIRTIO
	bool "Enable PCI over VIRTIO device simulation"
	# in theory, just VIRTIO is enough, but that causes recursion
	depends on VIRTIO_UML
	select UML_PCI

config UML_PCI_OVER_VIRTIO_DEVICE_ID
	int "set the virtio device ID for PCI emulation"
	default -1
	depends on UML_PCI_OVER_VIRTIO
	help
	  There's no official device ID assigned (yet), set the one you
	  wish to use for experimentation here. The default of -1 is
	  not valid and will cause the driver to fail at probe.

config UML_PCI_OVER_VFIO
	bool "Enable VFIO-based PCI passthrough"
	select UML_PCI
	help
	  This driver provides support for VFIO-based PCI passthrough.
	  Currently, only MSI-X capable devices are supported, and it
	  is assumed that drivers will use MSI-X.