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: https://lists.linuxfoundation.org/pipermail/virtualization/2020-December/051195.html v4: - rebased on Linux v5.10 - checked better which headers are not directly used [Randy] - removed patches that set unlimited iotlb and added a module parameter [Jason] - explained in the commit message that .get_config stuff moving is safe [Jason] - fixed typo in Kconfig (s/loop/loops) [Randy] Max Gurtovoy (2): vdpa_sim: remove hard-coded virtq count vdpa: split vdpasim to core and net modules Stefano Garzarella (16): vdpa: remove unnecessary 'default n' in Kconfig entries vdpa_sim: remove unnecessary headers inclusion vdpa_sim: make IOTLB entries limit configurable 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 ++++++++++ drivers/vdpa/vdpa_sim/vdpa_sim.c | 298 ++++++++------------------- drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 177 ++++++++++++++++ drivers/vdpa/Kconfig | 16 +- drivers/vdpa/vdpa_sim/Makefile | 1 + 5 files changed, 374 insertions(+), 223 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