From 379aac395a2cc78847d8f14264a22a3ee99fc1c2 Mon Sep 17 00:00:00 2001 From: Mohsin Kazmi Date: Thu, 20 Aug 2020 10:25:12 +0200 Subject: virtio: add modern device support Type: feature Change-Id: I205f7c146a213d603d9d1e46fcf5195a876608dc Signed-off-by: Mohsin Kazmi --- src/vnet/devices/virtio/pci.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/vnet/devices/virtio/pci.h') 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, -- cgit 1.2.3-korg