these patches are add the support for configure interrupt These code are all tested in vp-vdpa (support configure interrupt) vdpa_sim (not support configure interrupt), virtio tap device
test in virtio-pci bus and virtio-mmio bus Change in v2: Add support for virtio-mmio bus active the notifier while the backend support configure interrupt misc fixes form v1 Change in v3 fix the coding style problems Change in v4 misc fixes form v3 merge the set_config_notifier to set_guest_notifier when vdpa start, check the feature by VIRTIO_NET_F_STATUS Change in v5 misc fixes form v4 split the code for introduce configure interrupt type and callback function will init the configure interrupt in all virtio-pci and virtio-mmio bus, but will only active while using vhost-vdpa driver Change in v6 misc fixes form v5 decouple virtqueue from interrupt setting and misc process fix the bug in virtio_net_handle_rx use -1 as the queue number to identify if the interrupt is configure interrupt Change in v7 misc fixes form v6 decouple virtqueue from interrupt setting and misc process decouple virtqueue from verctor use/release process decouple virtqueue from set notifier fd handler process move config_notifier and masked_config_notifier to VirtIODevice fix the bug in virtio_net_handle_rx, add more information add VIRTIO_CONFIG_IRQ_IDX as the queue number to identify if the interrupt is configure interrupt Change in v8 misc fixes form v7 decouple virtqueue from interrupt setting and misc process decouple virtqueue from verctor use/release process decouple virtqueue from set notifier fd handler process move the vhost configure interrpt to vhost_net Cindy Lu (9): virtio: introduce macro IRTIO_CONFIG_IRQ_IDX virtio-pci:decouple virtqueue from interrupt setting process vhost: add new call back function for config interrupt vhost-vdpa: add support for config interrupt call back vhost-net:add support for configure interrupt virtio-mmio: add support for configure interrupt virtio-pci: decouple notifier from interrupt process virtio-pci:decouple the single vector from the interrupt process virtio-pci: add support for configure interrupt hw/display/vhost-user-gpu.c | 6 + hw/net/vhost_net.c | 36 ++++++ hw/net/virtio-net.c | 16 ++- hw/virtio/trace-events | 2 + hw/virtio/vhost-user-fs.c | 9 +- hw/virtio/vhost-vdpa.c | 7 + hw/virtio/vhost-vsock-common.c | 6 + hw/virtio/vhost.c | 44 +++++++ hw/virtio/virtio-crypto.c | 6 + hw/virtio/virtio-mmio.c | 26 ++++ hw/virtio/virtio-pci.c | 207 ++++++++++++++++++------------ hw/virtio/virtio.c | 33 ++++- include/hw/virtio/vhost-backend.h | 3 + include/hw/virtio/vhost.h | 2 + include/hw/virtio/virtio.h | 7 + include/net/vhost_net.h | 3 + 16 files changed, 326 insertions(+), 87 deletions(-) -- 2.21.3