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. As Jason suggested, I simplified the "vdpa: split vdpasim to core and net modules" patch, moving some changes out in small patches. @Max: I put your Co-developed-by and Signed-off-by tags on these patches, let me know if it is okay for you, or if there is a better way to give credit to your work! v1: https://lists.linuxfoundation.org/pipermail/virtualization/2020-November/050677.html v2: - moved most of the patches before the vdpa-core/net split [Jason] - removed unnecessary headers - removed 'default n' in Kconfig entries [Jason] - added VDPASIM_IOTLB_LIMIT macro [Jason] - set vringh notify callback [Jason] - used VIRTIO terminology for in_iov/out_iov [Stefan] - simplified "vdpa: split vdpasim to core and net modules" patch, moving some changes out in small patches - left batch_mapping module parameter in the core [Jason] Max Gurtovoy (2): vdpa_sim: remove hard-coded virtq count vdpa: split vdpasim to core and net modules Stefano Garzarella (15): vdpa: remove unnecessary 'default n' in Kconfig entries vdpa_sim: remove unnecessary headers inclusion 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: 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 | 103 ++++++++++ drivers/vdpa/vdpa_sim/vdpa_sim.c | 290 +++++++-------------------- drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 171 ++++++++++++++++ drivers/vdpa/Kconfig | 16 +- drivers/vdpa/vdpa_sim/Makefile | 1 + 5 files changed, 351 insertions(+), 230 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 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization