[dpdk-dev] [PATCH v7 0/4] Add virtio support for arm/arm64

Santosh Shukla sshukla at mvista.com
Sun Feb 7 14:51:04 CET 2016


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.

Note: Rebased on David(s) recent patch series titled "rework virtio for ioport".

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.

v6-->v7:
- added support for vfio map/umap/rd/wr method for linuxapp.
- Tested for x86 / arm64{thunderX} vfio mode both.

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 (4):
  eal/linux: never check iopl for arm
  virtio: Introduce config RTE_VIRTIO_INC_VECTOR
  eal/linux: vfio: ignore mapping for ioport region
  eal/linux: vfio: add pci ioport support

 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_rxtx.c           |   16 ++++++-
 drivers/net/virtio/virtio_rxtx.h           |    2 +
 lib/librte_eal/linuxapp/eal/eal.c          |    2 +
 lib/librte_eal/linuxapp/eal/eal_pci_vfio.c |   68 ++++++++++++++++++++++------
 10 files changed, 83 insertions(+), 18 deletions(-)

-- 
1.7.9.5



More information about the dev mailing list