summaryrefslogtreecommitdiffstats
path: root/src/vnet/devices/virtio/pci.h
diff options
context:
space:
mode:
authorMohsin Kazmi <sykazmi@cisco.com>2020-08-20 10:25:12 +0200
committerBenoît Ganne <bganne@cisco.com>2020-08-20 14:12:40 +0000
commit379aac395a2cc78847d8f14264a22a3ee99fc1c2 (patch)
treecbc2031fa11c7b37e298cd5f2aca28a0714183a2 /src/vnet/devices/virtio/pci.h
parent7885c740ae5ea4dd97e11a5b1b33c394bc5b5664 (diff)
virtio: add modern device support
Type: feature Change-Id: I205f7c146a213d603d9d1e46fcf5195a876608dc Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Diffstat (limited to 'src/vnet/devices/virtio/pci.h')
-rw-r--r--src/vnet/devices/virtio/pci.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/vnet/devices/virtio/pci.h b/src/vnet/devices/virtio/pci.h
index dfc0711305a..f9a58280aae 100644
--- a/src/vnet/devices/virtio/pci.h
+++ b/src/vnet/devices/virtio/pci.h
@@ -82,7 +82,8 @@ typedef enum
* at the end of the avail ring. Host should ignore the avail->flags field. */ \
/* The Host publishes the avail index for which it expects a kick \
* at the end of the used ring. Guest should ignore the used->flags field. */ \
- _ (VHOST_USER_F_PROTOCOL_FEATURES, 30)
+ _ (VHOST_USER_F_PROTOCOL_FEATURES, 30) \
+ _ (VIRTIO_F_VERSION_1, 32) \
#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS 2
#define VIRTIO_NET_F_MTU 3
@@ -147,8 +148,8 @@ typedef struct
/* About the whole device. */
u32 device_feature_select; /* read-write */
u32 device_feature; /* read-only */
- u32 guest_feature_select; /* read-write */
- u32 guest_feature; /* read-write */
+ u32 driver_feature_select; /* read-write */
+ u32 driver_feature; /* read-write */
u16 msix_config; /* read-write */
u16 num_queues; /* read-only */
u8 device_status; /* read-write */
@@ -160,12 +161,9 @@ typedef struct
u16 queue_msix_vector; /* read-write */
u16 queue_enable; /* read-write */
u16 queue_notify_off; /* read-only */
- u32 queue_desc_lo; /* read-write */
- u32 queue_desc_hi; /* read-write */
- u32 queue_avail_lo; /* read-write */
- u32 queue_avail_hi; /* read-write */
- u32 queue_used_lo; /* read-write */
- u32 queue_used_hi; /* read-write */
+ u64 queue_desc; /* read-write */
+ u64 queue_driver; /* read-write */
+ u64 queue_device; /* read-write */
} virtio_pci_common_cfg_t;
typedef struct
@@ -259,6 +257,7 @@ typedef struct
} virtio_pci_create_if_args_t;
extern const virtio_pci_func_t virtio_pci_legacy_func;
+extern const virtio_pci_func_t virtio_pci_modern_func;
extern void device_status (vlib_main_t * vm, virtio_if_t * vif);
void virtio_pci_create_if (vlib_main_t * vm,