qemu-cr16/hw/block
Stefan Hajnoczi 1e9181dc52 virtio: unify virtio_notify_irqfd() and virtio_notify()
The difference between these two functions:
- virtio_notify() uses the interrupt code path (MSI or classic IRQs)
- virtio_notify_irqfd() uses guest notifiers (irqfds)

virtio_notify() can only be called with the BQL held because the
interrupt code path requires the BQL. Device models use
virtio_notify_irqfd() from IOThreads since the BQL is not held.

The two functions can be unified by pushing down the if
(qemu_in_iothread()) check from virtio-blk and virtio-scsi into core
virtio code. This is in preparation for the next commit that will add
irqfd support to virtio_notify_config() and where it's unattractive to
introduce another irqfd-only API for device model callers.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20250922220149.498967-3-stefanha@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2025-10-05 09:01:08 -04:00
..
dataplane
block.c
cdrom.c
fdc-internal.h
fdc-isa.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
fdc-sysbus.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fdc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hd-geometry.c qemu: Declare all load/store helper in 'qemu/bswap.h' 2025-07-15 02:56:39 -04:00
Kconfig hw/block: Drop unused nand.c 2025-05-29 17:45:13 +01:00
m25p80.c qom: Constify TypeInfo::class_data 2025-04-25 17:00:41 +02:00
m25p80_sfdp.c
m25p80_sfdp.h
meson.build hw/virtio: Build various files once 2025-07-15 02:56:39 -04:00
pflash_cfi01.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pflash_cfi02.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
swim.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
trace-events
trace.h
vhost-user-blk.c vhost-user-blk: add an option to skip GET_VRING_BASE for force shutdown 2025-07-14 09:16:40 -04:00
virtio-blk-common.c
virtio-blk.c virtio: unify virtio_notify_irqfd() and virtio_notify() 2025-10-05 09:01:08 -04:00
xen-block.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xen_blkif.h