From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f44.google.com (mail-pa0-f44.google.com [209.85.220.44]) by dpdk.org (Postfix) with ESMTP id EB416C718 for ; Fri, 29 Jan 2016 19:26:41 +0100 (CET) Received: by mail-pa0-f44.google.com with SMTP id ho8so45163213pac.2 for ; Fri, 29 Jan 2016 10:26:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mvista-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=VVxdAwmAcgBJ5goLDjp0FxpktrqejXTjL0qHZZqWCx0=; b=EPf86ZckUFiPONXH0/oDFR75WfzWzvdh6korq9I/1uxsIBgge8fDA82ebehKz9OndD 4XagarRKn0BgSHqqMypsVr1Qx9YtrR1ViiLkZqHdnuLifVnzKblRJ2/ZteZHTECg9zVu KL1Oy4SZx9LQtpITC7UhJjsc03V8cTBqVNWbQB2E3y1NrT0DeajTnsg1IER/5JVLrFhP EvhzfNqWQ/RZ7M9MghjxgD5+mX2dnhCS7AIIDjz4bn776xdF63OT6K5mqp2GhX6GIQdU dinnYOd/PtQcg5fn69SJAetKI4nf7Nnb7LZSF7p65cPh+xhWOi7fYV7uGd5rN8Lip1LE 5/hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=VVxdAwmAcgBJ5goLDjp0FxpktrqejXTjL0qHZZqWCx0=; b=YEDJtkYv9ko6jEfg5KmG7F5yHWv1e8ydSnafQejA+6WhYf3gmhTwOEIj9Sv32pA0sX moC1sBdfTuX9u8YoaGVA9zPHOd2oD5kwBu/CYbNC79qbc2GzMGJqZXVqbMg4k5qvYS7c 4RfQuc8xWvoz3FGFwfJxTjfAkDtEefnSoCU0QDg4HGSc17ldA8D77Mlcfcw4iG08FDzM Uqg9uRImIo/gnJ0jfjpregMfcaMbUBEMzJWE+d2Wh84Rhn5qZ2tPoxcZEDDnuxQ3fO9J kbFyOQ9xDIivfKSJhFUoec77p61gUaBU5BTE+ixynIeB0NYAjGxkbtPm3E/sSRqWp+oA cfXg== X-Gm-Message-State: AG10YOTkAfiZE2IpztoGO9SKrKkp+XAOzWsVDRuoRMZzv5AkYc237A+XUSYeGktVURouDQVc X-Received: by 10.66.162.164 with SMTP id yb4mr15565470pab.94.1454092001383; Fri, 29 Jan 2016 10:26:41 -0800 (PST) Received: from santosh-Latitude-E5530-non-vPro.mvista.com ([106.51.29.23]) by smtp.gmail.com with ESMTPSA id ze5sm25154692pac.32.2016.01.29.10.26.20 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 29 Jan 2016 10:26:40 -0800 (PST) From: Santosh Shukla To: dev@dpdk.org Date: Fri, 29 Jan 2016 23:55:50 +0530 Message-Id: <1454091950-32367-1-git-send-email-sshukla@mvista.com> X-Mailer: git-send-email 1.7.9.5 Subject: [dpdk-dev] [PATCH v6 0/8] Add virtio support for arm/arm64 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: Fri, 29 Jan 2016 18:26:42 -0000 Hi, Patch series to allow access to virtio using vfio interface. Tested for vfio-noiommu mode for x86_64/arm64{thunderX} platform. patch series builds successfully for armv7/v8/x86_64/i686. Patchset rebased on yuan's under review virtio-1.0 v2 patchset. Refer my public branch [1] Step to enable vfio-noiommu mode: - modprobe vfio-pci echo 1 > /sys/module/vfio/parameters/enable_unsafe_* - then bind ./tools/dpdk_nic_bind.py -b vfio-pci 0000:00:03.0 - Testpmd application to try out for: ./app/testpmd -c 0x3 -n 4 -- -i --portmask=0x0 --nb-cores=1 --port-topology=chained On host side ping to tapX interface and observe pkt_cnt on guest side. v5-->v6: - Removed KDRV_NOIOMMU mode - patchseries aligned in topic-wise ordered way - Introduced virtio_io.h; has in/out api, and header file sys/io.h - Renamed virtio_vfio_rw.h to virtio_vfio_io.h, renamed ioport_in/out{b,w,l} to vfio_in/out{b,w,l} v4 --> v5: - Introducing RTE_KDRV_VFIO_NOIOMMU driver mode - Incorporated v4 review comments, Pl. refer each patchset for review change. For older version(v4.. v1) patch history, refer [2]. Thanks. [1] https://github.com/sshukla82/dpdk.git branch virtio-vfio-v6-review [2] http://comments.gmane.org/gmane.comp.networking.dpdk.devel/31402 Santosh Shukla (8): eal: pci: add api to rd/wr pci bar region linuxapp/vfio: ignore mapping for ioport region eal/linux: never check iopl for arm virtio: Introduce config RTE_VIRTIO_INC_VECTOR virtio: move io header and api from virtio_pci.h virtio: add vfio api to rd/wr ioport space virtio: extend pci rw api for vfio virtio: do not parse if interface is vfio config/common_linuxapp | 1 + config/defconfig_arm-armv7a-linuxapp-gcc | 4 +- config/defconfig_arm64-armv8a-linuxapp-gcc | 4 +- config/defconfig_i686-native-linuxapp-gcc | 1 + config/defconfig_i686-native-linuxapp-icc | 1 + drivers/net/virtio/Makefile | 2 +- drivers/net/virtio/virtio_io.h | 114 +++++++++++++++++++++++ drivers/net/virtio/virtio_pci.c | 113 +++++++++++++++++++--- drivers/net/virtio/virtio_pci.h | 30 ------ drivers/net/virtio/virtio_rxtx.c | 16 +++- drivers/net/virtio/virtio_rxtx.h | 2 + drivers/net/virtio/virtio_vfio_io.h | 104 +++++++++++++++++++++ lib/librte_eal/bsdapp/eal/eal_pci.c | 19 ++++ lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 + lib/librte_eal/common/include/rte_pci.h | 38 ++++++++ lib/librte_eal/linuxapp/eal/eal.c | 2 + lib/librte_eal/linuxapp/eal/eal_pci.c | 34 +++++++ lib/librte_eal/linuxapp/eal/eal_pci_init.h | 6 ++ lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 48 ++++++++++ lib/librte_eal/linuxapp/eal/rte_eal_version.map | 3 + 20 files changed, 498 insertions(+), 47 deletions(-) create mode 100644 drivers/net/virtio/virtio_io.h create mode 100644 drivers/net/virtio/virtio_vfio_io.h -- 1.7.9.5