163 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| config VIRTIO_ANCHOR
 | |
| 	bool
 | |
| 
 | |
| config VIRTIO
 | |
| 	tristate
 | |
| 	select VIRTIO_ANCHOR
 | |
| 	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.
 | |
| 
 | |
| config VIRTIO_PCI_LIB
 | |
| 	tristate
 | |
| 	help
 | |
| 	  Modern PCI device implementation. This module implements the
 | |
| 	  basic probe and control for devices which are based on modern
 | |
| 	  PCI device with possible vendor specific extensions. Any
 | |
| 	  module that selects this module must depend on PCI.
 | |
| 
 | |
| config VIRTIO_PCI_LIB_LEGACY
 | |
| 	tristate
 | |
| 	help
 | |
| 	  Legacy PCI device (Virtio PCI Card 0.9.x Draft and older device)
 | |
| 	  implementation.
 | |
| 	  This module implements the basic probe and control for devices
 | |
| 	  which are based on legacy PCI device. Any module that selects this
 | |
| 	  module must depend on PCI.
 | |
| 
 | |
| 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_PCI_LIB
 | |
| 	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
 | |
| 	select VIRTIO_PCI_LIB_LEGACY
 | |
| 	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_MEM
 | |
| 	tristate "Virtio mem driver"
 | |
| 	depends on X86_64 || ARM64
 | |
| 	depends on VIRTIO
 | |
| 	depends on MEMORY_HOTPLUG
 | |
| 	depends on MEMORY_HOTREMOVE
 | |
| 	depends on CONTIG_ALLOC
 | |
| 	depends on EXCLUSIVE_SYSTEM_RAM
 | |
| 	help
 | |
| 	 This driver provides access to virtio-mem paravirtualized memory
 | |
| 	 devices, allowing to hotplug and hotunplug memory.
 | |
| 
 | |
| 	 This driver currently only supports x86-64 and arm64. Although it
 | |
| 	 should compile on other architectures that implement memory
 | |
| 	 hot(un)plug, architecture-specific and/or common
 | |
| 	 code changes may be required for virtio-mem, kdump and kexec to work as
 | |
| 	 expected.
 | |
| 
 | |
| 	 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'.
 | |
| 
 | |
| config VIRTIO_DMA_SHARED_BUFFER
 | |
| 	tristate
 | |
| 	depends on DMA_SHARED_BUFFER
 | |
| 	help
 | |
| 	 This option adds a flavor of dma buffers that are backed by
 | |
| 	 virtio resources.
 | |
| 
 | |
| endif # VIRTIO_MENU
 |