virtio_pci: add an option to disable legacy driver
Useful for testing device virtio 1 compatibility. Based on patch by Rusty - couldn't resist putting that flying car joke in there! Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
0327642337
commit
46506da5f3
3 changed files with 31 additions and 1 deletions
|
@ -19,6 +19,25 @@ config VIRTIO_PCI
|
||||||
|
|
||||||
If unsure, say M.
|
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
|
||||||
|
---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_BALLOON
|
config VIRTIO_BALLOON
|
||||||
tristate "Virtio balloon driver"
|
tristate "Virtio balloon driver"
|
||||||
depends on VIRTIO
|
depends on VIRTIO
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
obj-$(CONFIG_VIRTIO) += virtio.o virtio_ring.o
|
obj-$(CONFIG_VIRTIO) += virtio.o virtio_ring.o
|
||||||
obj-$(CONFIG_VIRTIO_MMIO) += virtio_mmio.o
|
obj-$(CONFIG_VIRTIO_MMIO) += virtio_mmio.o
|
||||||
obj-$(CONFIG_VIRTIO_PCI) += virtio_pci.o
|
obj-$(CONFIG_VIRTIO_PCI) += virtio_pci.o
|
||||||
virtio_pci-y := virtio_pci_modern.o virtio_pci_legacy.o virtio_pci_common.o
|
virtio_pci-y := virtio_pci_modern.o virtio_pci_common.o
|
||||||
|
virtio_pci-$(CONFIG_VIRTIO_PCI_LEGACY) += virtio_pci_legacy.o
|
||||||
obj-$(CONFIG_VIRTIO_BALLOON) += virtio_balloon.o
|
obj-$(CONFIG_VIRTIO_BALLOON) += virtio_balloon.o
|
||||||
|
|
|
@ -147,8 +147,18 @@ const char *vp_bus_name(struct virtio_device *vdev);
|
||||||
*/
|
*/
|
||||||
int vp_set_vq_affinity(struct virtqueue *vq, int cpu);
|
int vp_set_vq_affinity(struct virtqueue *vq, int cpu);
|
||||||
|
|
||||||
|
#if IS_ENABLED(CONFIG_VIRTIO_PCI_LEGACY)
|
||||||
int virtio_pci_legacy_probe(struct virtio_pci_device *);
|
int virtio_pci_legacy_probe(struct virtio_pci_device *);
|
||||||
void virtio_pci_legacy_remove(struct virtio_pci_device *);
|
void virtio_pci_legacy_remove(struct virtio_pci_device *);
|
||||||
|
#else
|
||||||
|
static inline int virtio_pci_legacy_probe(struct virtio_pci_device *vp_dev)
|
||||||
|
{
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
static inline void virtio_pci_legacy_remove(struct virtio_pci_device *vp_dev)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
int virtio_pci_modern_probe(struct virtio_pci_device *);
|
int virtio_pci_modern_probe(struct virtio_pci_device *);
|
||||||
void virtio_pci_modern_remove(struct virtio_pci_device *);
|
void virtio_pci_modern_remove(struct virtio_pci_device *);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue