The work on virtio endianness unveiled the need to add new properties to VirtIODevice and be able to migrate without breaking compatibility. There was a similar concern with the introduction of a VirtIODevice.broken property.
This patch set is a tentative to address the issue, following a suggestion from Alex: - patches 1 to 7 adds optional subsections in the virtio migration stream - patch 8 belongs to the virtio endianness serie, it is sent as an example Thanks for your comments. --- Greg Kurz (8): virtio: add subsections to the migration stream virtio-net: migrate subsections virtio-blk: migrate subsections virtio-scsi: migrate subsections virtio-serial: migrate subsections virtio-balloon: migrate subsections virtio-rng: migrate subsections virtio: add endian-ambivalent support to VirtIODevice exec.c | 8 --- hw/block/virtio-blk.c | 4 + hw/char/virtio-serial-bus.c | 10 ++- hw/net/virtio-net.c | 7 ++ hw/scsi/virtio-scsi.c | 3 + hw/virtio/virtio-balloon.c | 4 + hw/virtio/virtio-pci.c | 11 +--- hw/virtio/virtio-rng.c | 13 ++++ hw/virtio/virtio.c | 129 +++++++++++++++++++++++++++++++++++++++---- include/exec/cpu-common.h | 1 include/hw/virtio/virtio.h | 17 ++++++ 11 files changed, 175 insertions(+), 32 deletions(-) -- Greg