On 04.09.24 12:37, Juraj Marcin wrote:
> Currently, the virtio-mem device would unplug all the memory with any
> reset request, including when the machine wakes up from a suspended
> state (deep sleep). This would lead to a loss of the contents of the
> guest memory and therefore is disabled by the virtio-mem Linux Kernel
> driver unless the VIRTIO_MEM_F_PERSISTENT_SUSPEND virtio feature is
> exposed. [1]
>
> To make deep sleep with virtio-mem possible, we need to differentiate
> cold start reset from wake-up reset. The first patch updates
> qemu_system_reset() and MachineClass children to accept ResetType
> instead of ShutdownCause, which then could be passed down the device
> tree. The second patch then introduces the new reset type for the
> wake-up event and updates the i386 wake-up method (only architecture
> using the explicit wake-up method).
>
> The third patch replaces LegacyReset with the Resettable interface in
> virtio-mem, so the memory device can access the reset type in the hold
> phase. The last patch of the series implements the final support in the
> hold phase of the virtio-mem reset callback and exposes
> VIRTIO_MEM_F_PERSISTENT_SUSPEND to the kernel.
>
> [1]: https://lore.kernel.org/all/20240318120645.105664-1-david@redhat.com/
Thanks, I'll queue this to
https://github.com/davidhildenbrand/qemu.git mem-next
@Peter, it would be great if you could have another look at patch #2,
thanks.
--
Cheers,
David / dhildenb