linux/drivers/virtio/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0-only
   2config VIRTIO
   3        tristate
   4        help
   5          This option is selected by any driver which implements the virtio
   6          bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_RPMSG
   7          or CONFIG_S390_GUEST.
   8
   9config ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS
  10        bool
  11        help
  12          This option is selected if the architecture may need to enforce
  13          VIRTIO_F_ACCESS_PLATFORM
  14
  15config VIRTIO_PCI_LIB
  16        tristate
  17        help
  18          Modern PCI device implementation. This module implements the
  19          basic probe and control for devices which are based on modern
  20          PCI device with possible vendor specific extensions. Any
  21          module that selects this module must depend on PCI.
  22
  23menuconfig VIRTIO_MENU
  24        bool "Virtio drivers"
  25        default y
  26
  27if VIRTIO_MENU
  28
  29config VIRTIO_PCI
  30        tristate "PCI driver for virtio devices"
  31        depends on PCI
  32        select VIRTIO_PCI_LIB
  33        select VIRTIO
  34        help
  35          This driver provides support for virtio based paravirtual device
  36          drivers over PCI.  This requires that your VMM has appropriate PCI
  37          virtio backends.  Most QEMU based VMMs should support these devices
  38          (like KVM or Xen).
  39
  40          If unsure, say M.
  41
  42config VIRTIO_PCI_LEGACY
  43        bool "Support for legacy virtio draft 0.9.X and older devices"
  44        default y
  45        depends on VIRTIO_PCI
  46        help
  47          Virtio PCI Card 0.9.X Draft (circa 2014) and older device support.
  48
  49          This option enables building a transitional driver, supporting
  50          both devices conforming to Virtio 1 specification, and legacy devices.
  51          If disabled, you get a slightly smaller, non-transitional driver,
  52          with no legacy compatibility.
  53
  54          So look out into your driveway.  Do you have a flying car?  If
  55          so, you can happily disable this option and virtio will not
  56          break.  Otherwise, leave it set.  Unless you're testing what
  57          life will be like in The Future.
  58
  59          If unsure, say Y.
  60
  61config VIRTIO_VDPA
  62        tristate "vDPA driver for virtio devices"
  63        depends on VDPA
  64        select VIRTIO
  65        help
  66          This driver provides support for virtio based paravirtual
  67          device driver over vDPA bus. For this to be useful, you need
  68          an appropriate vDPA device implementation that operates on a
  69          physical device to allow the datapath of virtio to be
  70          offloaded to hardware.
  71
  72          If unsure, say M.
  73
  74config VIRTIO_PMEM
  75        tristate "Support for virtio pmem driver"
  76        depends on VIRTIO
  77        depends on LIBNVDIMM
  78        help
  79          This driver provides access to virtio-pmem devices, storage devices
  80          that are mapped into the physical address space - similar to NVDIMMs
  81           - with a virtio-based flushing interface.
  82
  83          If unsure, say Y.
  84
  85config VIRTIO_BALLOON
  86        tristate "Virtio balloon driver"
  87        depends on VIRTIO
  88        select MEMORY_BALLOON
  89        select PAGE_REPORTING
  90        help
  91         This driver supports increasing and decreasing the amount
  92         of memory within a KVM guest.
  93
  94         If unsure, say M.
  95
  96config VIRTIO_MEM
  97        tristate "Virtio mem driver"
  98        default m
  99        depends on X86_64
 100        depends on VIRTIO
 101        depends on MEMORY_HOTPLUG_SPARSE
 102        depends on MEMORY_HOTREMOVE
 103        depends on CONTIG_ALLOC
 104        help
 105         This driver provides access to virtio-mem paravirtualized memory
 106         devices, allowing to hotplug and hotunplug memory.
 107
 108         This driver was only tested under x86-64, but should theoretically
 109         work on all architectures that support memory hotplug and hotremove.
 110
 111         If unsure, say M.
 112
 113config VIRTIO_INPUT
 114        tristate "Virtio input driver"
 115        depends on VIRTIO
 116        depends on INPUT
 117        help
 118         This driver supports virtio input devices such as
 119         keyboards, mice and tablets.
 120
 121         If unsure, say M.
 122
 123config VIRTIO_MMIO
 124        tristate "Platform bus driver for memory mapped virtio devices"
 125        depends on HAS_IOMEM && HAS_DMA
 126        select VIRTIO
 127        help
 128         This drivers provides support for memory mapped virtio
 129         platform device driver.
 130
 131         If unsure, say N.
 132
 133config VIRTIO_MMIO_CMDLINE_DEVICES
 134        bool "Memory mapped virtio devices parameter parsing"
 135        depends on VIRTIO_MMIO
 136        help
 137         Allow virtio-mmio devices instantiation via the kernel command line
 138         or module parameters. Be aware that using incorrect parameters (base
 139         address in particular) can crash your system - you have been warned.
 140         See Documentation/admin-guide/kernel-parameters.rst for details.
 141
 142         If unsure, say 'N'.
 143
 144config VIRTIO_DMA_SHARED_BUFFER
 145        tristate
 146        depends on DMA_SHARED_BUFFER
 147        help
 148         This option adds a flavor of dma buffers that are backed by
 149         virtio resources.
 150
 151endif # VIRTIO_MENU
 152