Michael, Sorry that I forgot to CC you. (In fact, I intended to, but there is a tiny bug at my send-email script :(
It'd be great if you could take some time to review it. Thanks. --yliu On Thu, Dec 10, 2015 at 11:54:04AM +0800, Yuanhan Liu wrote: > 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