Commit 46506da5 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin Committed by Rusty Russell
Browse files

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: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent 03276423
Loading
Loading
Loading
Loading
+19 −0
Original line number Original line Diff line number Diff line
@@ -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
+2 −1
Original line number Original line Diff line number Diff line
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
+10 −0
Original line number Original line Diff line number Diff line
@@ -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 *);