Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Rusty Russell | ec3d41c | 2007-10-22 11:03:36 +1000 | [diff] [blame] | 2 | config VIRTIO |
Rusty Russell | c6fd470 | 2008-02-04 23:50:05 -0500 | [diff] [blame] | 3 | tristate |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 4 | help |
Rusty Russell | 387daf1 | 2012-09-28 15:05:15 +0930 | [diff] [blame] | 5 | This option is selected by any driver which implements the virtio |
Juergen Gross | ecda85e | 2017-08-16 19:31:57 +0200 | [diff] [blame] | 6 | bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_RPMSG |
| 7 | or CONFIG_S390_GUEST. |
Rusty Russell | 0a8a69d | 2007-10-22 11:03:40 +1000 | [diff] [blame] | 8 | |
Pierre Morel | 0afa15e | 2020-09-10 10:53:49 +0200 | [diff] [blame] | 9 | config 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 | |
Jason Wang | fd50272 | 2021-01-04 14:55:00 +0800 | [diff] [blame] | 15 | config 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 | |
Vincent Legoll | 7b95fec | 2018-01-07 12:33:56 +0100 | [diff] [blame] | 23 | menuconfig VIRTIO_MENU |
| 24 | bool "Virtio drivers" |
| 25 | default y |
| 26 | |
| 27 | if VIRTIO_MENU |
Ohad Ben-Cohen | e725421 | 2011-07-05 17:06:14 +0300 | [diff] [blame] | 28 | |
Anthony Liguori | 3343660 | 2007-11-12 21:30:26 -0600 | [diff] [blame] | 29 | config VIRTIO_PCI |
Kees Cook | d72c5a8 | 2012-10-02 11:19:07 -0700 | [diff] [blame] | 30 | tristate "PCI driver for virtio devices" |
| 31 | depends on PCI |
Jason Wang | fd50272 | 2021-01-04 14:55:00 +0800 | [diff] [blame] | 32 | select VIRTIO_PCI_LIB |
Anthony Liguori | 3343660 | 2007-11-12 21:30:26 -0600 | [diff] [blame] | 33 | select VIRTIO |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 34 | help |
Michael S. Tsirkin | b2a6d51 | 2015-01-15 14:15:51 +0200 | [diff] [blame] | 35 | This driver provides support for virtio based paravirtual device |
Anthony Liguori | 3343660 | 2007-11-12 21:30:26 -0600 | [diff] [blame] | 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 | |
Anthony Liguori | 3343660 | 2007-11-12 21:30:26 -0600 | [diff] [blame] | 40 | If unsure, say M. |
| 41 | |
Michael S. Tsirkin | 46506da | 2015-01-15 16:06:26 +0200 | [diff] [blame] | 42 | config VIRTIO_PCI_LEGACY |
| 43 | bool "Support for legacy virtio draft 0.9.X and older devices" |
| 44 | default y |
| 45 | depends on VIRTIO_PCI |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 46 | help |
Michael S. Tsirkin | 46506da | 2015-01-15 16:06:26 +0200 | [diff] [blame] | 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 | |
Jason Wang | c043b4a | 2020-03-26 22:01:22 +0800 | [diff] [blame] | 61 | config VIRTIO_VDPA |
| 62 | tristate "vDPA driver for virtio devices" |
Michael S. Tsirkin | 58ad137 | 2020-04-12 04:36:55 -0400 | [diff] [blame] | 63 | depends on VDPA |
Jason Wang | c043b4a | 2020-03-26 22:01:22 +0800 | [diff] [blame] | 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 | |
Pankaj Gupta | 6e84200 | 2019-07-05 19:33:23 +0530 | [diff] [blame] | 74 | config 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 | |
Rusty Russell | 6b35e40 | 2008-02-04 23:50:12 -0500 | [diff] [blame] | 85 | config VIRTIO_BALLOON |
Rusty Russell | 7a23eb2 | 2012-09-28 15:05:14 +0930 | [diff] [blame] | 86 | tristate "Virtio balloon driver" |
| 87 | depends on VIRTIO |
Konstantin Khlebnikov | 09316c0 | 2014-10-09 15:29:32 -0700 | [diff] [blame] | 88 | select MEMORY_BALLOON |
Alexander Duyck | b0c504f | 2020-04-06 20:05:05 -0700 | [diff] [blame] | 89 | select PAGE_REPORTING |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 90 | help |
Rusty Russell | 6b35e40 | 2008-02-04 23:50:12 -0500 | [diff] [blame] | 91 | This driver supports increasing and decreasing the amount |
| 92 | of memory within a KVM guest. |
| 93 | |
| 94 | If unsure, say M. |
| 95 | |
David Hildenbrand | 5f1f79b | 2020-05-07 16:01:25 +0200 | [diff] [blame] | 96 | config 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 |
Weilong Chen | a96b0d0 | 2020-06-19 16:03:33 +0800 | [diff] [blame] | 103 | depends on CONTIG_ALLOC |
David Hildenbrand | 5f1f79b | 2020-05-07 16:01:25 +0200 | [diff] [blame] | 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 | |
Gerd Hoffmann | 271c865 | 2015-03-27 12:46:12 +1030 | [diff] [blame] | 113 | config VIRTIO_INPUT |
| 114 | tristate "Virtio input driver" |
| 115 | depends on VIRTIO |
| 116 | depends on INPUT |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 117 | help |
Gerd Hoffmann | 271c865 | 2015-03-27 12:46:12 +1030 | [diff] [blame] | 118 | This driver supports virtio input devices such as |
| 119 | keyboards, mice and tablets. |
| 120 | |
| 121 | If unsure, say M. |
| 122 | |
Fabrizio Castro | 6166e53 | 2019-04-03 16:04:09 +0100 | [diff] [blame] | 123 | config VIRTIO_MMIO |
Kees Cook | d72c5a8 | 2012-10-02 11:19:07 -0700 | [diff] [blame] | 124 | tristate "Platform bus driver for memory mapped virtio devices" |
Andy Lutomirski | 780bc79 | 2016-02-02 21:46:36 -0800 | [diff] [blame] | 125 | depends on HAS_IOMEM && HAS_DMA |
Fabrizio Castro | 6166e53 | 2019-04-03 16:04:09 +0100 | [diff] [blame] | 126 | select VIRTIO |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 127 | help |
Fabrizio Castro | 6166e53 | 2019-04-03 16:04:09 +0100 | [diff] [blame] | 128 | This drivers provides support for memory mapped virtio |
Pawel Moll | edfd52e | 2011-10-24 14:07:03 +0100 | [diff] [blame] | 129 | platform device driver. |
| 130 | |
| 131 | If unsure, say N. |
| 132 | |
Pawel Moll | 81a054c | 2012-05-09 18:30:16 +0100 | [diff] [blame] | 133 | config VIRTIO_MMIO_CMDLINE_DEVICES |
| 134 | bool "Memory mapped virtio devices parameter parsing" |
| 135 | depends on VIRTIO_MMIO |
Masahiro Yamada | a7f7f62 | 2020-06-14 01:50:22 +0900 | [diff] [blame] | 136 | help |
Pawel Moll | 81a054c | 2012-05-09 18:30:16 +0100 | [diff] [blame] | 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. |
Mauro Carvalho Chehab | 8c27ceff3 | 2016-10-18 10:12:27 -0200 | [diff] [blame] | 140 | See Documentation/admin-guide/kernel-parameters.rst for details. |
Pawel Moll | 81a054c | 2012-05-09 18:30:16 +0100 | [diff] [blame] | 141 | |
| 142 | If unsure, say 'N'. |
| 143 | |
David Stevens | 9fe2f89 | 2020-08-19 12:10:11 +0900 | [diff] [blame] | 144 | config 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 | |
Vincent Legoll | 7b95fec | 2018-01-07 12:33:56 +0100 | [diff] [blame] | 151 | endif # VIRTIO_MENU |