Hi, This hopefully fixes the problems with VirtIO migration caused by the previous refactoring of virtio_device_started(). That introduced a different order of checking which didn't give the VM state primacy but wasn't noticed as we don't properly exercise VirtIO device migration and caused issues when dev->started wasn't checked in the core code. The introduction of virtio_device_should_start() split the overloaded function up but the broken order still remained. The series finally fixes that by restoring the original semantics but with the cleaned up functions.
I've added more documentation to the various structures involved as well as the functions. There is still some inconsistencies in the VirtIO code between different devices but I think that can be looked at over the 8.0 cycle. Alex Bennée (2): include/hw: attempt to document VirtIO feature variables include/hw: VM state takes precedence in virtio_device_should_start include/hw/virtio/vhost.h | 25 +++++++++++++++++++--- include/hw/virtio/virtio.h | 43 ++++++++++++++++++++++++++++++++------ 2 files changed, 59 insertions(+), 9 deletions(-) -- 2.34.1