diff options
author | Mohsin Kazmi <sykazmi@cisco.com> | 2020-08-20 10:25:12 +0200 |
---|---|---|
committer | Benoît Ganne <bganne@cisco.com> | 2020-08-20 14:12:40 +0000 |
commit | 379aac395a2cc78847d8f14264a22a3ee99fc1c2 (patch) | |
tree | cbc2031fa11c7b37e298cd5f2aca28a0714183a2 /src/vnet/devices/virtio/pci.h | |
parent | 7885c740ae5ea4dd97e11a5b1b33c394bc5b5664 (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.h | 17 |
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, |