# 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 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 '. 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 . 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.