[dpdk-dev] [PATCH v2 0/7] virtio 1.0 enabling for virtio pmd driver

Yuanhan Liu yuanhan.liu at linux.intel.com
Tue Jan 12 07:58:57 CET 2016


v2: - fix a data corruption reported by Qian, due to hdr size mismatch.
      check detailes at ptach 5.

    - Add missing config_irq and isr reading support from v1.

    - fix comments from v1.

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 7.

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.


---
Yuanhan Liu (7):
  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: retrieve hdr_size from hw->vtnet_hdr_size
  eal: pci: export pci_map_device
  virtio: add 1.0 support

 doc/guides/rel_notes/release_2_3.rst            |   3 +
 drivers/net/virtio/virtio_ethdev.c              | 301 +---------
 drivers/net/virtio/virtio_ethdev.h              |   3 +-
 drivers/net/virtio/virtio_pci.c                 | 768 +++++++++++++++++++++++-
 drivers/net/virtio/virtio_pci.h                 | 102 +++-
 drivers/net/virtio/virtio_rxtx.c                |  21 +-
 drivers/net/virtio/virtqueue.h                  |   4 +-
 lib/librte_eal/bsdapp/eal/eal_pci.c             |   2 +-
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |   6 +
 lib/librte_eal/common/eal_common_pci.c          |   2 +-
 lib/librte_eal/common/eal_private.h             |  11 -
 lib/librte_eal/common/include/rte_pci.h         |  11 +
 lib/librte_eal/linuxapp/eal/eal_pci.c           |   2 +-
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |   6 +
 14 files changed, 899 insertions(+), 343 deletions(-)

-- 
1.9.0



More information about the dev mailing list