diff options
author | Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru> | 2021-05-17 16:06:28 +0300 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2021-07-02 10:20:13 -0400 |
commit | 3909c079454a49b113c60a5cd91d749f78ca1c7f (patch) | |
tree | a2296c33fb1fb171423125c89e9ac388993ca818 /hw/virtio/virtio-mmio.c | |
parent | 9c2647f75004c4f7d64c9c0ec55f8c6f0739a8b1 (diff) | |
download | qemu-3909c079454a49b113c60a5cd91d749f78ca1c7f.zip qemu-3909c079454a49b113c60a5cd91d749f78ca1c7f.tar.gz qemu-3909c079454a49b113c60a5cd91d749f78ca1c7f.tar.bz2 |
virtio: disable ioeventfd for record/replay
virtio devices support separate iothreads waiting for
events from file descriptors. These are asynchronous
events that can't be recorded and replayed, therefore
this patch disables ioeventfd for all devices when
record or replay is enabled.
Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Message-Id: <162125678869.1252810.4317416444097392406.stgit@pasha-ThinkPad-X280>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/virtio/virtio-mmio.c')
-rw-r--r-- | hw/virtio/virtio-mmio.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c index 5952471..1af48a1 100644 --- a/hw/virtio/virtio-mmio.c +++ b/hw/virtio/virtio-mmio.c @@ -29,6 +29,7 @@ #include "qemu/host-utils.h" #include "qemu/module.h" #include "sysemu/kvm.h" +#include "sysemu/replay.h" #include "hw/virtio/virtio-mmio.h" #include "qemu/error-report.h" #include "qemu/log.h" @@ -740,6 +741,11 @@ static void virtio_mmio_realizefn(DeviceState *d, Error **errp) proxy->flags &= ~VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD; } + /* fd-based ioevents can't be synchronized in record/replay */ + if (replay_mode != REPLAY_MODE_NONE) { + proxy->flags &= ~VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD; + } + if (proxy->legacy) { memory_region_init_io(&proxy->iomem, OBJECT(d), &virtio_legacy_mem_ops, proxy, |