1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2ec3d41c4SRusty Russellconfig VIRTIO 3c6fd4701SRusty Russell tristate 4a7f7f624SMasahiro Yamada help 5387daf17SRusty Russell This option is selected by any driver which implements the virtio 6ecda85e7SJuergen Gross bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_RPMSG 7ecda85e7SJuergen Gross or CONFIG_S390_GUEST. 80a8a69ddSRusty Russell 97b95fec6SVincent Legollmenuconfig VIRTIO_MENU 107b95fec6SVincent Legoll bool "Virtio drivers" 117b95fec6SVincent Legoll default y 127b95fec6SVincent Legoll 137b95fec6SVincent Legollif VIRTIO_MENU 14e7254219SOhad Ben-Cohen 153343660dSAnthony Liguoriconfig VIRTIO_PCI 16d72c5a8cSKees Cook tristate "PCI driver for virtio devices" 17d72c5a8cSKees Cook depends on PCI 183343660dSAnthony Liguori select VIRTIO 19a7f7f624SMasahiro Yamada help 20b2a6d51dSMichael S. Tsirkin This driver provides support for virtio based paravirtual device 213343660dSAnthony Liguori drivers over PCI. This requires that your VMM has appropriate PCI 223343660dSAnthony Liguori virtio backends. Most QEMU based VMMs should support these devices 233343660dSAnthony Liguori (like KVM or Xen). 243343660dSAnthony Liguori 253343660dSAnthony Liguori If unsure, say M. 263343660dSAnthony Liguori 2746506da5SMichael S. Tsirkinconfig VIRTIO_PCI_LEGACY 2846506da5SMichael S. Tsirkin bool "Support for legacy virtio draft 0.9.X and older devices" 2946506da5SMichael S. Tsirkin default y 3046506da5SMichael S. Tsirkin depends on VIRTIO_PCI 31a7f7f624SMasahiro Yamada help 3246506da5SMichael S. Tsirkin Virtio PCI Card 0.9.X Draft (circa 2014) and older device support. 3346506da5SMichael S. Tsirkin 3446506da5SMichael S. Tsirkin This option enables building a transitional driver, supporting 3546506da5SMichael S. Tsirkin both devices conforming to Virtio 1 specification, and legacy devices. 3646506da5SMichael S. Tsirkin If disabled, you get a slightly smaller, non-transitional driver, 3746506da5SMichael S. Tsirkin with no legacy compatibility. 3846506da5SMichael S. Tsirkin 3946506da5SMichael S. Tsirkin So look out into your driveway. Do you have a flying car? If 4046506da5SMichael S. Tsirkin so, you can happily disable this option and virtio will not 4146506da5SMichael S. Tsirkin break. Otherwise, leave it set. Unless you're testing what 4246506da5SMichael S. Tsirkin life will be like in The Future. 4346506da5SMichael S. Tsirkin 4446506da5SMichael S. Tsirkin If unsure, say Y. 4546506da5SMichael S. Tsirkin 46c043b4a8SJason Wangconfig VIRTIO_VDPA 47c043b4a8SJason Wang tristate "vDPA driver for virtio devices" 4858ad1372SMichael S. Tsirkin depends on VDPA 49c043b4a8SJason Wang select VIRTIO 50c043b4a8SJason Wang help 51c043b4a8SJason Wang This driver provides support for virtio based paravirtual 52c043b4a8SJason Wang device driver over vDPA bus. For this to be useful, you need 53c043b4a8SJason Wang an appropriate vDPA device implementation that operates on a 54c043b4a8SJason Wang physical device to allow the datapath of virtio to be 55c043b4a8SJason Wang offloaded to hardware. 56c043b4a8SJason Wang 57c043b4a8SJason Wang If unsure, say M. 58c043b4a8SJason Wang 596e84200cSPankaj Guptaconfig VIRTIO_PMEM 606e84200cSPankaj Gupta tristate "Support for virtio pmem driver" 616e84200cSPankaj Gupta depends on VIRTIO 626e84200cSPankaj Gupta depends on LIBNVDIMM 636e84200cSPankaj Gupta help 646e84200cSPankaj Gupta This driver provides access to virtio-pmem devices, storage devices 656e84200cSPankaj Gupta that are mapped into the physical address space - similar to NVDIMMs 666e84200cSPankaj Gupta - with a virtio-based flushing interface. 676e84200cSPankaj Gupta 686e84200cSPankaj Gupta If unsure, say Y. 696e84200cSPankaj Gupta 706b35e407SRusty Russellconfig VIRTIO_BALLOON 717a23eb28SRusty Russell tristate "Virtio balloon driver" 727a23eb28SRusty Russell depends on VIRTIO 7309316c09SKonstantin Khlebnikov select MEMORY_BALLOON 74b0c504f1SAlexander Duyck select PAGE_REPORTING 75a7f7f624SMasahiro Yamada help 766b35e407SRusty Russell This driver supports increasing and decreasing the amount 776b35e407SRusty Russell of memory within a KVM guest. 786b35e407SRusty Russell 796b35e407SRusty Russell If unsure, say M. 806b35e407SRusty Russell 815f1f79bbSDavid Hildenbrandconfig VIRTIO_MEM 825f1f79bbSDavid Hildenbrand tristate "Virtio mem driver" 835f1f79bbSDavid Hildenbrand default m 845f1f79bbSDavid Hildenbrand depends on X86_64 855f1f79bbSDavid Hildenbrand depends on VIRTIO 865f1f79bbSDavid Hildenbrand depends on MEMORY_HOTPLUG_SPARSE 875f1f79bbSDavid Hildenbrand depends on MEMORY_HOTREMOVE 88*a96b0d06SWeilong Chen depends on CONTIG_ALLOC 895f1f79bbSDavid Hildenbrand help 905f1f79bbSDavid Hildenbrand This driver provides access to virtio-mem paravirtualized memory 915f1f79bbSDavid Hildenbrand devices, allowing to hotplug and hotunplug memory. 925f1f79bbSDavid Hildenbrand 935f1f79bbSDavid Hildenbrand This driver was only tested under x86-64, but should theoretically 945f1f79bbSDavid Hildenbrand work on all architectures that support memory hotplug and hotremove. 955f1f79bbSDavid Hildenbrand 965f1f79bbSDavid Hildenbrand If unsure, say M. 975f1f79bbSDavid Hildenbrand 98271c8651SGerd Hoffmannconfig VIRTIO_INPUT 99271c8651SGerd Hoffmann tristate "Virtio input driver" 100271c8651SGerd Hoffmann depends on VIRTIO 101271c8651SGerd Hoffmann depends on INPUT 102a7f7f624SMasahiro Yamada help 103271c8651SGerd Hoffmann This driver supports virtio input devices such as 104271c8651SGerd Hoffmann keyboards, mice and tablets. 105271c8651SGerd Hoffmann 106271c8651SGerd Hoffmann If unsure, say M. 107271c8651SGerd Hoffmann 108edfd52e6SPawel Mollconfig VIRTIO_MMIO 109d72c5a8cSKees Cook tristate "Platform bus driver for memory mapped virtio devices" 110780bc790SAndy Lutomirski depends on HAS_IOMEM && HAS_DMA 111edfd52e6SPawel Moll select VIRTIO 112a7f7f624SMasahiro Yamada help 113edfd52e6SPawel Moll This drivers provides support for memory mapped virtio 114edfd52e6SPawel Moll platform device driver. 115edfd52e6SPawel Moll 116edfd52e6SPawel Moll If unsure, say N. 117edfd52e6SPawel Moll 11881a054ceSPawel Mollconfig VIRTIO_MMIO_CMDLINE_DEVICES 11981a054ceSPawel Moll bool "Memory mapped virtio devices parameter parsing" 12081a054ceSPawel Moll depends on VIRTIO_MMIO 121a7f7f624SMasahiro Yamada help 12281a054ceSPawel Moll Allow virtio-mmio devices instantiation via the kernel command line 12381a054ceSPawel Moll or module parameters. Be aware that using incorrect parameters (base 12481a054ceSPawel Moll address in particular) can crash your system - you have been warned. 1258c27ceffSMauro Carvalho Chehab See Documentation/admin-guide/kernel-parameters.rst for details. 12681a054ceSPawel Moll 12781a054ceSPawel Moll If unsure, say 'N'. 12881a054ceSPawel Moll 1297b95fec6SVincent Legollendif # VIRTIO_MENU 130