[PATCH v3 00/19] vdpa: generalize vdpa simulator

From: Stefano Garzarella
Date: Thu Dec 03 2020 - 12:06:50 EST


This series moves the network device simulator in a new module
(vdpa_sim_net) and leaves the generic functions in the vdpa_sim core
module, allowing the possibility to add new vDPA device simulators.

For now I removed the vdpa-blk simulator patches, since I'm still working
on them and debugging the iotlb issues.

Thanks to Max that started this work! I took his patches and extended a bit.

v1: https://lists.linuxfoundation.org/pipermail/virtualization/2020-November/050677.html
v2: https://lists.linuxfoundation.org/pipermail/virtualization/2020-November/051036.html

v3:
- avoided to remove some headers with structures and functions directly
used [Jason]
- defined VHOST_IOTLB_UNLIMITED macro in vhost_iotlb.h [Jason]
- added set_config callback in vdpasim_dev_attr [Jason]
- cleared notify during reset [Jason]

Max Gurtovoy (2):
vdpa_sim: remove hard-coded virtq count
vdpa: split vdpasim to core and net modules

Stefano Garzarella (17):
vdpa: remove unnecessary 'default n' in Kconfig entries
vdpa_sim: remove unnecessary headers inclusion
vhost/iotlb: add VHOST_IOTLB_UNLIMITED macro
vdpa_sim: remove the limit of IOTLB entries
vdpa_sim: rename vdpasim_config_ops variables
vdpa_sim: add struct vdpasim_dev_attr for device attributes
vdpa_sim: add device id field in vdpasim_dev_attr
vdpa_sim: add supported_features field in vdpasim_dev_attr
vdpa_sim: add work_fn in vdpasim_dev_attr
vdpa_sim: store parsed MAC address in a buffer
vdpa_sim: make 'config' generic and usable for any device type
vdpa_sim: add get_config callback in vdpasim_dev_attr
vdpa_sim: add set_config callback in vdpasim_dev_attr
vdpa_sim: set vringh notify callback
vdpa_sim: use kvmalloc to allocate vdpasim->buffer
vdpa_sim: make vdpasim->buffer size configurable
vdpa_sim: split vdpasim_virtqueue's iov field in out_iov and in_iov

drivers/vdpa/vdpa_sim/vdpa_sim.h | 105 ++++++++++
include/linux/vhost_iotlb.h | 2 +
drivers/vdpa/vdpa_sim/vdpa_sim.c | 301 +++++++--------------------
drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 171 +++++++++++++++
drivers/vhost/iotlb.c | 3 +-
drivers/vdpa/Kconfig | 16 +-
drivers/vdpa/vdpa_sim/Makefile | 1 +
7 files changed, 368 insertions(+), 231 deletions(-)
create mode 100644 drivers/vdpa/vdpa_sim/vdpa_sim.h
create mode 100644 drivers/vdpa/vdpa_sim/vdpa_sim_net.c

--
2.26.2