virtio-mem: Add support for suspend+wake-up with plugged memory
authorJuraj Marcin <jmarcin@redhat.com>
Wed, 4 Sep 2024 10:37:15 +0000 (12:37 +0200)
committerDavid Hildenbrand <david@redhat.com>
Tue, 24 Sep 2024 09:33:35 +0000 (11:33 +0200)
commit1f5f49056d0f140568805d66f33396ed5cd90369
treeaac0aa83cbe297e381c8e96ac4d3c46b14f73011
parentc009a311e93963860cfba917605a4bf903a06bce
virtio-mem: Add support for suspend+wake-up with plugged memory

Before, the virtio-mem device would unplug all the memory with any reset
of the device, including during the wake-up of the guest from a
suspended state. Due to this, the virtio-mem driver in the Linux kernel
disallowed suspend-to-ram requests in the guest when the
VIRTIO_MEM_F_PERSISTENT_SUSPEND feature is not exposed by QEMU.

This patch adds the code to skip the reset on wake-up and exposes
theVIRTIO_MEM_F_PERSISTENT_SUSPEND feature to the guest kernel driver
when suspending is possible in QEMU (currently only x86).

Message-ID: <20240904103722.946194-5-jmarcin@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Juraj Marcin <jmarcin@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
hw/virtio/virtio-mem.c
hw/virtio/virtio-qmp.c