hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/virtio/Kconfig
....@@ -1,9 +1,16 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 config VIRTIO
23 tristate
3
- ---help---
4
+ help
45 This option is selected by any driver which implements the virtio
56 bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_RPMSG
67 or CONFIG_S390_GUEST.
8
+
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
714
815 menuconfig VIRTIO_MENU
916 bool "Virtio drivers"
....@@ -15,7 +22,7 @@
1522 tristate "PCI driver for virtio devices"
1623 depends on PCI
1724 select VIRTIO
18
- ---help---
25
+ help
1926 This driver provides support for virtio based paravirtual device
2027 drivers over PCI. This requires that your VMM has appropriate PCI
2128 virtio backends. Most QEMU based VMMs should support these devices
....@@ -27,7 +34,7 @@
2734 bool "Support for legacy virtio draft 0.9.X and older devices"
2835 default y
2936 depends on VIRTIO_PCI
30
- ---help---
37
+ help
3138 Virtio PCI Card 0.9.X Draft (circa 2014) and older device support.
3239
3340 This option enables building a transitional driver, supporting
....@@ -41,6 +48,19 @@
4148 life will be like in The Future.
4249
4350 If unsure, say Y.
51
+
52
+config VIRTIO_VDPA
53
+ tristate "vDPA driver for virtio devices"
54
+ depends on VDPA
55
+ select VIRTIO
56
+ help
57
+ This driver provides support for virtio based paravirtual
58
+ device driver over vDPA bus. For this to be useful, you need
59
+ an appropriate vDPA device implementation that operates on a
60
+ physical device to allow the datapath of virtio to be
61
+ offloaded to hardware.
62
+
63
+ If unsure, say M.
4464
4565 config VIRTIO_PMEM
4666 tristate "Support for virtio pmem driver"
....@@ -57,9 +77,27 @@
5777 tristate "Virtio balloon driver"
5878 depends on VIRTIO
5979 select MEMORY_BALLOON
60
- ---help---
80
+ select PAGE_REPORTING
81
+ help
6182 This driver supports increasing and decreasing the amount
6283 of memory within a KVM guest.
84
+
85
+ If unsure, say M.
86
+
87
+config VIRTIO_MEM
88
+ tristate "Virtio mem driver"
89
+ default m
90
+ depends on X86_64
91
+ depends on VIRTIO
92
+ depends on MEMORY_HOTPLUG_SPARSE
93
+ depends on MEMORY_HOTREMOVE
94
+ depends on CONTIG_ALLOC
95
+ help
96
+ This driver provides access to virtio-mem paravirtualized memory
97
+ devices, allowing to hotplug and hotunplug memory.
98
+
99
+ This driver was only tested under x86-64, but should theoretically
100
+ work on all architectures that support memory hotplug and hotremove.
63101
64102 If unsure, say M.
65103
....@@ -67,18 +105,18 @@
67105 tristate "Virtio input driver"
68106 depends on VIRTIO
69107 depends on INPUT
70
- ---help---
108
+ help
71109 This driver supports virtio input devices such as
72110 keyboards, mice and tablets.
73111
74112 If unsure, say M.
75113
76
- config VIRTIO_MMIO
114
+config VIRTIO_MMIO
77115 tristate "Platform bus driver for memory mapped virtio devices"
78116 depends on HAS_IOMEM && HAS_DMA
79
- select VIRTIO
80
- ---help---
81
- This drivers provides support for memory mapped virtio
117
+ select VIRTIO
118
+ help
119
+ This drivers provides support for memory mapped virtio
82120 platform device driver.
83121
84122 If unsure, say N.
....@@ -86,7 +124,7 @@
86124 config VIRTIO_MMIO_CMDLINE_DEVICES
87125 bool "Memory mapped virtio devices parameter parsing"
88126 depends on VIRTIO_MMIO
89
- ---help---
127
+ help
90128 Allow virtio-mmio devices instantiation via the kernel command line
91129 or module parameters. Be aware that using incorrect parameters (base
92130 address in particular) can crash your system - you have been warned.
....@@ -94,4 +132,11 @@
94132
95133 If unsure, say 'N'.
96134
135
+config VIRTIO_DMA_SHARED_BUFFER
136
+ tristate "Virtio DMA shared buffer support"
137
+ depends on DMA_SHARED_BUFFER
138
+ help
139
+ This option adds a flavor of dma buffers that are backed by
140
+ virtio resources.
141
+
97142 endif # VIRTIO_MENU