From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id B86BF8D8F for ; Thu, 10 Dec 2015 04:52:52 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP; 09 Dec 2015 19:52:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,406,1444719600"; d="scan'208";a="10684558" Received: from yliu-dev.sh.intel.com ([10.239.66.49]) by fmsmga004.fm.intel.com with ESMTP; 09 Dec 2015 19:52:51 -0800 From: Yuanhan Liu To: dev@dpdk.org Date: Thu, 10 Dec 2015 11:54:04 +0800 Message-Id: <1449719650-3482-1-git-send-email-yuanhan.liu@linux.intel.com> X-Mailer: git-send-email 1.9.0 Subject: [dpdk-dev] [PATCH 0/6 for 2.3] initial virtio 1.0 enabling X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Dec 2015 03:52:53 -0000 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