Hi, Here is an initial virtio 1.0 pmd driver enabling.
Almost all difference comes from virtio 1.0 are the PCI layout change: the major configuration structures are stored at bar space, and their location is stored at corresponding pci cap structure. Reading/parsing them is one of the major work of patch 6. To make handling virtio v1.0 and v0.95 co-exist well, this patch set introduces a virtio_pci_ops structure, to add another layer so that we could keep those vtpci_foo_bar "APIs". With that, we could do the minimum change to add virtio 1.0 support. Note that the enabling is still in rough state, and it's likely I may miss something. So, comments are huge welcome! --yliu --- Yuanhan Liu (6): virtio: don't set vring address again at queue startup virtio: introduce struct virtio_pci_ops virtio: move left pci stuff to virtio_pci.c viritio: switch to 64 bit features virtio: set RTE_PCI_DRV_NEED_MAPPING flag virtio: add virtio v1.0 support drivers/net/virtio/virtio_ethdev.c | 297 +-------------- drivers/net/virtio/virtio_ethdev.h | 3 +- drivers/net/virtio/virtio_pci.c | 752 +++++++++++++++++++++++++++++++++++-- drivers/net/virtio/virtio_pci.h | 100 ++++- drivers/net/virtio/virtio_rxtx.c | 15 - drivers/net/virtio/virtqueue.h | 4 +- 6 files changed, 843 insertions(+), 328 deletions(-) -- 1.9.0