hw/virtio: group virtio flags into an enum
Minimizes the possibility to assign
the same bit to different features.
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
(cherry picked from commit fc1769b758
)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
6b62303eb8
commit
c5c9841ce8
|
@ -59,30 +59,33 @@ typedef struct VirtioBusClass VirtioPCIBusClass;
|
||||||
#define VIRTIO_PCI_BUS_CLASS(klass) \
|
#define VIRTIO_PCI_BUS_CLASS(klass) \
|
||||||
OBJECT_CLASS_CHECK(VirtioPCIBusClass, klass, TYPE_VIRTIO_PCI_BUS)
|
OBJECT_CLASS_CHECK(VirtioPCIBusClass, klass, TYPE_VIRTIO_PCI_BUS)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
VIRTIO_PCI_FLAG_BUS_MASTER_BUG_MIGRATION_BIT,
|
||||||
|
VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT,
|
||||||
|
VIRTIO_PCI_FLAG_DISABLE_LEGACY_BIT,
|
||||||
|
VIRTIO_PCI_FLAG_DISABLE_MODERN_BIT,
|
||||||
|
VIRTIO_PCI_FLAG_MIGRATE_EXTRA_BIT,
|
||||||
|
VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY_BIT,
|
||||||
|
VIRTIO_PCI_FLAG_DISABLE_PCIE_BIT,
|
||||||
|
};
|
||||||
|
|
||||||
/* Need to activate work-arounds for buggy guests at vmstate load. */
|
/* Need to activate work-arounds for buggy guests at vmstate load. */
|
||||||
#define VIRTIO_PCI_FLAG_BUS_MASTER_BUG_MIGRATION_BIT 0
|
|
||||||
#define VIRTIO_PCI_FLAG_BUS_MASTER_BUG_MIGRATION \
|
#define VIRTIO_PCI_FLAG_BUS_MASTER_BUG_MIGRATION \
|
||||||
(1 << VIRTIO_PCI_FLAG_BUS_MASTER_BUG_MIGRATION_BIT)
|
(1 << VIRTIO_PCI_FLAG_BUS_MASTER_BUG_MIGRATION_BIT)
|
||||||
|
|
||||||
/* Performance improves when virtqueue kick processing is decoupled from the
|
/* Performance improves when virtqueue kick processing is decoupled from the
|
||||||
* vcpu thread using ioeventfd for some devices. */
|
* vcpu thread using ioeventfd for some devices. */
|
||||||
#define VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT 1
|
|
||||||
#define VIRTIO_PCI_FLAG_USE_IOEVENTFD (1 << VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT)
|
#define VIRTIO_PCI_FLAG_USE_IOEVENTFD (1 << VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT)
|
||||||
|
|
||||||
/* virtio version flags */
|
/* virtio version flags */
|
||||||
#define VIRTIO_PCI_FLAG_DISABLE_LEGACY_BIT 2
|
|
||||||
#define VIRTIO_PCI_FLAG_DISABLE_MODERN_BIT 3
|
|
||||||
#define VIRTIO_PCI_FLAG_DISABLE_PCIE_BIT 6
|
|
||||||
#define VIRTIO_PCI_FLAG_DISABLE_LEGACY (1 << VIRTIO_PCI_FLAG_DISABLE_LEGACY_BIT)
|
#define VIRTIO_PCI_FLAG_DISABLE_LEGACY (1 << VIRTIO_PCI_FLAG_DISABLE_LEGACY_BIT)
|
||||||
#define VIRTIO_PCI_FLAG_DISABLE_MODERN (1 << VIRTIO_PCI_FLAG_DISABLE_MODERN_BIT)
|
#define VIRTIO_PCI_FLAG_DISABLE_MODERN (1 << VIRTIO_PCI_FLAG_DISABLE_MODERN_BIT)
|
||||||
#define VIRTIO_PCI_FLAG_DISABLE_PCIE (1 << VIRTIO_PCI_FLAG_DISABLE_PCIE_BIT)
|
#define VIRTIO_PCI_FLAG_DISABLE_PCIE (1 << VIRTIO_PCI_FLAG_DISABLE_PCIE_BIT)
|
||||||
|
|
||||||
/* migrate extra state */
|
/* migrate extra state */
|
||||||
#define VIRTIO_PCI_FLAG_MIGRATE_EXTRA_BIT 4
|
|
||||||
#define VIRTIO_PCI_FLAG_MIGRATE_EXTRA (1 << VIRTIO_PCI_FLAG_MIGRATE_EXTRA_BIT)
|
#define VIRTIO_PCI_FLAG_MIGRATE_EXTRA (1 << VIRTIO_PCI_FLAG_MIGRATE_EXTRA_BIT)
|
||||||
|
|
||||||
/* have pio notification for modern device ? */
|
/* have pio notification for modern device ? */
|
||||||
#define VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY_BIT 5
|
|
||||||
#define VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY \
|
#define VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY \
|
||||||
(1 << VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY_BIT)
|
(1 << VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY_BIT)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue