| # SPDX-License-Identifier: GPL-2.0-only | |
| config VIRTIO | |
| tristate | |
| ---help--- | |
| This option is selected by any driver which implements the virtio | |
| bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_RPMSG | |
| or CONFIG_S390_GUEST. | |
| menuconfig VIRTIO_MENU | |
| bool "Virtio drivers" | |
| default y | |
| if VIRTIO_MENU | |
| config VIRTIO_PCI | |
| tristate "PCI driver for virtio devices" | |
| depends on PCI | |
| select VIRTIO | |
| ---help--- | |
| This driver provides support for virtio based paravirtual device | |
| drivers over PCI. This requires that your VMM has appropriate PCI | |
| virtio backends. Most QEMU based VMMs should support these devices | |
| (like KVM or Xen). | |
| If unsure, say M. | |
| config VIRTIO_PCI_LEGACY | |
| bool "Support for legacy virtio draft 0.9.X and older devices" | |
| default y | |
| depends on VIRTIO_PCI | |
| ---help--- | |
| Virtio PCI Card 0.9.X Draft (circa 2014) and older device support. | |
| This option enables building a transitional driver, supporting | |
| both devices conforming to Virtio 1 specification, and legacy devices. | |
| If disabled, you get a slightly smaller, non-transitional driver, | |
| with no legacy compatibility. | |
| So look out into your driveway. Do you have a flying car? If | |
| so, you can happily disable this option and virtio will not | |
| break. Otherwise, leave it set. Unless you're testing what | |
| life will be like in The Future. | |
| If unsure, say Y. | |
| config VIRTIO_VDPA | |
| tristate "vDPA driver for virtio devices" | |
| depends on VDPA | |
| select VIRTIO | |
| help | |
| This driver provides support for virtio based paravirtual | |
| device driver over vDPA bus. For this to be useful, you need | |
| an appropriate vDPA device implementation that operates on a | |
| physical device to allow the datapath of virtio to be | |
| offloaded to hardware. | |
| If unsure, say M. | |
| config VIRTIO_PMEM | |
| tristate "Support for virtio pmem driver" | |
| depends on VIRTIO | |
| depends on LIBNVDIMM | |
| help | |
| This driver provides access to virtio-pmem devices, storage devices | |
| that are mapped into the physical address space - similar to NVDIMMs | |
| - with a virtio-based flushing interface. | |
| If unsure, say Y. | |
| config VIRTIO_BALLOON | |
| tristate "Virtio balloon driver" | |
| depends on VIRTIO | |
| select MEMORY_BALLOON | |
| select PAGE_REPORTING | |
| ---help--- | |
| This driver supports increasing and decreasing the amount | |
| of memory within a KVM guest. | |
| If unsure, say M. | |
| config VIRTIO_INPUT | |
| tristate "Virtio input driver" | |
| depends on VIRTIO | |
| depends on INPUT | |
| ---help--- | |
| This driver supports virtio input devices such as | |
| keyboards, mice and tablets. | |
| If unsure, say M. | |
| config VIRTIO_MMIO | |
| tristate "Platform bus driver for memory mapped virtio devices" | |
| depends on HAS_IOMEM && HAS_DMA | |
| select VIRTIO | |
| ---help--- | |
| This drivers provides support for memory mapped virtio | |
| platform device driver. | |
| If unsure, say N. | |
| config VIRTIO_MMIO_CMDLINE_DEVICES | |
| bool "Memory mapped virtio devices parameter parsing" | |
| depends on VIRTIO_MMIO | |
| ---help--- | |
| Allow virtio-mmio devices instantiation via the kernel command line | |
| or module parameters. Be aware that using incorrect parameters (base | |
| address in particular) can crash your system - you have been warned. | |
| See Documentation/admin-guide/kernel-parameters.rst for details. | |
| If unsure, say 'N'. | |
| endif # VIRTIO_MENU |