Hi all: This series tries to implement a vDPA driver for virtio-pci device which will bridge between vDPA bus and virtio-pci device. This could be used for future feature prototyping and testing. Please review Changes since V2: - tweak config prompt - switch from 'cb' to 'config_cb' for vp_vdpa config interrupt - use a macro for vp_vdpa msix name length Changes since V1: - don't try to use devres for virtio-pci core - tweak the commit log - split the patches furtherly to ease the reviewing Changes since RFC: - Split common codes from virito-pci and share it with vDPA driver - Use dynamic id in order to be less confusing with virtio-pci driver - No feature whitelist, supporting any features (mq, config etc) Thanks Jason Wang (19): virtio-pci: do not access iomem via struct virtio_pci_device directly virtio-pci: split out modern device virtio-pci-modern: factor out modern device initialization logic virtio-pci-modern: introduce vp_modern_remove() virtio-pci-modern: introduce helper to set config vector virtio-pci-modern: introduce helpers for setting and getting status virtio-pci-modern: introduce helpers for setting and getting features virtio-pci-modern: introduce vp_modern_generation() virtio-pci-modern: introduce vp_modern_set_queue_vector() virtio-pci-modern: introduce vp_modern_queue_address() virtio-pci-modern: introduce helper to set/get queue_enable virtio-pci-modern: introduce helper for setting/geting queue size virtio-pci-modern: introduce helper for getting queue nums virtio-pci-modern: introduce helper to get notification offset virito-pci-modern: rename map_capability() to vp_modern_map_capability() virtio-pci: introduce modern device module vdpa: set the virtqueue num during register virtio_vdpa: don't warn when fail to disable vq vdpa: introduce virtio pci driver drivers/vdpa/Kconfig | 6 + drivers/vdpa/Makefile | 1 + drivers/vdpa/ifcvf/ifcvf_main.c | 5 +- drivers/vdpa/mlx5/net/mlx5_vnet.c | 5 +- drivers/vdpa/vdpa.c | 8 +- drivers/vdpa/vdpa_sim/vdpa_sim.c | 4 +- drivers/vdpa/virtio_pci/Makefile | 2 + drivers/vdpa/virtio_pci/vp_vdpa.c | 456 +++++++++++++++++++ drivers/virtio/Kconfig | 10 +- drivers/virtio/Makefile | 1 + drivers/virtio/virtio_pci_common.h | 22 +- drivers/virtio/virtio_pci_modern.c | 506 +++------------------ drivers/virtio/virtio_pci_modern_dev.c | 599 +++++++++++++++++++++++++ drivers/virtio/virtio_vdpa.c | 3 +- include/linux/vdpa.h | 7 +- include/linux/virtio_pci_modern.h | 111 +++++ 16 files changed, 1274 insertions(+), 472 deletions(-) create mode 100644 drivers/vdpa/virtio_pci/Makefile create mode 100644 drivers/vdpa/virtio_pci/vp_vdpa.c create mode 100644 drivers/virtio/virtio_pci_modern_dev.c create mode 100644 include/linux/virtio_pci_modern.h -- 2.25.1 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization